FFMpeg音视频操作命令

如果没有安装ffmpeg,请参考:Mac 配置FFmpeg环境

FFmpeg官网:FFmpeg

GitHub FFmpeg-Android-Java:FFmpeg-Android-Java


命令参数

可以通过命令帮助查看:

ffmpeg -h

全局选项:

  • -y:覆盖输出文件
  • -n:永远不会覆盖输出文件
  • -ignore_unknown:忽略未知的流类型
  • stats:编码期间打印进度报告
  • -vol volume:改变音量(256 =正常)

每个文件的主要选项:

  • -f fmt:强制格式,设置输出格式

  • -c codec 或者 -codec codec :编解码器名称

  • -pre preset :预设名称

  • -map_metadata outfile[,metadata]:infile[,metadata]:从infile设置outfile的元数据信息

  • -t duration :记录或转码音频/视频的“持续时间”秒

  • -to time_stop:记录或转码停止时间

  • -fs limit_size:设置限制文件大小,以字节为单位,超过指定的文件大小时则结束转换

  • -ss time_off:设置开始时间偏移量,从指定时间开始转换

  • -sseof time_off:设置相对于EOF的开始时间偏移

  • -seek_timestamp:使用-ss通过时间戳启用/禁用搜索

  • -timestamp time:设置录制时间戳('now’设置当前时间)

  • -metadata string=string:添加元数据

  • -program title=string:st=number…:使用指定的流添加程序

  • -target type :指定目标文件类型(“vcd”,“svcd”,“dvd”,“dv”或“dv50”,带有可选前缀“pal-”,“ntsc-”或“film-”)

  • -apad:audio pad

  • -frames number:设置要输出的帧数

  • -filter filter_graph:设置流过滤器图

  • -filter_script filename:从文件中读取流过滤器图形描述

  • -reinit_filter:在输入参数更改时重新启动filtergraph

  • -discard:丢弃

  • -disposition :规定

  • -i:设置输入文件名

  • -title:设置标题

  • -vsync:增减Frame使影音同步

视频选项:

  • -vframes number:设置要输出的视频帧数
  • -r rate:设置帧速率(Hz值,分数或缩写)
  • -s size :设置帧大小(W x H或缩写)
  • -aspect aspect:设置纵横比(4:3,16:9或1.3333,1.77777)
  • -bits_per_raw_sample number:设置每个原始样本的位数
  • -vn:禁用视频
  • -vcodec codec:强制视频编解码器('复制’复制流)
  • -timecode hh:mm:ss[:;.]ff:设置初始TimeCode值
  • -pass n :选择密码(1到3)
  • -vf filter_graph:设置视频过滤器
  • -ab bitrate:音频比特率(请使用-b:a)
  • -b bitrate:视频比特率(请使用-b:v)
  • -dn:禁用数据

声音选项:

  • -aframes number:设置要输出的音频帧数
  • -aq quality :设置音频质量(特定于编解码器)
  • -ar rate:设置音频采样率(Hz)
  • -ac channels :设置音频通道数
  • -an:禁用音频
  • -acodec codec:强制音频编解码器('复制’到复制流)
  • -vol volume :改变音量(256 =正常)
  • -af filter_graph:设置音频过滤器

字幕选项:

  • -s size:设置帧大小(W x H或缩写)
  • -sn:禁用字幕
  • -scodec codec :强制字幕编解码器('复制’复制流)
  • -stag fourcc/tag:强制字幕标签/ fourcc
  • -fix_sub_duration:修复字幕持续时间
  • -canvas_size size:设置画布大小(W x H或缩写)
  • -spre preset:将字幕选项设置为指定的预设

操作视频

视频裁剪:

ffmpeg -i src.mp4 -ss 00:00:00 -t 00:00:20 des.mp4
裁剪前20秒

视频去掉声音:

ffmpeg -i src.mp4 -c:v copy -an des.mp4

音视频文件合成操作:

ffmpeg -i src.mp3 -i src.mp4 des.mp4

视频转gif:

ffmpeg -i src.mp4 des.gif

视频转高质量gif:

ffmpeg -i src.mp4 -b 2048k des.gif

操作音频

音频裁剪:

ffmpeg -i src.mp3 -ss 00:00:00 -t 00:00:20 des.mp3 
裁剪前20秒