我想使用bash腳本將audio.mp3音軌添加到無聲的video.mp4文件中,「cvlc」的正確語法是什麼? 「」ffmpeg「命令行?如何使用VLC或FFMPEG命令行將外部音軌添加到視頻文件
我用VLC和--no-audio選項錄製了視頻,因此沒有可以從原始視頻複製的比特率或編碼等設置。
我想使用bash腳本將audio.mp3音軌添加到無聲的video.mp4文件中,「cvlc」的正確語法是什麼? 「」ffmpeg「命令行?如何使用VLC或FFMPEG命令行將外部音軌添加到視頻文件
我用VLC和--no-audio選項錄製了視頻,因此沒有可以從原始視頻複製的比特率或編碼等設置。
實施例至stream copy,或再多路複用,從video.mp4
(輸入0
)和來自audio.mp3
音頻視頻(輸入1
):
ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -codec copy -shortest out.mp4
這將避免編碼和將因此速度很快,不會影響質量。
你可以告訴ffmpeg的,如果你確實需要重新編碼的大小,或者如果你需要不同的格式比投入使用什麼編碼器。例如重新編碼爲H.264視頻和AAC音頻:
ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -codec:v libx264 \
-preset medium -crf 23 -codec:a aac -b:a 192k -shortest output.mp4
的-map
選項允許你指定你想要的流,例如,-map 0:v
指的是視頻流(S )的第一個輸入。如果你不告訴ffmpeg你想要什麼流,那麼它將使用默認的stream selection,它將爲每個流類型選擇一個流。默認值通常很好,但建議明確,以便獲得預期的結果。
-shortest
選項指示ffmpeg在最短持續時間輸入結束時結束輸出文件。
總是推薦使用最近的ffmpeg版本。最簡單的方法是download a recent ffmpeg build,但您也可以按照guide to compile ffmpeg。
感謝您的回答,我都試過您的建議,並返回以下錯誤信息: _Unrecognized選項「編解碼器' 無法爲選項'codec'設置值'複製'_ 我試過'vcodec'選項,它返回: _Application提供了無效的,非單調遞增的dts到流中的muxer 0:50> = 50_ – Jonathan
@Jonathan你需要顯示你的實際ffmpeg命令和完整的ffmpeg控制檯輸出。 – LordNeckbeard
對於剛剛幫助我使用avconv而不是ffmpeg的東西的快速註釋:因爲avconv實際上是ffmpeg的一個分支,將上面的第一個確切命令行「Stream Copy」直接替換爲「avconv」,只是將其替換爲「ffmpeg」對我來說工作非常好。 HTH! –