早上好,我创建了我正在测试 HLS 流,并使用命令创建了一个简单的播放列表和视频片段ffmpeg -i C:\Users\funny\Desktop\uscita\out.mp4 -vcodec libx264 -g 24 -hls_time 10 -hls_playlist_type vod -vsync 1 index1.m3u8
。
源视频打开没有问题,ffmpeg 将其编码为 index1,即播放列表文件,index10 index11 index12 是 3 .ts(视频只有 26 秒长)。我安装了 VLC 因为我知道它会打开播放列表文件,所以我可以测试我的 .m3u8,但是当我用 VLC 打开它时,程序开始运行但它不播放任何内容。作为参考,它也是播放列表:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:12
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:11.500000,
index10.ts
#EXTINF:12.000000,
index11.ts
#EXTINF:2.500000,
index12.ts
#EXT-X-ENDLIST
Run Code Online (Sandbox Code Playgroud)
tl;dr:这看起来像是 VLC 的一个错误。使用不同的播放器。
ffmpeg
我可以使用问题中所示创建的一组 HLS 视频文件来重现此问题。这是使用 ffmpeg 4.0.2 和 VLC 3.0.4
症状:
使用 VLC打开.m3u8
文件,我收到错误消息:
自适应解复用器错误:无法创建解复用器(nil)TLS
调试日志表明VLC实际上成功读取了播放列表,并找到了TS文件,但随后出现了问题。
ffplay
但是,我可以使用 MPlayer和MPlayer成功播放文件,因此看起来故障出在 VLC 上。
VLC bugtracker 有一些类似的错误报告,但大多数都相当旧并且据说已修复。我确实通过打开文件的 URL 设法通过 HTTP 播放 HLS 流.m3u8
,因此该错误似乎仅适用于下载的 HLS 流。也许播放本地下载的.m3u8
文件对于 VLC 来说不是一个高优先级,所以只需使用不同的播放器即可。
归档时间: |
|
查看次数: |
6452 次 |
最近记录: |