ffmpeg常用命令

一、基础信息查询

  1. ‌版本与支持查询 ‌

    python 复制代码
    ffmpeg -version # 查看版本信息 ‌
    ffmpeg -codecs # 列出所有编解码器 ‌
    ffmpeg -formats # 查看支持的文件格式 ‌
    ffmpeg -filters # 显示可用滤镜
  2. ‌文件信息分析 ‌

    python 复制代码
    ffmpeg -i input.mp4 # 查看视频分辨率/编码/时长等元数据

二、格式转换与转码

  1. ‌封装格式转换(不重编码) ‌

    python 复制代码
    ffmpeg -i input.mp4 -c copy output.mkv # MP4转MKV ‌
    ffmpeg -i input.mkv -c copy output.mp4 # MKV转MP4
  2. ‌编码格式转换 ‌

    python 复制代码
    # 视频转H.265,音频转AAC 
    ffmpeg -i input.mp4 -vcodec libx265 -acodec aac output.mp4 ‌
  3. ‌裸流提取 ‌

    python 复制代码
    ffmpeg -i input.mp4 -an -c:v copy output.h264  # 提取H264视频裸流 
    ffmpeg -i input.mp4 -vn -acodec copy output.aac # 提取AAC音频 

️ 三、视频参数调整

  1. ‌分辨率与帧率 ‌

    python 复制代码
    ffmpeg -i input.mp4 -s 640x480 output.mp4       # 强制分辨率 
    ffmpeg -i input.mp4 -vf "scale=1280:-1" out.mp4 # 宽度1280,高度等比缩放 ‌
    ffmpeg -i input.mp4 -r 30 output.mp4            # 修改帧率为30fps
  2. ‌码率控制 ‌

    python 复制代码
    ffmpeg -i input.mp4 -b:v 1M output.mp4 # 视频码率1Mbps
  3. ‌剪裁与分段 ‌

    python 复制代码
    ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c copy clip.mp4 # 截取1分00秒起30秒片段

️ 四、高级处理功能

  1. ‌滤镜特效 ‌

    python 复制代码
    # 添加文字水印
    ffmpeg -i input.mp4 -vf "drawtext=text='Watermark':x=10:y=10" output.mp4
    
    # 画面居中缩放(动态效果)
    ffmpeg -i input.mp4 -vf "scale=w=iw*0.8:h=ih*0.8,pad=iw:ih:(ow-iw)/2:(oh-ih)/2" output.mp4
  2. ‌流媒体推流 ‌

    python 复制代码
    ffmpeg -i input.mp4 -c:v libx264 -f flv rtmp://server/live/stream # 本地推RTMP流
  3. ‌视频合并 ‌

    python 复制代码
    # 创建合并列表文件 
    echo "file 'part1.mp4'" > list.txt 
    echo "file 'part2.mp4'" >> list.txt 
    ffmpeg -f concat -i list.txt -c copy output.mp4 ‌

五、音频处理

  1. ‌参数调整 ‌

    python 复制代码
    ffmpeg -i input.mp3 -ar 44100 output.mp3     # 设置采样率44.1kH
    ffmpeg -i input.mp3 -ab 192k output.mp3      # 设置比特率192kbps 
  2. ‌格式转换 ‌

    python 复制代码
    ffmpeg -i input.wav -acodec libmp3lame output.mp3 # WAV转MP3 

️ 注意事项

  1. ‌编解码效率 ‌
    • 使用-preset参数平衡速度与质量(如-preset fast)
    • GPU加速需指定硬件编解码器(如-c:v h264_nvenc)
  2. ‌画质保护 ‌
    • 优先用-c copy避免重编码损失画质
    • 缩放建议配合flags=lanczos保留细节 ‌

完整命令手册:ffmpeg -h full

动态参数技巧参考:FFmpeg官方文档