FFmpeg修改音频长度/大小(拉伸或缩小)

3
我正在开发一个Web应用程序,人们可以在其中记录视频。我已经成功将音频和视频分块发送到服务器,现在正在尝试将它们合并并返回为单个完整文件。
我的问题是,如果录制时间为一小时,在合并音频碎片后,
视频长度:1:00:00,音频长度:00:59:30,
现在,这不是音频未被记录的问题(我已经检查过),问题是当我合并音频块时,它会缩小,
我发现这是渐进式同步问题,随着时间的增加,问题越来越严重。
我在网上搜索了解决方案,大多数地方都说要使用“async”,我尝试使用它,但没有效果,下面的用法是否正确?
ffmpeg -i audio.wav -async 1 -i video.webm -y -strict -2 v.mp4
(v.mp4是我提供给用户的最终文件。)
1个回答

6
我找到了一个解决方案(或者说是一个临时修复方法,取决于你的看法),它涉及使用ffmpegffprobe的组合...我已经完成了音频拉伸(比率<1)。
ffprobe -i  a.mp3  -show_entries  format=duration  -v quiet  -print_format json
ffprobe -i  v.mp4  -show_entries  format=duration  -v quiet  -print_format json
ffmpeg  -i a.mp3 -filter:a atempo="0.9194791304347826" aSync.mp3   // audio is being stretched. 
ffmpeg  -i aSync.mp3 -i v.mp4 final.mp4 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接