Play logs

From A-SMIL.org
Revision as of 02:03, 12 July 2010 by SMIL T.A. (Talk | contribs)

Jump to: navigation, search

A-SMIL players can report proof-of-play records as media files are played. The reports can be placed into a WebDAV folder or passed to a CGI hanlder that collects the information.

Designating a URL to the Log Storage

In your SMIL script, you need to add a section to your head section to define where the media player should upload its logs. A typical definition looks like this.

<head>
  <metadata>
    <x-server xmlns="http://schemas.adfotain.org/adapi-1.0">
      <subscriptionList>
        <subscription>
          <type>PlaylogCollection</type>
          <action>http://server/webdav_path</action>
          <method>put</method> 
        </subscription>
      </subscriptionList>
    </x-server>
  </metadata>
</head>

Here "http://server/webdav_path" is the path to the WebDAV-enabled direction on your log server.

A log file in the format playerlog-{time-based-uuid}.xml will be placed in the server path.

If your server does not support WebDAV, you can simulate the same by implementing a server-side script to handle an HTTP PUT against the URL http://server/webdav_path/playerlog-{time-based-uuid}.xml. Since the URL is dynamic and time-based, you will need to employ URL rewrite techniques in your server configuration to redirect the PUT request to your handler. Popular servers including Apache and Microsoft IIS do provide support for URL rewriting. Consult your web server documentation for details.

Designating a Log ID to a Media File

By default, playbacks of media files are not logged. If you want to report a play log when a media file is played, you need to specify so in your SMIL script. The following example illustrates how to assign a log ID to a video file so a log is generated when it is played.

<video src="http://server/video.mpg">
  <param name="logContentId" value="uuid-video" />
</video>

In the example above, uuid-video is a ID string that you can arbitrarily assign so when the video is played, a record is sent to the log server indicating the designated ID is bring played.

Log File Format

A-SMIL uploads log files to the server similar to the POPAI Log Standard 1.0 with several redundant fields removed to optimize network performance. A log file uploaded to the server looks like this.

<report xmlns="http://schemas.adfotain.org/adapi-1.0">
  <date>{createDate}</date>
  <version>1.0</version>
  <player id="{playerId}" multi-channel="true">
    <contentPlayLog displayDeviceId="display:0">
      <contentPlayed>
        <contentId>{log-id}</contentId>
        <startTime>{start-time}</startTime>
        <endTime>{end-time}</endTime>
      </contentPlayed>
      <!-- ... more contentPlayed records -->
    </contentPlayLog>
  </player>
</report>

Related