我流式传输RTMP和HLS(适用于IOS和android),RTMP video.js显示正确的currentTime。根据我的说法,currentTime应该是流启动的时候,而不是客户端开始查看流的时候。但是,当我使用HLS-stream时,currentTime会在客户端启动流时返回,而不是在流启动时返回(使用安卓、ios或VLC的任何播放器都会得到相同的结果)。
在我的HLS-stream上使用sure,我得到了正确的值,也就是流启动的时间,这让我相信我应该开始查看客户端以找到解决方案,但我还远不确定。
所以请帮助我找到解决这个问题的正确方向。
也就是说,是不是他本质上没有给我正确的currentTime,但奇怪的是,ffprobe给了我正确的答案?
在video.js代码中找不到任何有关如何获取任何其他时间代码的内容。
是我的服务器为HLS生成了错误的SMTPE时间码吗? ffprobe使用其他方法来获得正确的currentTime吗?
无论如何,我只是好奇,我有一个解决办法,通过最初计算使用的碎片,我将至少在5秒内得到,即对我的情况足够好。
感谢您的帮助或意见。
BR David
发布于 2019-01-27 12:12:11
RTMP和HLS的工作方式不同。RTMP始终是流式的,当您订阅流时,您将订阅正在运行的流,因此开始时间将是流启动的时间。
HLS的工作方式不同。当您订阅HLS流时,它会为您创建一个流。因此,当前时间将是HLS流启动的时间,这意味着您订阅了HLS流并创建了HLS流。
https://stackoverflow.com/questions/24198319
复制相似问题