FFmpeg命令详解

FFmpeg命令详解

1. 基础命令

bash 复制代码
# 查看版本
ffmpeg -version

# 查看支持的编解码器
ffmpeg -codecs

# 查看支持的格式,如MP4、MKV、MP3、AVI等
ffmpeg -formats

# 查看详细的编码器信息
ffmpeg -encoders

# 查看详细的解码器信息
ffmpeg -decoders

# 查看滤镜,列出所有可用的视频/音频滤镜
ffmpeg -filters

2. 视频格式转换

bash 复制代码
# 将MP4转换为AVI,FFmpeg会自动选择合适的编解码器
ffmpeg -i input.mp4 output.avi
# 指定编码格式
> -c:v libx264 使用H.264视频编码(适合MP4)
> -preset fast 设置编码速度(可选:ultrafast superfast veryfast faster fast medium slow slower veryslow)
> -crf 23 质量控制(0=无损,51=最差,默认23,建议范围:18-28)
> -c:a aac 使用AAC音频编码
> -b:a 192k 设置音频比特率为192kbps
‌ffmpeg -i input.mp4 -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k output.mp4

3. 视频压缩和转码

  1. 降低视频比特率(减小体积)
bash 复制代码
> -b:v 1000k 将视频比特率降到1000kbps
> -c:a copy 音频直接拷贝,不重新编码
ffmpeg -i input.mp4 -b:v 1000k -c:a copy output.mp4
  1. 指定分辨率(缩小视频)
bash 复制代码
> -vf "scale=1280x720" 设置视频分辨率为1280x720
> -c:a copy 音频直接拷贝,不重新编码
ffmpeg -i input.mp4 -vf "scale=1280x720" -c:a copy output.mp4

4. 视频剪辑

  1. 裁剪视频(指定开始时间和时长)
bash 复制代码
> -ss 00:00:10 从第10秒开始
> -t 00:00:20 截取20秒
> -c copy 无损剪辑
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:20 -c copy output.mp4
  1. 截取某个时间段(精确模式)
bash 复制代码
> -ss 00:00:10 从10秒开始
> -to 00:00:30 截取10秒~30秒
ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:30 -c:v libx264 -c:a aac output.mp4

5. 处理音频

  1. 提取音频(MP3)

    -q:a 0 高质量MP3
    -map a 只提取音频
    ffmpeg -i input.mp4 -q:a 0 -map a output.mp3

  2. 替换视频音轨

    -map 0:v:0 使用原视频
    -map 1:a:0 使用新的视频
    ffmpeg -i input.mp4 -i new_audio.mp3 -c:v copy -c:a aac -b:a 192k -map 0:v:0 -map 1:a:0 output.mp4

  3. 改变音量

    volume=1.5 音量放大1.5倍
    ffmpeg -i input.mp3 -af "volume=1.5" output.mp3

6. 处理图片与视频

  1. 图片合成视频
bash 复制代码
> -framerate 1 每张图片播放1秒
> img%d.jpg 文件名格式:img1.jpg、img2.jpg等
> -r 25 设置25fps
ffmpeg -framerate 1 -i img%d.jpg -c:v libx264 -r 25 -pix_fmt yuv420p output.mp4
  1. 视频转换为图片序列
bash 复制代码
> -vf "fps=1" 每秒截取一帧
ffmpeg -i input.mp4 -vf "fps=1" img%d.jpg

7. 视频拼接

filelist.txt

复制代码
file 'input1.mp4'
file 'input2.mp4'
file 'input3.mp4'
bash 复制代码
> -f concat 合并模式
> -safe 0 允许特殊字符路径
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

其他

1. 录制RTSP视频流

bash 复制代码
> -i rtsp://your_rtsp_stream 指定RTSP流的地址
> -c:v copy 复制视频码,不进行重新编码
> -map 0:v 只复制视频流
> -r 25 设置帧率为25fps
> -f segment 设置输出格式为分段文件
> -segment_time 10 每个分段文件的持续时间为10秒
> segment_format_options movflags=+faststart 设置MOV文件的启动方式为快速启动
> output%03d.mp4 输出文件名模板,如output001.mp4、output002.mp4等
ffmpeg -i rtsp://your_rtsp_stream -c:v copy -map 0:v -r 25 -f segment -segment_time 10 -segment_format_options movflags=+faststart output%03d.mp4
相关推荐
ofoxcoding19 小时前
Gemini TTS 与 ElevenLabs 语音合成实测:同一段视频旁白效果对比
ai·ffmpeg·音视频
_大峰_1 天前
索尼 A7M4 误删视频恢复实战:基于原始卡镜像重建 MP4 数据
ffmpeg·数据恢复·音视频·mp4·exfat
Anhty2 天前
3 款手机音频剪辑 APP 横评,短视频配音后期,免费工具怎么选?
功能测试·ffmpeg·音视频
VidDown3 天前
自动给视频挑一张能看的封面:帧评分、构图与批量生成
python·ffmpeg·音视频·视频
可乐鸡翅yeah_4 天前
HLS 业务 Referer‑Policy 网页元标签引发播放异常排错
前端·javascript·网络·ffmpeg·php·音视频
开开心心就好5 天前
本地文件搜索工具推荐,占用小速度还快
智能手机·ffmpeg·ocr·word·音视频·网络攻击模型·安全架构
我科绝伦(Huanhuan Zhou)5 天前
oracle坏块导致备份不了
数据库·oracle·ffmpeg
RS迷途小书童5 天前
Python+FFmpeg提取大疆无人机MP4内嵌mov_text遥测SRT字幕并做完整性校验
python·ffmpeg·大疆·srt字幕·dji
开开心心就好5 天前
视频压缩工具推荐,画质效果很能打
智能手机·ffmpeg·ocr·word·排序算法·音视频·散列表
可乐鸡翅yeah_5 天前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线