流媒体技术世界——分享技术,增值服务
如何对用户的播放记录进行采集和统计?
Wowza Stream Engine 4 默认会以匿名方式记录access 或 stats 日志。要让Wowza Stream Engine 4的流传输日志包含用户信息, 首先(1)你必须唯一标识一个用户,其次(2)要将用户的UID作为查询参数添加到流媒体播放URL中,最后(3)在Wowza Media Server的/conf/log4j.properties文件中的access 以及/或 stats Appender 的字段列表中添加x-sname-query字段。这里有一些可选项和细节:

  1. 标识一个用户
    1. 如果你正在使用类似JW Player或Flowplayer播放器,并且有一个CMS或其它web系统中的UID存储在用户浏览器的Cookie中,你可以在你的播放页面用javascript检索出这个UID,然后将它添加到Flash变量file(JW Player)或clip(Flowplayer)上。
      Code:
      file=sample.mp4?uid=123
    2. 对于一个自己开发的Flash客户端,并且有一个CMS或其它web系统中的UID存储在用户浏览器的Cookie中,你可以使用ExternalInterface来检索UID。
      Code:
      import flash.external.ExternalInterface;
      var uid:String = "";
      if (ExternalInterface.available && Application.application.url.search( /http*:/ ) == 0) {
      	uid =  ExternalInterface.call("getUID()");
      	}
      其中getUID 是一个外部的Javascript方法。

    3. 如果没有UID cookie, 这里有2个可选项,可以用于用户认证(需要Flash客户端):
      http://www.wowzamedia.com/forums/con...Authentication
      http://www.wowzamedia.com/forums/con...-password-file

    4. 对于没有采用Flash的客户端播放器。你可以直接在播放URL的后面加上UID



  2. 将UID参数添加到stream name后面
    1. 在使用类似JW Player 或 Flowplayer (就像上面提到的一样),你可以将UID添加在播放器的配置中
      Code:
      file=sample.mp4?uid=123
    2. 在Flash客户端的actionscript代码中,在Netstream.play命令中将UID添加到stream name后面:
      Code:
      netstream.play("mp4:sample.mp4?uid=123");
    3. 在使用Flash HTTP (San Jose)时
      Code:
      http://[wowza-address]:1935/vod/sample.mp4?uid=123/manifest.f4m
    4. 在使用HLS (Cupertino)时
      Code:
      http://[wowza-address]:1935/vod/sample.mp4/playlist.m3u8?uid=123
    5. 在使用RTSP时
      Code:
      rtsp://[wowza-address]:1935/vod/sample.mp4?uid=123

  3. 要在log4j Appender 中添加x-sname-query字段, 请用文本编辑器打开/conf/log4j.properties,找到serverAccess 字段列表,然后在列表的最后添加", x-sname-query":
    Code:
    log4j.appender.serverAccess.layout.Fields=x-severity,x-category,x-event;date,time,c-client-id,c-ip,c-port,cs-bytes,sc-bytes,x-duration,x-sname,x-stream-id,x-spos,sc-stream-bytes,cs-stream-bytes,x-file-size,x-file-length,x-ctx,x-comment, x-sname-query
    在修改log4j.properties文件后,你必须重启Wowza Media Server。

    在测试时, 在Wowza SimpleVideoStreaming 例子播放器上播放一个流:

    Server: rtmp://[wowza-address]:1935/vod
    Stream: mp4:sample.mp4?uid=123

    现在打开访问日志(access log),你找到带有x-sname-query字段"uid=123" 的播放记录。

    如果你希望这条日志记录仅仅出现uid的值,你可以播放 "mp4:sample.mp4?123"


现在,你已经了解了在什么时候、有多少用户、哪些用户、观看了什么内容。

注意: 在使用Microsoft Silverlight smooth streaming时,在url中stream name后面添加UID可能还有些问题,我们正在测试中。

www.ttstream.com

匿名用户
评论

我们的地址


北京市朝阳区管庄西里建基商务楼423室


邮编:100024

关于我们


北京联方信科信息技术有限责任公司


官网:www.ttstream.com

联系我们


王经理:phone


柳经理:phone

京ICP备14033868号-2