附:ffmpeg一些实用命令
删除视频中的音频:
ffmpeg.exe -i videoWithAudio.mp4 -c:v copy -an videoWithoutAudio.mp4
给视频添加音频:
ffmpeg \ -i video.mp4 \ -i audio.mp3 \ -c copy \ -map 0:v:0 \ -map 1:a:0 \ videoWithAudio.mp4
所做的就是使用map命令将视频和音频分别从不同的文件中复制到同一个输出文件。
- -map 0:v:0 选择了第0个输入文件(视频输入)的第0个轨道。
- –map 1:a:0 选择了第一个输入文件(音频输入)的第0个轨道。
- 不用重新编码,-c copy同时复制音轨和视轨到输出文件。
从视频中提取音频:
ffmpeg -i videoWithAudio.mp4 -vn -acodec copy onlyAudio.aac
提取时重新编码,并设置质量:
ffmpeg.exe -i videoWithAudio.mp4 -vn -c:a libmp3lame -q:a 1 onlyAudio.mp3
-q:a表示质量(在LAME文档中定义[1]),质量分布范围为0~6,其中0表示高质量音频,6表示低质量音频。
替换视频中的音频:
ffmpeg -i video_with_audio.mp4 -i newAudio.wav \ -map 0:0 \ -map 1:0 \ -c:v copy \ -c:a libmp3lame -q:a 1 \ -shortest \ video_with_newAudio.mp4
从一个文件中获取视频以及另一个文件中获取音频。而map命令完成了上述操作。从第一个输入文件(视频)中选择第0个轨道,并从第2个输入文件(音频)中选择第0个轨道。
然后原样复制视频并重新编码音频,再将它们一起放入新的文件中。如果你不想重新编码音频,你只需使用-a:c copy命令,那么音频就只被复制而不会重新编码。
-shortest命令用于确保当达到较短的输入文件(两个输入文件之一)长度时停止转换。