我使用 Bandicam 和 MJPEG 编码器录制了一个视频,以获得最少的延迟。现在,我正在尝试使用 ffmpeg 将该大文件转换为 h264 avi。我知道视频流中有丢帧……前两分钟超过 100 个,我认为这仅仅是因为 Bandicam 在跟不上时丢了一些。因此,当我将文件转换为 h264 时,视频和音频不同步,并且随着输出视频的进行越来越不同步。这是我在 ffmpeg 中的基本命令:
ffmpeg -i "C:\...\input.avi" -vcodec libx264 -q 5 -acodec libmp3lame -ar 44100 -ac 2 -b:a 128k "C:\...\output.avi"
Run Code Online (Sandbox Code Playgroud)
我已经尝试了我能想到的一切,包括:
-itsoffset [-]00:00:01
Run Code Online (Sandbox Code Playgroud)
在输入文件之前和之后都试过这个。这不起作用,因为随着视频的进行,它变得越来越不同步。
-async 1
Run Code Online (Sandbox Code Playgroud)
不起作用。
-vsync 1
Run Code Online (Sandbox Code Playgroud)
不起作用,但它确实显示重复丢失的帧。
同一个文件的两个输入,使用-map 0:0 -map 1:1
. 不起作用。
源播放得很好。任何想法如何使用 ffmpeg 转换它并保持音频和视频同步?谢谢。