2014-09-03 783 views
0

我正在開發一個網絡應用程序,用戶可以在其中錄製視頻。我已經能夠成功地將大塊音頻視頻發送到服務器,我試圖將它們結合起來並作爲單個適當的文件返回。ffmpeg修改音頻長度/大小(伸展或縮小)

我的問題是,如果錄製一個小時,合併塊

視頻長度後:1:00:00,音頻長度:0時59分30秒,

現在,這是不是一個音頻沒有得到記錄的問題(我已檢查),問題是,當我合併音頻塊,它收縮,

我發現它是漸進式同步問題,它變得更糟,隨着時間的增加,情況更糟

我已經搜索了網絡的解決方案,大多數地方說async,我試過使用它,但無濟於事,下面的用法是否正確?

ffmpeg -i audio.wav -async 1 -i video.webm -y -strict -2 v.mp4

(v.mp4是我提供給用戶的最終文件。)

回答

3

找到了解決方案(或臨時固定,取決於你如何看待它),

它涉及的ffmpegffprobe組合...我已經做音頻streching(比< 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