ffmpeg 删除提取视频中的音频

创建日期: 2024-03-24 23:23 | 作者: 风波 | 浏览次数: 9 | 分类: 前端

来源: - https://www.nxrte.com/jishu/7383.html - https://cloud.tencent.com/developer/article/1972715

1. 删除音频

ffmpeg -i videoWithAudio.mp4 -c:v copy -an videoWithoutAudio.mp4

2. 删除特定音轨

要使用 FFmpeg 删除特定音轨,您始终可以使用该map命令。

命令的一般语法map是 -map input_file_index:stream_type_specifier:stream_index

因为编号从 0 开始,选择视频的第二个音轨 -map 0:a:1

如果文件有 1 个视频轨道和两个音轨,那么可以使用-map 0:a:1仅选择第二个音轨并复制它到你的最终输出。

ffmpeg.exe -i videoWithAudio.mp4 -map 0 -map 0:a:1 -copy videoOutput.mp4

如果有 5 个音轨并且想选择除第一个以外的所有音轨,那么你可以使用否定map命令。通过说-map -0:a:0你告诉 FFmpeg 忽略第一个音轨。

删除视频中的音频-an选项如果使用负map,则映射为如下方式

ffmpeg -i videoWithAudio.mp4 -map 0 -map -0:a videoWithoutAudio.mp4

3. 使用 FFmpeg 添加音轨

ffmpeg \
-i video.mp4 \
-i audio.mp3 \
-c copy \
-map 0:v:0 \
-map 1:a:0 \
videoWithAudio.mp4

-map 0:v:0 选择第 0 个输入文件(我们的视频输入)的第 0 个轨道。 -map 1:a:0 选择第一个输入文件(我们的音频输入)的第 0 个音轨。 -c copy 将两个音轨(音频和视频)复制到输出而无需重新编码。如果您想重新编码,您可以使用适当的音频/视频编解码器和您选择的质量设置。

4. 使用 FFMpeg 从视频中提取音频

参考:https://stackoverflow.com/questions/9913032/how-can-i-extract-audio-from-video-with-ffmpeg

-vn 使用删除视频的命令。-vn命令类似于-an删除音轨的命令。 -acodec copy 告诉 FFmpeg 只复制音频而不是重新编码的命令来完成的。

ffmpeg -i videoWithAudio.mp4 -vn -acodec copy onlyAudio.aac 

举例

使用 FFmpeg 从视频中提取音频,然后使用libmp3lameMP3 文件将其编码为不同的质量级别并将其存储。

ffmpeg.exe -i videoWithAudio.mp4 -vn -c:a libmp3lame -q:a 1 onlyAudio.mp3

-q:a 使用LAME 文档中定义的质量呈现,范围从 0-6,其中 0 是高质量音频,6 是低端。

5. 替换视频中的音频

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

如果您不想重新编码音频,您可以简单地说-a:c copy,音轨将被复制而不是重新编码。 -shortest 命令用于确保在达到两个输入中较短输入的长度时停止转换。如果它在您的用例中无关紧要,您可以丢弃它。

9 浏览
11 爬虫
0 评论