ffmpeg - avi转mp4 : audio is out of sync

标签 ffmpeg

我正在使用 ffmpeg 将视频从 avi 转换为 mp4。
输出 mp4 中的音频/视频不同步。我研究并发现了以下链接,这表明这是 ffmpeg 较新版本的问题:

http://forum.videohelp.com/threads/320342-Audio-out-of-sync-problem-with-FFMPEG-encoding-MP4-%28h-264-AAC%29?p=1983858&viewfull=1#post1983858

我按照建议尝试了构建 18715,并且确实 a/v 是同步的。我以为我会使用这个构建,但后来我意识到输出文件的大小要大得多(大约三分之一)。知道为什么吗?带宽目前是我的应用程序中的一个主要问题。

我正在尝试解决最新版本的同步问题,或者弄清楚如何使用旧版本减少文件的大小。有什么建议么?

编辑:
我用于转换的命令:

ffmpeg -i test.avi -vb 100k -ab 48k -r 20 test.mp4

这是一个非常低的分辨率和非常静态的视频,并且低比特率是足够的(并且在不使用 mp4 时不会导致任何问题)。

最佳答案

尝试添加 -async 1听从你的命令...

来自手册:-async samples_per_second :

音频同步方法。 “拉伸(stretch)/挤压”音频流以匹配时间戳,该参数是每秒更改音频的最大样本数。 -async 1 是一种特殊情况,仅更正音频流的开头而没有任何后续更正。

关于ffmpeg - avi转mp4 : audio is out of sync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7766129/

相关文章:

ffmpeg - 如何创建媒体文件的稳定校验和?

c++ - 从 RTP 流解码 h264 帧

ffmpeg - 使用 FFMPEG 从音频和调整大小的图像创建视频

ffmpeg - 编码一个可读的 H264 4 :2:2 movie by QuickTime using FFMPEG

bash - 生成特殊文件列表

video - 向 ProRes 剪辑添加交叉淡入淡出

ffmpeg - 为什么我的 linux ffmpeg 输出文件需要通过 ffmpeg 运行它才能在 Windows 上播放

ffmpeg - 为视频的时间范围创建缩略图图 block

nginx - 使用 ffmpeg 将 HLS 转码/transmux 到 RTMP 以使 nginx 联播不起作用

ffmpeg - 如何用ffmpeg输出碎片mp4?