如何将视频拆分为帧并重新合成带音频的完整视频?
如何将视频拆分为帧并重新合成带音频的完整视频?
我来帮你一步步搞定这个需求,用ffmpeg就能轻松实现,具体操作如下:
第一步:提取视频帧
用下面的命令可以把视频逐帧导出为PNG图片,文件名会按frame0001.png、frame0002.png这样的格式自动编号:
ffmpeg -i "video_path" frame%04d.png
注意:把video_path替换成你的实际视频文件路径哦
第二步:提取视频中的音频
如果需要单独提取原视频的音频,用这个命令导出成MP3格式:
ffmpeg -i video_path -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio_path_output
这里的video_path是原视频路径,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"
记得把audio_path换成你提取好的音频路径,video_path_output是最终视频的保存路径;-r 25表示帧率是25,如果原视频帧率不同,可以改成对应的数值
备注:内容来源于stack exchange,提问作者Edwin




