Gstreamer HLSSink 管道在 Safari 中显示黑框
Gstreamer HLSSink Pipeline Displays Black Frames in Safari
这个get-launch-1.0
命令行管道:gst-launch-1.0 videotestsrc num-buffers=680 ! x264enc ! mpegtsmux ! hlssink location=junk2.%05d.ts playlist-location=junk2.m3u8
此服务器:python -m SimpleHTTPServer 8000
这个本地 url 在 Mac OS X Safari: http://localhost:8000/junk2.m3u8
似乎可以在本地 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 插件的各种选项,但没有改变行为:
target-duration=2
max-files=0
playlist-length=0
其他播放器:在VLC中正确播放和显示:
您的 x264enc
select 配置文件错误。如果您不告诉它使用什么,并且在您使用 videotestsrc
的用例中,它将 select 一个 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
这个get-launch-1.0
命令行管道:gst-launch-1.0 videotestsrc num-buffers=680 ! x264enc ! mpegtsmux ! hlssink location=junk2.%05d.ts playlist-location=junk2.m3u8
此服务器:python -m SimpleHTTPServer 8000
这个本地 url 在 Mac OS X Safari: http://localhost:8000/junk2.m3u8
似乎可以在本地 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 插件的各种选项,但没有改变行为:
target-duration=2
max-files=0
playlist-length=0
其他播放器:在VLC中正确播放和显示:
您的 x264enc
select 配置文件错误。如果您不告诉它使用什么,并且在您使用 videotestsrc
的用例中,它将 select 一个 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