Gstreamer HLSSink管道在Safari中显示黑色边框

Gstreamer HLSSink管道在Safari中显示黑色边框,gstreamer,http-live-streaming,gstreamer-1.0,gst-launch-1.0,Gstreamer,Http Live Streaming,Gstreamer 1.0,Gst Launch 1.0,此get-launch-1.0命令行管道:gst-launch-1.0 videotestsrc num buffers=680!x264enc!mpegtsmux!hlssink location=junk2.%05d.ts播放列表位置=junk2.m3u8 此服务器:python-msimplehttpserver 8000 Mac OS X Safari上的此本地url: 显示为在本地Safari浏览器中播放,但显示黑色边框。为什么? 注意:python控制台输出看起来非常满意,因此所有路

get-launch-1.0
命令行管道
gst-launch-1.0 videotestsrc num buffers=680!x264enc!mpegtsmux!hlssink location=junk2.%05d.ts播放列表位置=junk2.m3u8

此服务器
python-msimplehttpserver 8000

Mac OS X Safari上的此本地url

显示为在本地Safari浏览器中播放,但显示黑色边框。为什么?

注意:python控制台输出看起来非常满意,因此所有路径都是正确的:

$ python -m SimpleHTTPServer 8000
Serving HTTP on 0.0.0.0 port 8000 ...
127.0.0.1 - - [25/Apr/2018 11:40:34] "GET /junk2.m3u8 HTTP/1.1" 200 -
127.0.0.1 - - [25/Apr/2018 11:40:34] "GET /junk2.m3u8 HTTP/1.1" 200 -
127.0.0.1 - - [25/Apr/2018 11:40:34] "GET /junk2.00001.ts HTTP/1.1" 200 -
127.0.0.1 - - [25/Apr/2018 11:40:34] "GET /junk2.00000.ts HTTP/1.1" 200 -
注意:还尝试了hlssink插件的各种选项,但没有改变行为:

  • 目标持续时间=2
  • max files=0
  • 播放列表长度=0
其他玩家:在VLC中正确播放和显示:

您的
x264enc
选择了错误的配置文件。如果您不告诉它使用什么,并且在您使用
videotestsrc
的用例中,它将选择
4:4:4
颜色配置文件,而不是
4:2:0
。很多解码器都不支持这一点

告诉
videotestsrc
改为提供
4:2:0
格式:

gst-launch-1.0 videotestsrc num-buffers=680 ! video/x-raw, format=I420 ! x264enc ! mpegtsmux ! hlssink location=junk2.%05d.ts playlist-location=junk2.m3u8

您的
x264enc
选择了错误的配置文件。如果您不告诉它使用什么,并且在您使用
videotestsrc
的用例中,它将选择
4:4:4
颜色配置文件,而不是
4:2:0
。很多解码器都不支持这一点

告诉
videotestsrc
改为提供
4:2:0
格式:

gst-launch-1.0 videotestsrc num-buffers=680 ! video/x-raw, format=I420 ! x264enc ! mpegtsmux ! hlssink location=junk2.%05d.ts playlist-location=junk2.m3u8

谢谢你,弗洛里安。按照你的建议工作。有趣的旁注:我提醒自己在修复格式问题时一定要清除缓存或更改文件名,否则刷新时不会加载新文件。哦,是的,Safari的缓存在跟踪此类问题时没有帮助。谢谢@Florian。按照你的建议工作。有趣的旁注:我提醒自己在修复格式问题时一定要清除缓存或更改文件名,否则刷新时不会加载新文件。哦,是的,Safari的缓存在跟踪此类问题时没有帮助。。