什么是 FFmpeg?
FFmpeg 是一个免费项目,它提供了一组用于处理音频、视频和图像等数据的程序。 它是一种用于转换、录制、流式传输和播放文件的工具。
FFmpeg 支持多种格式和编解码器,用于转码、调整滤镜大小、添加水印或使用 AI 字幕生成器 生成字幕、从视频中获取音频以及合并多个视频或音频文件等任务。 也可以使用 FFmpeg 创建GIF并使用 FFmpeg on Windows 合并MP4文件。
FFmpeg 在媒体行业中被广泛使用,在大多数操作系统上都可以使用,包括 Windows、 macOS、 Linux和 Unix,它还可以用于 为 Twitter 视频添加字幕 等任务。
如何使用 FFmpeg?
以下是如何使用 FFmpeg的一些常见示例:
- 将视频文件从一种格式转换为另一种格式:
代码: FFmpeg -i input_ video.mp 4 output_video。AVI
此命令将convertinput_video.mp4tooutput_video。AVI. FFmpeg 会自动为输出格式选择适当的编解码器,就像您在 QuickTime 中向视频添加文本 一样。
- 调整视频大小时:
代码: FFmpeg -i input_ video.mp 4 -vf scale=640:480 output_ video.mp 4
此命令将 resizeinput_video.mp4 转换为 640×480 像素的分辨率,并将结果保存为 tooutput_video。MP4.
- 从视频中提取音频:
代码: FFmpeg -i input_ video.mp 4 -vn output_ audio.mp 3
此命令将提取音轨 frominput_video.mp4 并将其保存tooutput_audio。MP3.
- 连接两个视频:
型号: FFmpeg -i input_ video1.mp 4 -i input_ video2.mp 4 -filter_complex concat output_ video.mp 4
此命令将concatenateinput_video1.mp4andinput_video2.mp4并将结果保存tooutput_video。MP4,就像在 三星中向视频添加文本 一样。
- 为视频添加水印:
代码: FFmpeg -i input_ video.mp 4 -i 水印。PNG -filter_complex “overlay=10:10” output_ video.mp 4
此命令会将 thewatermark.pngimage 添加到左上角 ofinput_video.mp4,偏移量为 10Pixel ,并将结果保存tooutput_video。MP4.
这些只是如何处理 FFmpeg的几个例子,类似于在 Vegas Pro上向视频添加文本 时。 也可以在 Android上使用 FFmpeg。 有关更多信息,请查阅在线教程、视频流或 AI 聊天机器人(如 ChatGPT),或探索如何在 shotcut 中向视频添加文本 。
什么是 FFmpeg 有用的视频编辑命令?
- 修剪视频:
代码: FFmpeg -i input_ video.mp 4 -ss 00:00:05 -t 00:00:10 -c 复制output_ video.mp 4
此命令将 triminput_video.mp4 从 5 秒标记开始,到 10 秒后结束,并将结果保存tooutput_video。MP4.
- 在我的视频上添加图片或视频叠加层:
代码: FFmpeg -i input_ video.mp 4 -i overlay_image。PNG -filter_complex “overlay=10:10” output_ video.mp 4
此命令将在坐标 (10, 10) 处添加 theoverlay_image.png 文件作为叠加 toinput_video.mp4,并将结果保存tooutput_video。MP4.
- 更改视频分辨率:
代码: FFmpeg -i input_ video.mp 4 -vf scale=1280:720 -c: video.mp 4 output_副本
此命令会将分辨率 ofinput_video.mp4 更改为 1280×720 像素,并将结果保存为 tooutput_video。MP4.
- 为 drawtext 添加 textfileandreloadoptions:
代码: FFmpeg -i input.mp 4 -vf “drawtext=fontfile=/path/to/font.ttf:textfile=text。TXT:reload=1:fontcolor=white:fontsize=24:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2“ -codec:a copy output.mp 4
要向带有 FFmpeg的视频添加文本,请使用 drawtextfilter。 drawtextfilter 允许您指定文本的字体、大小、颜色和位置以及其他参数。
以下是使用 drawtextfilter 向视频添加文本的基本命令:
代码: FFmpeg -i input_ video.mp 4 -vf “drawtext=text='Hello World':fontfile=/path/to/font.ttf:fontsize=50:fontcolor=white:x=100:y=100” -codec: video.mp 4 output_副本
在此命令中:
- -i input_video.mp4指定输入视频文件。
- -vf “drawtext=...”指定要应用的视频过滤器,在本例中为 DrawTextFilter。
- text='Hello World'指定要添加到视频中的文本。
- fontfile=/path/to/font.ttf指定要使用的字体文件。
- fontsize=50指定字体大小(以磅为单位)。
- fontcolor=white指定字体颜色。
- x=100:y=100指定文本在视频中的位置,左上角位于(100,100)像素处。
- -codec:a copy指定将输入视频中的音频流复制到输出视频中,而不重新编码。
- output_video.mp4指定输出视频文件。
什么是 Fontfile?
FFmpeg中的 fontfile选项用于指定字体文件的路径,该字体文件将用于Render视频或图像中的文本。
当您在 FFmpeg 中使用 thedrawtextfilter 向视频添加文本时,请指定 fontfileoption 以选择要用于文本的特定字体。
如何在不使用 fontfile 选项的情况下 FFmpeg 命令中包含字体?
要在 FFmpeg 命令中使用字体而不指定 fontfile 选项,请使用系统安装的字体。
下面是使用系统安装的字体的示例命令:
代码: FFmpeg -i input_ video.mp 4 -vf “drawtext=text='Hello World':fontcolor=white:x=100:y=100:font=Arial” -codec: video.mp 4 output_副本
什么是 GitHub?
GitHub 是一个基于 Web 的平台,允许开发人员托管和管理他们的软件项目、与他人协作以及跟踪和管理对其代码的更改。 它提供了用于版本控制、问题跟踪、代码审查和团队协作的工具。
如何添加 “StackOverflow” 带有 FFmpeg的文本 ?
代码: FFmpeg -i input_ video.mp 4 -vf “drawtext=text='StackOverflow':fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100” -codec:复制output_ video.mp 4
以下是此命令中的各种选项的作用:
- -i input_video.mp4指定输入视频文件。
- -vf “drawtext=text='StackOverflow':fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100”设置用于绘制文本的视频滤镜图 此命令使用位于 /path/to/font.ttf 的字体文件在坐标 (100, 100) 处绘制文本“StackOverflow”,字体大小为 30,字体颜色为白色。
- -codec:A将输入视频的音频流复制到输出视频,而不重新编码。
- output_video.mp4指定输出视频文件的名称。
如何使用 FFmpeg的 Drawtext 过滤器显示 TimeCodes 或 TimeStamps?
代码: FFmpeg -i input_ video.mp 4 -filter_complex “drawtext=fontfile=/path/to/font.ttf:text='%{pts/:hms}':fontsize=24:fontcolor=white:x=10:y=10” -codec:复制 output_video.mp 4
以下是此命令中的各种选项的作用:
- -i input_video.mp4指定输入视频文件。
- -filter_complexallows在同一命令中使用多个过滤器。
- drawtext是过滤器的名称。
- fontfile=/path/to/font.ttf指定我们想要使用的字体文件的路径。
- text='%{pts/:hms}'设置要显示的文本。%{pts/:hms}是一个占位符,将以小时:分钟:秒格式替换为当前时间码。
- fontsize=24将字体大小设置为 24。
- fontcolor=white将字体颜色设置为白色。
- x=10andy=10设置文本在视频上的位置。
- -codec:A将输入视频的音频流复制到输出视频,而不重新编码。
- output_video.mp4指定输出文件的名称。