Ffmpeg 如果HTTP Live stream在开始时启动,则视频流播放速度过快

Ffmpeg 如果HTTP Live stream在开始时启动,则视频流播放速度过快,ffmpeg,video-streaming,html5-video,http-live-streaming,transcoding,Ffmpeg,Video Streaming,Html5 Video,Http Live Streaming,Transcoding,这是一个奇怪的问题,我正在构建一个服务器,可以对视频进行转码并将其传输到WiiU WiiU似乎对HTTP实时流有很好的支持,但我遇到了一个问题,视频流的播放速度比预期的快3倍,音频以正常速率播放 我想我的ffmpeg命令出了问题,但是如果我让流运行,那么WiiU抓取的第一段实际上不是我实际连接到它之前的第一段,WiiU将以正常速率播放视频 下面是我在使用post-shlex breakup时使用的ffmpeg命令: ['./ffmpeg'、'-threads'、'-4'、'-i'、'../../

这是一个奇怪的问题,我正在构建一个服务器,可以对视频进行转码并将其传输到WiiU

WiiU似乎对HTTP实时流有很好的支持,但我遇到了一个问题,视频流的播放速度比预期的快3倍,音频以正常速率播放

我想我的ffmpeg命令出了问题,但是如果我让流运行,那么WiiU抓取的第一段实际上不是我实际连接到它之前的第一段,WiiU将以正常速率播放视频

下面是我在使用post-shlex breakup时使用的ffmpeg命令:

['./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'、'-flags'、'-global"全局"头'、'-strict'、's'、's'、'restrict'、'restrict'、's'、's'、'实验性'、's'、's'、's'、's'输入时间“,”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可以播放流文件

知道发生了什么吗

如果这是一个我不得不解决的bug,有什么建议吗


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

尝试更改“-preset”,“fast”或“medium”?

尝试添加-re作为输入选项,尽管我不确定这是否是一个好的建议。您可以省略-threads,因为默认值是自动确定一个适当的基于帧的线程数:1.5*逻辑处理器,向下舍入,除非您特别希望值为4。-re只是减慢转码速度,对输出的帧速率没有影响。现在省略了threads没有不管怎样,似乎有很大的影响。你最近是否更改了ffmpeg版本或其他内容?这可能看起来很有趣,但你能尝试对非mkv进行转码吗?这并不能解决问题,当输出http实时流时,客户端有责任以与正常流不同的正确速度播放文件。这是否发生在所有播放器上?