如何將影片分割成幀,然後將其與音訊重新組合?

如何將影片分割成幀,然後將其與音訊重新組合?

如何將影片分割成幀,然後將其與音訊重新組合?

我正在使用這個:

要提取幀: ffmpeg -i "video_path" frame%04d.png

擷取音訊: ffmpeg -i video_path -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio_path_output

重新組裝: ffmpeg -i img%04d.png -i "audio_path" -c:v libx264 -r 25 -pix_fmt yuv420p -c:a copy -shortest "video_path_output"

答案1

若要將影片分割成幀,然後將其與音訊重新組合,可以使用 ffmpeg 命令列工具。

要從影片中提取幀,可以使用以下命令:

ffmpeg -i "video_path" frame%04d.png

此命令將從影片中提取幀並將它們保存為單獨的圖像檔案。輸出檔案名稱%04d中的 指定訊框編號,並附有前導零以確保檔案正確排序。

要從視頻中提取音頻,可以使用以下命令:

ffmpeg -i video_path -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio_path_output

此命令將從影片中提取音訊並將其儲存為單獨的 MP3 檔案。

要從幀和音頻重新組合視頻,可以使用以下命令:

ffmpeg -i img%04d.png -i "audio_path" -c:v libx264 -r 25 -pix_fmt yuv420p -c:a copy -shortest "video_path_output"

該命令將以幀和音訊作為輸入,並將它們重新組合成一個新的視訊檔案。-c:v和選項-c:a分別指定用於視訊和音訊的編解碼器。此-r選項指定幀速率,該-pix_fmt選項指定像素格式。此-shortest選項可確保輸出視訊與最短輸入(視訊或音訊)的持續時間相同。

若要將三個命令合併到一個腳本中,您可以使用以下 shell 腳本:

    # Extract frames from video
ffmpeg -i "video_path" frame%04d.png

# Extract audio from video
ffmpeg -i video_path -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio_path_output

# Reassemble video from frames and audio
ffmpeg -i img%04d.png -i "audio_path" -c:v libx264 -r 25 -pix_fmt yuv420p -c:a copy -shortest "video_path_output"

您可以將此腳本儲存到檔案(例如 split_and_reassemble.sh)並使用以下命令執行它:

bash split_and_reassemble.sh

這將按順序執行三個命令,從視頻中提取幀,提取音頻,然後從幀和音頻重新組合視頻。

相關內容