当前位置:首页 > 开发 > FFmpeg > 正文内容

FFmpeg 分割视频时抛弃音频

FFmpeg4周前 (03-31)


FFmpeg分割视频时抛弃音频的方法

一、通过流选择参数精准保留视频

ffmpeg -i input.mp4 -c copy -map 0:v -segment_time 00:10:00 -f segment output_%03d.mp4

关键参数解释:

  • -map 0:v:仅选择第一个输入文件(0:)的所有视频流(v

  • 与原始命令的 -map 0(全选所有流)相比,此参数主动过滤了音频流

适用场景:输入文件包含多个视频流(如多角度视频),需要保留所有视频流但排除其他流

二、通过禁用音频参数排除音频

ffmpeg -i input.mp4 -c copy -map 0 -an -segment_time 00:10:00 -f segment output_%03d.mp4

关键参数解释:

  • -an:强制禁用音频流(不处理音频编码和封装)

  • 保留 -map 0 以处理其他流(如字幕),但实际输出中仅保留视频流

适用场景:需要保留除音频外的其他流(如字幕),但最终输出仅需视频

三、进阶操作建议

  1. 多视频流处理
               若输入文件包含多个视频流(如画中画),可通过 -map 0:v:0 选择特定视频流:

ffmpeg -i input.mp4 -c copy -map 0:v:0 -segment_time 00:10:00 -f segment output_%03d.mp4
  1. 兼容性验证
               建议先通过 ffprobe input.mp4 查看输入文件的流信息,确认视频流编号和类型。

  2. 容器格式适配
               MP4容器支持纯视频输出,若遇到格式问题可尝试强制指定容器:

ffmpeg -i input.mp4 -f mp4 -c copy -map 0:v -segment_time 00:10:00 output_%03d.mp4

四、两种方案的对比

方案优点缺点适用场景
-map 0:v精准控制流选择,避免意外包含其他流需了解流编号规则需要保留所有视频流
-an操作简单,兼容旧版FFmpeg可能残留字幕等非音频流快速禁用音频

五、操作验证

分割完成后,可通过以下命令检查输出文件是否仅含视频流:

ffprobe output_000.mp4

输出中应显示 Stream #0:0 为视频流,无音频流信息。

转载请注明出处。

本文链接:http://pythonopen.com/?id=7871

相关文章

FFmpeg 指定比特率导出指定时长视频

方法一:通过设置时间范围和比特率转码这种方法先明确指定要截取的时间范围(1 秒时长),然后进行转码并...

使用FFmpeg混流MP4和MP3

1. 裁剪为最短时长ffmpeg -i input_video.mp4 ...

FFmpeg [mp4 @ 0000013d42a009c0]

[mp4 @ 0000013d42a009c0] Could ...

FFmpeg 合并视频时抛弃音频

在使用FFmpeg合并视频并抛弃音频时,可根据输入文件的编码一致性选择以下两种方法:方法1:conc...

FFmpeg 图片合成视频,并添加音频

使用FFmpeg将图片合成视频并添加音频你可以使用以下 ffmpeg 命令行将图片序列合成视频并添加...