使用FFmpeg创建静音视频和黑屏视频

12
我尝试使用FFmpeg从本地mp4文件生成以下内容:
  • 没有音频的原始视频副本
  • 带有音频但没有视觉(而是黑屏)的原始视频副本。此文件还需要以mp4格式呈现。
阅读文档后,我无法正确使用终端命令。为了删除音频,我尝试了以下命令,但没有成功:
ffmpeg -i file.mp4 -map 0:0 -map 0:2 -acodec copy -vcodec copy

能有人指导我如何完成这个任务吗?

2个回答

26

创建黑色视频和无声音频

使用 coloranullsrc 过滤器。以下是一个例子,输出10秒长、1280x720、25帧率、立体声音频、44100采样率:

ffmpeg -f lavfi -i color=size=1280x720:rate=25:color=black -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -t 10 output.mp4

删除音频

只保留视频:

ffmpeg -i input.mp4 -map 0:v -c copy output.mp4

保留除音频以外的所有内容:

ffmpeg -i input.mp4 -map 0 -map -0:a -c copy output.mp4

请参考FFmpeg Wiki: Map了解更多有关-map的信息。

将视频变为黑色但保留音频

使用drawbox过滤器。

ffmpeg -i input.mp4 -vf drawbox=color=black:t=fill -c:a copy output.mp4

生成无声音频

请参考如何使用ffmpeg将新的音频(非混音)添加到视频中?,并参考anullsrc示例。


如果您只想在10到20秒之间绘制一个黑色框,该怎么办?谢谢! - tommy.carstensen
@tommy.carstensen 适应 在给定帧上绘制方框的ffmpeg - llogan

2

要删除音频,可以使用以下命令:

ffmpeg -i file.mp4 -c copy -an file-nosound.mp4

请注意-an选项。

-an(输出) 禁用音频记录。

如果要保留音频但用黑屏“替换”视频,则可以执行以下操作:

ffmpeg -i file.mp4 -i image.png -filter_complex overlay out.mp4

image.png 是一种黑色壁纸,它被放置在视频的顶部,但是有更好的方法可以完全去除边框,您可以提取音频,然后创建一个以音频为背景的新视频。


谢谢您的分享。对于未来的读者,使用“-filter_complex overlay”比使用“-vf geq=0:128:128”快了大约3倍。 - kooshi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接