Zhe*_*Liu 5 audio video ffmpeg
我想将视频的特定部分静音。
例如,对于一个3分钟长的视频,我想静音5-10秒,以及33-36秒。
现在,
我知道如何应用音频过滤器。
ffmpeg -i input.mp4 -af "volume=enable='between(t,5,10)':volume=0, volume=enable='between(t,33,36)':volume=0" output.mp4
Run Code Online (Sandbox Code Playgroud)
但 ffmpeg 似乎试图重新编码整个视频!视频和音频已完全转码。
我只需要静音特定部分,我想保持其他所有内容相同。
有没有快速运行的方法?
谢谢
这里缺少的是您想要使用哪些编解码器来对音频和视频流进行转码的规范。
如果您想简单地重新包装数据,而不执行任何转码,您可以使用“copy”作为视频/音频编解码器(即“-c:a copy”“-c:v copy”)。
但是,当在该流上使用任何过滤器时,无法“复制”视频或音频流。想一想 - 如果您实际上是对构成原始音频和视频的 1 和 0 进行“复制”,并使用相同的 1 和 0 创建输出,则您无法更改任何数据。过滤器更改组成数据的实际字节,因此不可能应用过滤器并同时“复制”数据。
在您的情况下,您将被迫对音频流进行转码,因为您在该流上使用音频过滤器。但是,您可以使用“-c:v copy”参数保留视频流。
对于您的音频流,如果您关心质量,您可以使用“-c:a pcm_s16le”指定未压缩的音频编解码器。但是,IIRC 该编解码器与 MP4 容器不兼容。
| 归档时间: |
|
| 查看次数: |
2999 次 |
| 最近记录: |