如何计算网络中的确切流媒体持续时间
How to calculate exact streaming duration time in web?
我正在wowza流媒体服务器上运行流媒体。但我无法找到流媒体的确切持续时间。
我正在运行音乐网站,我们在该网站上播放用户本地播放器上的流媒体。对于我们的跟踪,我们希望跟踪用户收听音频的确切持续时间。
正如其他人在评论中所说,无法确定确切的流媒体时间。
不同的客户端在处理流的方式上有不同的行为。考虑浏览器客户端可能预先缓冲数据的情况。如果用户转到一个页面,浏览器开始下载音频数据,服务器会认为客户端正在收听流,而实际上数据只是在内存中。当用户确实开始播放音频时,比如1分钟后,服务器现在认为他们已经听了一分钟。当用户转到新页面时,将断开与服务器的连接,在断开连接的同时停止音频。
在其他情况下,媒体播放器实际上可以在流中暂停,在断开连接之前缓冲数据几秒钟。
你能做的最好的事情就是使用客户端分析,但这在所有情况下都是不可能的,因为你并不总是能够控制客户端,也不是所有的客户端都能够。
您不能在服务器(wowza)端执行此操作。当然可以,但由于缓冲和HTTP流协议的一般工作方式,数据不会准确。
但是,您仍然可以在客户端使用某种javascript来聚合这些数据。
你必须倾听玩家事件,比如播放、暂停、停止,甚至寻找。大多数网络播放器都有回调功能来跟踪这些事件。然后收集数据并将其发送到数据库进行存储。
要获得流的持续时间,您必须开发一个自定义模块。有一个名为onMediaStreamDestroy的事件,使用IMediaStream对象可以获取持续时间。公共类MyMediaStreamListener实现IMediaStreamNotify{@Overridepublic void onMediaStreamDestroy(IMediaStream流){stream.length();//这用于获取视频的长度(以秒为单位)}}
- 在jQuery中,短距离长持续时间的精细字体大小动画
- 创建一个倒计时计时器脚本,该脚本计算声音文件的持续时间,而不是特定的日期
- 输入视频文件时获取视频持续时间
- 无填充的滚动魔术持续时间
- 我需要在每5秒内调用一个函数,并重置持续时间
- jQuery动画的持续时间就像一个延迟
- 如何在特定时间重新加载page.php,例如:07:45.非持续时间,例如:每5秒
- 如何在dhtmlxgantt中显示灯箱中的开始日期、结束日期和持续时间
- Javascript - 具有音高和持续时间控制的文本到语音
- setTimeout() 函数在超时持续时间之前调用
- HTML 5 音频 :是否有在更改缓冲持续时间时触发的事件
- 如何获取所有旅行模式的距离和持续时间,例如驾驶,公交,骑自行车,在我的页面中步行以及将其存储在数据库中
- 当用户在文本框中输入日期时,如何计算一年的持续时间
- 如何使用 Javascript 将持续时间字符串解析为秒
- 速度.js动画两个属性时持续时间不同
- d3 动画中的持续时间
- Webkit-css随持续时间变化
- JS:设置src更改的动画持续时间
- 幻灯片放映中的第一张幻灯片超时(持续时间几乎是其他幻灯片的两倍)
- 如何计算网络中的确切流媒体持续时间