命令 |
含义 |
-L |
显示许可证 |
-h topic |
显示帮助 |
-? topic |
显示帮助 |
help topic |
显示帮助 |
--help topic |
显示帮助 |
-version |
显示版本 |
-buildconf |
显示生成配置 |
-formats |
显示有效的格式 |
-muxers |
显示有效的复用器 |
-demuxers |
显示有用的解复用器 |
-devices |
显示有效的音视频输入输出设备 |
-codecs |
显示可用的编解码器 |
-decoders |
显示可用的解码器 |
-encoders |
显示可用的编码器 |
-bsfs |
显示可用的位流筛选器 |
-protocols |
显示支持的协议 |
-filters |
显示可用的筛选器 |
-pix_fmts |
显示可用的像素格式 |
-layouts |
显示标准通道布局 |
-sample_fmts |
显示可用的音频样本格式 |
-dispositions |
显示可用的流布置 |
-colors |
显示可用的颜色名称 |
-sources device |
列出输入设备的源 |
-sinks device |
列出输出设备的接收器 |
-hwaccels |
显示可用的硬件加速方法 |
-loglevel loglevel |
设置日志等级 |
-v loglevel |
设置日志等级 |
-report |
生成一个报告i |
-max_alloc bytes |
设置一个块的最大值 |
-y |
允许输出文件覆盖其他文件 |
-n |
不允许输出文件覆盖 |
-ignore_unknown |
忽略未知流类型 |
-filter_threads |
非复杂筛选器线程数 |
-filter_complex_threads |
-filter_complex的线程数 |
-stats |
编码期间打印进度报告 |
-max_error_rate maximum error rate |
解码错误的比率(0.0:无错误,1.0:100%错误),超过该比率,ffmpeg将返回错误而不是成功。 |
-vol volume |
修改音量大小 |
-cpuflags flags |
强制特定的cpu标志 |
-cpucount count |
强制特定cpu计数 |
-hide_banner hide_banner |
不显示节目横幅 |
-copy_unknown |
复制未知流类型 |
-recast_media |
允许重铸流类型,以便强制使用不同媒体类型的解码器 |
-benchmark |
添加基准测试的时间 |
-benchmark_all |
添加每个任务的时间 |
-progress url |
编写程序可读的进度信息 |
-stdin |
启用或禁用标准输入的交互 |
-timelimit limit |
set max runtime in seconds in CPU user time |
-dump |
转储每个输入数据包 |
-hex |
转储数据包时,还要转储有效负载 |
-frame_drop_threshold |
帧下降阈值 |
-async |
音频同步方法 |
-adrift_threshold threshold |
音频漂移阈值 |
-copyts |
复制时间戳 |
-start_at_zero |
使用副本时,将输入时间戳移位为从0开始 |
-copytb mode |
复制流时复制输入流时基 |
-dts_delta_threshold threshold |
时间戳不连续性增量阈值 |
-dts_error_threshold threshold |
时间戳错误增量阈值 |
-xerror erro |
出错时退出 |
-abort_on flags |
在指定的条件标志上中止 |
-filter_complex graph_description |
创建复杂的筛选器图 |
-lavfi graph_description |
创建复杂的筛选器图 |
-filter_complex_script filename |
从文件中读取复杂的筛选器图描述 |
-auto_conversion_filters |
全局启用自动转换筛选器 |
-stats_period time |
设置ffmpeg更新统计数据和进度输出的时间段 |
-debug_ts |
打印时间戳调试信息 |
-psnr |
计算压缩帧的PSNR |
-vstats |
将视频编码统计信息转储到文件 |
-vstats_file file |
将视频编码统计信息转储到文件 |
-vstats_version |
要使用的vstats格式的版本。 |
-qphist |
显示QP直方图 |
-sdp_file file |
指定要在其中打印sdp信息的文件 |
-qsv_device device |
set QSV hardware device (DirectX adapter index, DRM path or X11 display name) |
-init_hw_device args |
初始化硬件设备 |
-filter_hw_device device |
设置筛选时使用的硬件设备 |
-f fmt |
强制格式 |
ffmpeg -i 输入文件名 -s 300x800 -f flv -y 输出文件名 |
|
-c codec |
编解码器名称 |
-codec codec |
编解码器名称 |
-pre preset |
预设名称 |
-map_metadata outfile[,metadata]:infile[,metadata] |
设置输出文件的元数据信息 |
-t duration |
录制或转码音频/视频的“持续时间”秒数 |
to time_stop |
记录或转码停止时间 |
-fs limit_size |
设置限制文件大小(以字节为单位) |
-ss time_off |
设置开始时间偏移 |
ffmpeg -i 输入文件名 -ss 10 输出文件名 |
|
-sseof time_off |
设置相对于EOF的开始时间偏移 |
-seek_timestamp |
enable/disable seeking by timestamp with -ss |
-timestamp time |
设置录制时间戳('now'可设置当前时间) |
-metadata string=string |
添加元数据 |
-program title=string:st=number... |
添加具有指定流的程序 |
-target type |
指定目标文件类型(带有可选前缀“pal-”、“ntsc-”或“film-”的“vcd”、“svcd”、”dvd“、”dv“或”dv50“) |
-apad |
音频垫 |
-frames number |
设置要输出的帧数 |
-filter filter_graph |
设置流的过滤图 |
-filter_script filename |
从一个文件中读取流的筛选器信息 |
-reinit_filter |
输入参数变化的reinit滤波器图 |
-discard |
丢弃 |
-disposition |
-map [-]input_file_id[:stream_specifier][,sync_file_id[:stream_specifier]] |
设置输入流映射 |
-map_channel file.stream.channel[:syncfile.syncstream] |
将音频通道从一个流映射到另一个流 |
-map_chapters input_file_index |
设置章节映射 |
-accurate_seek |
使用-ss启用/禁用精确搜索 |
-isync sync ref |
指示同步引用的输入索引 |
-itsoffset time_off |
设置输入ts偏移 |
-itsscale scale |
设置输入ts刻度 |
-dframes number |
设置要输出的数据帧数 |
-re |
以本机帧速率读取输入;相当于-读取速率1 |
-readrate speed |
以指定速率读取输入 |
-shortest |
finish encoding within shortest input |
-bitexact |
位精确模式 |
-copyinkf |
复制初始非关键帧 |
-copypriorss |
在开始时间之前复制或丢弃帧 |
-tag fourcc/tag |
强制编解码器标签/forcc |
-q q |
使用固定质量量表 |
-qscale q |
使用固定质量量表 |
-profile profile |
设置配置文件 |
-attach filename |
向输出文件添加附件 |
-dump_attachment filename |
将附件提取到文件中 |
-stream_loop loop count |
设置输入流循环的次数 |
-thread_queue_size |
设置来自解复用器的排队数据包的最大数量 |
-find_stream_info |
读取并解码流以用启发式方法填充缺失的信息 |
-bits_per_raw_sample number |
设置每个原始样本的位数 |
-autorotate |
自动插入正确的旋转过滤器 |
-autoscale |
在过滤器图形的末尾自动插入缩放过滤器 |
-muxdelay seconds |
设置最大解复用解码延迟 |
-muxpreload seconds |
设置初始解复用解码延迟 |
-time_base ratio |
为输出流设置所需的时基提示(1:24、1:48000或0.04166、2.0833e-5) |
-enc_time_base ratio |
为编码器设置所需的时基(1:24、1:48000或0.04166、2.0833e-5)。定义了两个特殊值-0=使用帧速率(视频)或采样率(音频),-1=匹配源时基 |
-enc_time_base ratio |
set the desired time base for the encoder (1:24, 1:48000 or 0.04166, 2.0833e-5). two special values are defined - 0 = use frame rate (video) or sample rate (audio),-1 = match source time base |
-bsf bitstream_filters |
以逗号分隔的比特流筛选器列表 |
-fpre filename |
从指定的预设文件中设置选项 |
-max_muxing_queue_size packets |
等待所有流初始化时可以缓冲的最大数据包数 |
-muxing_queue_data_threshold bytes |
设置阈值,在此阈值之后考虑max_muxing_queue_size |
-dcodec codec |
强制数据编解码器(“复制”到复制流) |
-vframes number |
设置要输出的视频帧数 |
-r rate |
设置帧速率(Hz值、分数或缩写) |
ffmpeg -i 输入文件夹名 -fs 大小 -f 25 -y 输出文件名 |
|
-fpsmax rate |
设置最大帧速率(Hz值、分数或缩写) |
-s size |
设置框架尺寸(WxH或缩写) |
ffmpeg -i 输入文件名 -s 300x800 -y 输出文件名 |
|
-aspect aspect |
设置纵横比(4:3、16:9或1.3333、1.7777) |
ffmpeg -i C:\Users\admin\Desktop\123.mp4 -aspect 6:9 -y C:\Users\admin\Desktop\789.avi |
|
-vn |
不要视频 |
-vcodec codec |
设置视频编解码器(拷贝或流拷贝的时候) |
-时间代码hh:mm:ss[:;.]ff |
设置初始TimeCode值。 |
-pass n |
选择通道编号(1到3) |
-vf filter_graph |
设置视频筛选器 |
-ab bitrate |
音频比特率(请使用-b:a) |
-b bitrate |
video bitrate (please use -b:v) |
-dn |
禁用数据 |
-pix_fmt format |
设置像素格式 |
-rc_override override |
特定间隔的速率控制超控 |
-passlogfile prefix |
选择两次通过的日志文件名前缀 |
-psnr |
计算压缩帧的PSNR |
-vstats |
将视频编码统计信息转储到文件 |
-vstats_file file |
将视频编码统计信息转储到文件 |
-vstats_version |
要使用的vstats格式的版本。 |
-intra_matrix matrix |
指定矩阵内系数 |
-chroma_intra_matrix matrix |
指定矩阵内系数 |
-top |
top=1/bottom=0/auto=-1 field first |
-vtag fourcc/tag |
强制视频标签/forcc |
-qphist |
显示QP直方图 |
-fps_mode |
设置用于匹配视频流的帧速率模式;覆盖vsync |
-force_fps |
强制选定的帧速率,禁用支持的最佳帧速率选择 |
-streamid streamIndex:value |
设置出文件流id的值 |
-force_key_frames timestamps |
在指定的时间戳强制关键帧 |
-hwaccel hwaccel name |
使用硬件加速解码 |
-hwaccel_device devicename |
选择硬件加速设备 |
-hwaccel_output_format format |
选择用于硬件加速解码的输出格式 |
-vbsf video bitstream_filters |
对…表示极不赞成 |
-vpre preset |
将视频选项设置为指示的预设 |
-aframes number |
设置要输出的音频帧数 |
-aq quality |
设置音频质量(特定于编解码器) |
-ar rate |
设置音频采样率(Hz) |
-ac channels |
设置音频通道数 |
-an |
禁用音频 |
-acodec codec |
强制音频编解码器(“复制”到复制流) |
-vol volume |
更改音频音量(256=正常) |
-af filter_graph |
设置音频过滤器 |
-atag fourcc/tag |
强制音频标签/forcc |
-sample_fmt format |
设置样本格式 |
-channel_layout layout |
设置通道布局 |
-ch_layout layout |
设置通道布局 |
-guess_layout_max |
设置尝试猜测频道布局的最大频道数 |
-absf audio bitstream_filters |
对…表示极不赞成 |
-apre preset |
将音频选项设置为指示的预设 |
-s size |
设置框架尺寸(WxH或缩写) |
-sn |
禁用字幕 |
-scodec codec |
强制字幕编解码器(“复制”到复制流) |
-stag fourcc/tag |
强制字幕tag/forcc |
-fix_sub_duration |
固定字幕持续时间 |
-canvas_size size |
设置画布大小(WxH或缩写) |
-spre preset |
将字幕选项设置为指示的预设 |
例子 |
解释 |
ffmpeg -formats |
查询支持formats的格式 |
ffmpeg -h muxer=flv |
查看flv封装器的参数支持 |
ffmpeg -h demuxer=flv |
查看flv解封装器大的参数支持 |
ffmpeg -h encoder=h264 |
查看h264的编码支持 |
ffmpeg -h decoder=h264 |
查看h264的解码支持 |
Ffmpeg -h filter=colorkey |
查看colorkey滤镜的参数支持 |
封装格式 |
编码格式 |
AVI |
Xvid、Divx、MP3 |
WMV |
|
MP4 |
Xvid、H264 |
FLV |
H264、Screen Video、Once VP6 |
RMVB |
|
MKV |
H264 |
3GP |
|
ASF |
|
TS |
H264 |
HLS(M3U8) |
H264 |
命令例程:
等待接收来自127.0.0.1:1234口的视频
ffmpeg -listen 1 -f flv -i tcp://127.0.0.1:1234/live/stream -c copy -f flv output.flv
发布视频于127.0.0.1:1234口的视频
ffmpeg -re -i C:\Users\admin\Desktop\ship\动画.flv -c copy -f flv tcp://127.0.0.1:1234/live/stream