我是gstreamer的新手。我想实现一个iOS应用通过gstreamer播放hls视频。我使用版本1.6.2。我跟着在互联网上的一些教程,所以我得到了下面的管道:如何在Gstreamer中构建hls视频管道(AES加密或不加密)
souphttpsrc location=some_m3u8_url ! hlsdemux ! tsdemux name=mux mux. ! queue ! h264parse ! avdec_h264 ! autovideosink mux. ! queue ! aacparse ! faad ! autoaudiosink
我发现了一些HLS视频要测试的网址,但奇怪的是,这部分的工作。
有时它会在几秒钟内播放视频,然后停止播放:Error received from element hlsdemux0: Internal data stream error.
有时它不会播放视频,只是显示此视频的第一帧。
我也试过playbin
和decodebin
,但他们没有工作。错误信息,如:
Buffering 4%
Buffering 8%
Error received from element hlsdemux0: GStreamer encountered a general stream error
这种错误使我懊恼星期,我找不到任何帮助。此外,我需要的还是播放加密的视频,但我不知道该功能是否已整合。
希望有人能帮助我或给我一些建议。非常感谢!
PS:开发环境:Xcode 7.3,iOS 9.3.1(ipad)。
你能升级到1.6.4吗?我认为有一些错误修正..你也可以玩缓冲区大小和使用更大的缓冲区,也可以使用'uridecodebin uri = somelocation buffer-size = 10000000 name = u u'更简单的管道。 ! autovideosink u。 autoaudiosink'或类似的东西.. – nayana
@otopolsky感谢您的建议。我更新了,但没有更好的。它缓冲到98%,停在第一帧。不管我如何改变缓冲区大小,我都无法播放它。 – Silver