如果HTTP Live stream从一开始就启动,则视频流播放过快



有点奇怪的问题,我正在构建一个服务器,对视频进行转码并将其流式传输到WiiU。

WiiU似乎对HTTP Live Streams有很好的支持,但我遇到了一个问题,视频流的播放速度将比预期快x3左右(音频以正常速率播放)。

我想我的ffmpeg命令出了问题,但如果我在真正连接之前让流运行(所以WiiU抓取的第一个片段实际上不是第一个片段),WiiU将以正常速率播放视频!

以下是我一直在使用的ffmpeg命令(shlex分解后):

['./ffmpeg', '-threads', '4', '-i', '../../Torrents/Breaking.Bad.S05E02.720p.HDTV.x264-ORENJI.mkv', '-map', '0', '-codec:v', 'libx264', '-preset', 'superfast', '-codec:a', 'aac', '-ac', '2', '-crf', '23', '-flags', '-global_header', '-strict', 'experimental', '-f', 'segment', '-segment_list', 'playlist.m3u8', '-segment_list_flags', '+live', '-segment_time', '10', 'tmp/out%03d.ts']

和.m3u8:的前几行

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOWCACHE:1
#EXT-X-TARGETDURATION:10
#EXTINF:11.761756,
tmp/out000.ts
#EXTINF:8.591911,
tmp/out001.ts
#EXTINF:18.810467,
tmp/out002.ts
#EXTINF:7.841178,
...

(PS,VLC+Safari可以播放流文件。)

你知道发生了什么事吗?

如果这是一个我必须解决的错误,有什么建议吗?

刚刚测试了用dummy.ts文件启动流(知道它不会被读取,因为wiiu只在实时模式下读取最后3个文件),它仍然有加速,这意味着它是ffmpeg放在第一个文件(而且只有第一个文件…)中的东西

是否尝试更改'-preset', 'fast','medium'

最新更新