Ios 如何在Gstreamer中构建hls视频(AES加密与否)的管道
我是gstreamer的新手。我想通过gstreamer实现一个iOS应用程序来播放hls视频。我使用的是1.6.2版。我在互联网上学习了一些教程,因此获得了以下信息:Ios 如何在Gstreamer中构建hls视频(AES加密与否)的管道,ios,video,encryption,gstreamer,http-live-streaming,Ios,Video,Encryption,Gstreamer,Http Live Streaming,我是gstreamer的新手。我想通过gstreamer实现一个iOS应用程序来播放hls视频。我使用的是1.6.2版。我在互联网上学习了一些教程,因此获得了以下信息: souphttpsrc location=some_m3u8_url!hlsdemux!tsdemux name=mux mux!队列h264parse!avdec_h264!自动视频接收多路复用器!队列啊!法德!自动音频接收器 我发现一些hls视频URL需要测试,但奇怪的是,它部分工作。 有时,它会在几秒钟内播放视频,然后停止
souphttpsrc location=some_m3u8_url!hlsdemux!tsdemux name=mux mux!队列h264parse!avdec_h264!自动视频接收多路复用器!队列啊!法德!自动音频接收器
我发现一些hls视频URL需要测试,但奇怪的是,它部分工作。有时,它会在几秒钟内播放视频,然后停止播放,并给出:
从元素hlsdemux0接收到的错误:内部数据流错误。
有时它不播放视频,只显示视频的第一帧 我还尝试了
playbin
和decodebin
,但都不起作用。错误消息如下:缓冲4%
缓冲8%
从元素hlsdemux0接收到错误:GStreamer遇到一般流错误
这种错误让我心烦意乱了好几个星期,我找不到任何帮助。此外,我还需要播放加密视频,但我不知道该功能是否集成
希望有人能帮助我或给我一些建议。非常感谢
PS:Dev环境:Xcode 7.3,iOS 9.3.1(ipad)。几个月前我找到了解决方案,它工作得非常好。所以我把它贴出来,以防有人需要
souphttpsrc name=src!hlsdemux!tsdemux名称=u!队列h264parse!avdec_h264!自动视频接收器!队列啊!法德!音频转换!音频重采样!自动音频接收器
当然,对于那些没有太多定制需求的用户,您可以使用playbin或uridecodebin。我几个月前就找到了解决方案,效果非常好。所以我把它贴出来,以防有人需要
souphttpsrc name=src!hlsdemux!tsdemux名称=u!队列h264parse!avdec_h264!自动视频接收器!队列啊!法德!音频转换!音频重采样!自动音频接收器
当然,对于那些不太需要定制的用户,您可以使用playbin或uridecodebin。您可以升级到1.6.4吗?我想有一些错误修正。。您还可以使用缓冲区大小和更大的缓冲区,也可以使用更简单的管道,使用
uridecodebin uri=somelocation buffer size=10000000 name=u!自动视频接收器。autoaudiosink
或类似的东西。@otopolsky感谢您的建议。我更新了,但没有更好的。它一直缓冲到98%,然后停止并停留在第一帧。无论我如何改变缓冲区大小,我都无法播放它。你能升级到1.6.4吗?我想有一些错误修正。。您还可以使用缓冲区大小和更大的缓冲区,也可以使用更简单的管道,使用uridecodebin uri=somelocation buffer size=10000000 name=u!自动视频接收器。autoaudiosink
或类似的东西。@otopolsky感谢您的建议。我更新了,但没有更好的。它一直缓冲到98%,然后停止并停留在第一帧。无论我如何改变缓冲区大小,我都无法播放它。