FFmpeg 是一个开源的跨平台视频和音频处理工具,功能强大。以下是一些常用的命令:
-
视频转码:
ffmpeg -i input.mp4 output.avi
这个命令将
input.mp4
转换为output.avi
。 -
调整视频尺寸:
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4
这个命令将
input.mp4
调整为 1280x720 的分辨率。 -
剪切视频:
ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 -c:v copy -c:a copy output.mp4
这个命令从
input.mp4
中提取从第 1 分钟开始的 30 秒。 -
提取音频:
ffmpeg -i input.mp4 -vn -acodec copy output.mp3
这个命令从
input.mp4
中提取音频并保存为output.mp3
。 -
合并视频和音频:
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4
这个命令将
video.mp4
和audio.mp3
合并为一个新的output.mp4
。 -
添加水印:
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4
这个命令在
input.mp4
视频的左上角添加watermark.png
图像作为水印。 -
提取视频信息:
ffmpeg -i input.mp4
这个命令会显示
input.mp4
的详细信息,如分辨率、码率等。 -
截取视频帧:
ffmpeg -i input.mp4 -vf "select=eq(n\,100)" -vsync vfr output.png
这个命令将从
input.mp4
中提取第 100 帧并保存为output.png
。 -
将视频转换为 GIF:
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" -c:v gif output.gif
这个命令将
input.mp4
转换为 GIF 文件。 -
更改音频编码:
ffmpeg -i input.mp3 -c:a libopus output.opus
这个命令将
input.mp3
的音频编码转换为 Opus 格式。
这些只是一些常见的例子。FFmpeg 命令非常灵活,可以根据具体需求进行组合和调整。可以查看FFmpeg 官方文档获取更多详细信息和命令选项。
当然,请继续提出你感兴趣的 FFmpeg 命令或者需要了解的操作。
-
添加字幕:
ffmpeg -i input.mp4 -vf "subtitles=subtitle.srt" output.mp4
这个命令将
subtitle.srt
字幕文件添加到input.mp4
视频中。 -
调整音频音量:
ffmpeg -i input.mp3 -af "volume=2.0" output.mp3
这个命令将
input.mp3
的音量增大为原来的两倍。 -
分割视频:
ffmpeg -i input.mp4 -t 00:05:00 -c copy output1.mp4 -ss 00:05:00 -c copy output2.mp4
这个命令将
input.mp4
视频分割成两部分,第一部分为前 5 分钟保存为output1.mp4
,第二部分为从第 5 分钟开始到结束保存为output2.mp4
。 -
提取视频关键帧:
ffmpeg -skip_frame nokey -i input.mp4 -vsync 0 -frame_pts true -f image2 keyframes_%03d.jpg
这个命令会提取
input.mp4
中的所有关键帧,并保存为 JPEG 图像。 -
旋转视频:
ffmpeg -i input.mp4 -vf "transpose=1" output.mp4
这个命令将
input.mp4
视频顺时针旋转 90 度。 -
音频转换为视频:
ffmpeg -f lavfi -i anullsrc=r=44100:cl=stereo -t 10 -c:a libmp3lame output.mp3
这个命令会生成 10 秒的空白音频,并将其保存为
output.mp3
。 -
视频速度变换:
ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4
这个命令将
input.mp4
视频的播放速度加快一倍。 -
音频和视频分离:
ffmpeg -i input.mp4 -c copy -an output_video.mp4 ffmpeg -i input.mp4 -c copy -vn output_audio.mp3
这个命令将
input.mp4
视频和音频分别提取出来。
这些命令覆盖了一些常见的视频和音频处理需求。如果你有特定的需求或者想要了解更多其他类型的操作,随时告诉我!
当然,请看接下来的一些常用的 FFmpeg 命令:
-
改变视频帧率:
ffmpeg -i input.mp4 -r 30 output.mp4
这个命令将
input.mp4
的帧率改变为 30fps。 -
将视频分解为图片序列:
ffmpeg -i input.mp4 -vf fps=1 output_%03d.png
这个命令将
input.mp4
每秒提取一帧保存为图片序列,文件名为output_001.png
,output_002.png
等。 -
将视频和音频合并为一个多路流:
ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -c:v copy -c:a copy output.mp4
这个命令将
video.mp4
和audio.mp3
合并为一个包含视频和音频的多路流文件output.mp4
。 -
设置视频的起始时间:
ffmpeg -i input.mp4 -ss 00:00:30 -c copy output.mp4
这个命令会从
input.mp4
视频的第 30 秒开始剪切,并保留剩下的部分。 -
剥离音频中的视频:
ffmpeg -i input.mp4 -vn -acodec copy output_audio.mp3
这个命令会从
input.mp4
中提取音频,并保存为output_audio.mp3
。 -
视频格式转换:
ffmpeg -i input.avi -c:v libx264 -c:a aac output.mp4
这个命令将
input.avi
视频转换为 H.264 视频编码和 AAC 音频编码的output.mp4
。 -
批量处理文件:
for %%a in ("*.mp4") do ffmpeg -i "%%a" -vf "scale=1280:-1" "output_%%~na.mp4"
这个命令可以批量处理当前文件夹下所有的
.mp4
文件,将它们的分辨率调整为 1280px 宽,高度按比例调整,并保存为新文件。 -
实时录制屏幕:
ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+0,0 output.mkv
这个命令可以在 Linux 系统下实时录制屏幕。
这些命令覆盖了一些常见的视频和音频处理需求,从转码到剪切、合并、调整参数等等。如果你有任何特定的需求或者想了解更多的操作,随时告诉我!