精准切片技术在HTTP Live Streaming中的应用

4
我正在为我的iPhone应用程序使用HTTP流式传输(符合苹果的要求)。然而,视频切换不精确。每当我寻找视频中的某个时间,它都会跳到最近段的开始时间。这在MPMoviePlayerController和AVPlayer(使用seekToTime:容差为0)中均发生。
其他人是否也遇到了这个问题?有人找到了使用HTTP Live Streaming进行精确切换的方法吗?如果必要,我愿意降低级别。Youtube应用程序可以进行精确切换,但我不认为它使用HTTP Live Streaming。有人能否确认/否认?
更新: 我正在使用默认设置(10秒/块)的mediafilesegmenter。我的主.m3u8如下:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=957267
http://[...].m3u8?file_urlkey=[...]
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=258157
http://[...].m3u8?file_urlkey=[...]
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=53220
http://[...].m3u8?file_urlkey=[...]

个别的 .m3u8 文件看起来像:
#EXTM3U
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:10
#EXTINF:9.9988149305,
http://[...].ts?bytes=0-1195491
#EXTINF:9.9988149305,
http://[...].ts?bytes=1195492-2390983
#EXTINF:9.9988149305,
http://[...].ts?bytes=2390984-3586475
#EXTINF:9.9988149305,
http://[...].ts?bytes=3586476-4781967
#EXTINF:9.9988149305,
http://[...].ts?bytes=4781968-5977459
#EXTINF:0.345925347493,
http://[...].ts?bytes=5977460-6018819
#EXT-X-ENDLIST

谢谢!


Youtube使用渐进式下载。 - dc2009
尝试将编码分成较小的片段! - brendan
2个回答

2

我们正在使用HTTP直播流,并且快进/倒退的功能运行得相当好。你用什么来解码/切片你的视频?因为我认为这更多是播放列表文件(m3u8)的问题,而不是实现本身的问题。


更新了问题以添加更多信息。我的 .m3u8 文件是否与您的相似? - tba
是的。我们也使用了mediafilesegmenter :/ 抱歉帮不了你,伙计。 - Yorxxx
没问题,感谢你迄今为止的帮助!还有一个问题:如果你在应用程序中寻找例如1:07,松开进度条后,刮板是否会倒退5-10秒钟?或者它是否精确到1或2秒? - tba

2

HTTP Live Streaming不支持在片段中间进行查找 -- 我在WWDC上向苹果代表确认过。

但他们表示,在iOS5中将改进查找精度。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接