有点奇怪的问题,我正在构建一个对视频进行转码并将其流式传输到 WiiU 的服务器。
WiiU 似乎对 HTTP Live Streams 有很好的支持,但我遇到了一个问题,即视频流的播放速度比预期的快 3 倍(音频以正常速率播放)。
我想我的 ffmpeg 命令出了点问题,但是如果我让流运行(所以 WiiU 抓取的第一个片段实际上不是第一个片段)在我实际连接到它之前,WiiU 将在正常率!
这是我一直在使用的 ffmpeg 命令(post-shlex breakup):
['./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 放入第一个文件的东西(并且只有第一个文件...)