我正在开发一个网络应用程序,人们可以在其中录制视频。我已经能够成功地将大块的音频和视频发送到服务器,在那里我试图将它们组合起来,并作为一个合适的文件返回。
我的问题是,如果在合并块后录制一个小时
视频长度:1:00:00,音频长度:00:59:30,
现在,这不是音频不被录制的问题(我已经检查过了),问题是,不知何故,当我合并音频块时,它会缩小,
我发现这是一个渐进的同步问题,随着时间的增加,情况越来越糟。
我在网上搜索过解决方案,大多数地方都说async
,我试过使用它,但没有用,下面的用法正确吗?
ffmpeg -i audio.wav -async 1 -i video.webm -y -strict -2 v.mp4
(v.mp4是我提供给用户的最后一个文件。)
找到了一个解决方案(或临时修复,取决于您如何看待它),
它涉及CCD_ 3和CCD_。。。我已经做了音频拉伸(比率<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