FFmpeg常用参数详解

Eave 2025.11.17

一、基础参数

参数 说明 示例
-i 输入文件或流 -i input.mp4
-c 编解码器设置 -c copy(流复制)
-f 强制输出格式 -f mp4
-y 覆盖输出文件 -y
-n 不覆盖输出文件 -n
-t 录制时长 -t 60(60秒)
-ss 开始时间点 -ss 00:01:00
-to 停止时间点 -to 01:30:00
-an 完全禁用音频流处理
-hide_banner 只显示处理进度和结果

二、流处理参数

视频参数

参数 说明 示例
-c:v 视频编解码器 -c:v libx264
-b:v 视频比特率 -b:v 1M
-r 帧率 -r 30
-s 分辨率 -s 1280x720
-vf 视频滤镜 -vf "scale=640:480"

音频参数

参数 说明 示例
-c:a 音频编解码器 -c:a aac
-b:a 音频比特率 -b:a 128k
-ar 采样率 -ar 44100
-ac 声道数 -ac 2

三、网络流参数

RTSP相关

参数 说明 示例
-rtsp_transport 传输协议 -rtsp_transport tcp
-stimeout 超时设置(微秒) -stimeout 5000000
-re 按原始帧率读取 -re

其他网络参数

参数 说明 示例
-user_agent 设置User-Agent -user_agent "MyApp"
-headers 自定义请求头 -headers "Referer: example.com"

性能优化参数

参数 说明 示例
-threads 线程数 -threads 4
-preset 编码预设 -preset medium
-crf 质量系数 -crf 23
-movflags MP4优化 -movflags +faststart
-hwaccel 硬件加速 -hwaccel cuda(NVIDIA GPU加速)
-hwaccel qsv(Intel QuickSync)

四、使用方法

TS转换MP4

ffmpeg -i 9.ts -c:v copy -c:a copy 9.mp4

MP3转换AMR

ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amr

AMR转换MP3

ffmpeg -i 1.amr 1.mp3

将视频第一帧保存为图片

ffmpeg -i videolib3.mp4 -ss 1 -f image2 videolib3.jpg

RTSP流转RTMP

ffmpeg -i "rtsp://admin:hk123456@192.168.10.64:554/h264/ch1/main/av_stream" -c:v copy -c:a copy -f flv rtmp://127.0.0.1:1935/hls/index

获取摄像头10秒录像

ffmpeg -i "rtsp://admin:hk123456@192.168.10.64:554/h264/ch1/main/av_stream" -c:v copy -an -t 10 -f mp4 output.mp4

-i rtsp://example.com/stream:输入的rtsp流地址

-c:v copy:只复制视频编码,不进行重新编码

-an:禁止音频输出

-f segment:以分段的方式输出文件

-segment_time 3600:每个分段的时间间隔(单位秒)

-reset_timestamps 1:重置时间戳

-strftime 1:使用日期时间格式化输出文件名

output_%Y-%m-%d_%H-%M-%S.mp4:输出文件名,使用日期时间格式化