我如何将视频分割成帧,然后将其与音频重新组合?

我如何将视频分割成帧,然后将其与音频重新组合?

我如何将视频分割成帧,然后将其与音频重新组合?

我正在使用这个:

提取帧: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

这将按顺序执行三个命令,从视频中提取帧,提取音频,然后从帧和音频重新组装视频。

相关内容