FFmpeg 是一个强大的多媒体处理工具,可以进行视频和音频的转换、剪辑、合并等操作。以下是一些常用的 FFmpeg 命令:

### 1. 转换视频格式

```bash

ffmpeg -i input.mp4 output.avi

```

input.mp4 转换为 output.avi 格式。

### 2. 提取音频

```bash

ffmpeg -i input.mp4 -vn -acodec copy output.aac

```

input.mp4 中提取音频并保存为 output.aac

### 3. 将视频转换为 GIF

```bash

ffmpeg -i input.mp4 output.gif

```

input.mp4 转换为 GIF 动画 output.gif

### 4. 剪辑视频

```bash

ffmpeg -i input.mp4 -ss 00:00:30 -t 00:01:00 -c copy output.mp4

```

input.mp4 中剪辑从 00:00:30 开始,长度为 1 分钟的视频片段并保存为 output.mp4

### 5. 合并视频文件

首先创建一个包含所有待合并文件的文本文件 filelist.txt,内容如下:

```

file 'file1.mp4'

file 'file2.mp4'

file 'file3.mp4'

```

然后运行以下命令:

```bash

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

```

file1.mp4、`file2.mp4` 和 file3.mp4 合并为 output.mp4

### 6. 改变视频分辨率

```bash

ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4

```

input.mp4 的分辨率调整为 1280x720 并保存为 output.mp4

### 7. 压缩视频

```bash

ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4

```

使用 H.265 编码压缩 input.mp4 并保存为 output.mp4,质量因子为 28。

### 8. 添加水印

```bash

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4

```

将水印图片 watermark.png 添加到 input.mp4 的左上角,并保存为 output.mp4

### 9. 转换音频格式

```bash

ffmpeg -i input.mp3 output.wav

```

input.mp3 转换为 output.wav

### 10. 修改视频帧率

```bash

ffmpeg -i input.mp4 -r 30 output.mp4

```

input.mp4 的帧率调整为 30 帧每秒并保存为 output.mp4

### 11. 提取视频帧

```bash

ffmpeg -i input.mp4 -r 1 -f image2 frame_%04d.png

```

input.mp4 中每秒提取一帧,并保存为 frame_0001.png,`frame_0002.png` 等。

### 12. 添加字幕

```bash

ffmpeg -i input.mp4 -vf subtitles=subtitles.srt output.mp4

```

subtitles.srt 字幕文件添加到 input.mp4 并保存为 output.mp4

### 13. 调整视频音量

```bash

ffmpeg -i input.mp4 -af "volume=2.0" output.mp4

```

input.mp4 的音量提高一倍,并保存为 output.mp4

### 14. 旋转视频

```bash

ffmpeg -i input.mp4 -vf "transpose=1" output.mp4

```

input.mp4 顺时针旋转 90 度并保存为 output.mp4。`transpose=2` 是逆时针旋转 90 度,`transpose=0` 是水平翻转,`transpose=3` 是垂直翻转。

这些命令涵盖了 FFmpeg 的一些常见用途。可以根据需要组合和修改这些命令来处理不同的多媒体文件。

### 15. 将视频切分成多个片段

```bash

ffmpeg -i input.mp4 -c copy -map 0 -f segment -segment_time 30 output%03d.mp4

```

input.mp4 每 30 秒切分为一个片段,输出文件命名为 output001.mp4,`output002.mp4` 等。

### 16. 将视频转换为 HLS 格式

```bash

ffmpeg -i input.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8

```

input.mp4 转换为 HLS 格式,切片时间为 10 秒,输出的播放列表文件为 index.m3u8

### 17. 将视频转换为 DASH 格式

```bash

ffmpeg -i input.mp4 -profile:v on-demand -min_seg_duration 5000000 -use_template 1 -use_timeline 1 -init_seg_name init.mp4 -media_seg_name chunk_$Number$.m4s -f dash manifest.mpd

```

input.mp4 转换为 DASH 格式,输出的播放列表文件为 manifest.mpd

### 18. 转码视频并添加元数据

```bash

ffmpeg -i input.mp4 -metadata title="My Video" -metadata author="John Doe" -c:v libx264 -c:a aac output.mp4

```

input.mp4 转码为 H.264 视频和 AAC 音频,并添加标题和作者元数据。

### 19. 混音多音轨

```bash

ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex amerge -ac 2 output.mp3

```

input1.mp3input2.mp3 混合为一个双声道音频 output.mp3

### 20. 裁剪视频

```bash

ffmpeg -i input.mp4 -vf "crop=640:480:0:0" output.mp4

```

input.mp4 裁剪为 640x480 的视频,从左上角 (0,0) 开始。

### 21. 添加背景音乐

```bash

ffmpeg -i input.mp4 -i background.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map 0:v -map "[a]" -c:v copy -c:a aac -shortest output.mp4

```

background.mp3 作为背景音乐添加到 input.mp4 中,并保存为 output.mp4

### 22. 更改视频速度

```bash

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4

```

input.mp4 的播放速度加快一倍(即播放时间缩短一半),并保存为 output.mp4。如果需要减慢速度,可以将 0.5 改为大于 1 的值。

### 23. 更改音频速度

```bash

ffmpeg -i input.mp4 -filter:a "atempo=2.0" -vn output.mp3

```

input.mp4 的音频速度加快一倍(即播放时间缩短一半),并保存为 output.mp3。如果需要减慢速度,可以将 2.0 改为小于 1 的值。

### 24. 将图片序列转换为视频

```bash

ffmpeg -framerate 24 -i img_%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4

```

将命名为 img_001.png,`img_002.png` 等的图片序列转换为视频 output.mp4,帧率为 24 帧每秒。

### 25. 替换视频音轨

```bash

ffmpeg -i input.mp4 -i new_audio.mp3 -c:v copy -map 0:v:0 -map 1:a:0 output.mp4

```

input.mp4 的音轨替换为 new_audio.mp3 中的音轨,并保存为 output.mp4

这些命令提供了处理视频和音频文件的基本方法。根据需要,可以组合和修改这些命令来满足特定的需求。FFmpeg 的功能非常强大,文档也非常详细,可以参考 [FFmpeg 官方文档](https://ffmpeg.org/documentation.html) 了解更多信息。

刚学java菜鸡,永劫无间蚀月,王者荣耀王者,金铲铲小铂金,第五人格菜鸡,原神开服玩家,星穹铁道菜鸡,崩坏的菜鸡,闪耀暖暖,和平精英,LOL,CSGO,以及三A大作收集者等等。。。