文档章节

ffmpeg命令行参数

h
 houj
发布于 2014/11/19 17:35
字数 2354
阅读 759
收藏 1

「深度学习福利」大神带你进阶工程师,立即查看>>>

ffmpeg命令行参数

常用参数

-i 文件名 (指定源文件)

-ac 2(声道数,1,2等)
-ar 24000(声音的采样频率,48000,44100,24000,22050,11025,8000等)
-ab 128(音频数据流量比特率,32,64,96,128,256等)
-vol 200(200%的音量,音量百分比)
-acodec aac(音频编码器,aac lammp3 等)

-r 29.97(帧率,每秒视频帧数)
-s 320x240 (指定视频分辨率)
-b 768 (视频码率,似乎ffmpeg是自动VBR的,指定了就大概是平均比特率,比如768,1500)
-aspect 16:9 (设置横纵比 4:3 16:9 或 1.3333 1.7777)
-croptop 10 -cropbottom 10 -cropleft 10 -cropright 10 (设置切除带大小 像素单位)
-padtop 10 -padbottom 10 -padleft 10 -padright 10 (设置补齐条大小 像素单位)
-padcolor FF0000 (设置补齐条颜色[16进制,RRGGBB])
-maxrate 768 (设置最大视频码率)
-minrate 768 (设置最小视频码率)
-bufsize 1000000 (设置码率控制缓冲区大小,单位bit)

-f mp3 (指定文件格式,ac3,avi,dv,gxf,h264,m2v,m4v,mov,mp2,mp3,mp4,mpeg,mpegts,rawvideo,vob,wav)


-y (不询问,直接覆盖目标文件)
-title 标题 (设置标题)
-author 作者名 (设置作者)
-copyright 版权信息 (设置版权)
-comment 评论文字 (设置评论)

示例
ffmpeg.exe -i aaa.mp3 -ab 56 -ac 1 -ar 22050 bbb.mp3

英文版详细说明

Generic Syntax

ffmpeg [[infile options][`-i' infile]]... {[outfile options] outfile}...
Note : As a general rule, options are applied to the next specified file. Therefore, order is important and you can have the same option on the command line multiple times. Each occurrence is then applied to the next input or output file.

Main Options

-ab <int> : Set audio bitrate in bit/s ( default = 64k ).
-acodec <string> : Force audio codec.
    aac : AAC-LC
    ac3 : AC3 ( Dolby Digital )
    copy : Copy raw codec data as is.
    mp2 : MPEG Audio Layer II
    mp3 : MPEG Audio Layer III
    pcm_s16le : Uncompressed 16-bit PCM Audio
-an : Disable audio.
-ar <int> : Set audio sampling frequency in Hz ( default = 44100 Hz ).
-aspect <string or float> : Set aspect ratio ( 4:3, 16:9, 1.3333, 1.7777 ).
-async <int> : Audio sync method. Audio will be stretched or squeezed to match the timestamps. The parameter is the maximum samples per second by which the audio is changed. -async 1 is a special case where only the start of the audio stream is corrected without any later correction.
-b <int> : Set video bitrate in bit/s ( default = 200k ).
-bf <int> : Set number of B-frames ( supported for MPEG-1, MPEG-2 and MPEG-4 ).
-b_strategy <boolean> : Strategy to choose between I/P/B-frames ( 0 = off / 1 = on ).
-bufsize <int> : Set rate control buffer size ( in bits ).
-cmp <string or int> : Full pel motion estimation compare function.
    sad ( 0 ) : Sum of absolute differences, fast ( default ).
    sse ( 1 ) : Sum of squared errors.
    satd ( 2 ) : Sum of absolute Hadamard transformed differences.
    dct ( 3 ) : Sum of absolute DCT transformed differences.
    psnr ( 4 ) : Sum of squared quantization errors ( avoid, low quality ).
    bit ( 5 ) : Number of bits needed for the block.
    rd ( 6 ) : Rate distortion optimal, slow.
    zero ( 7 ) : 0.
    vsad ( 8 ) : Sum of absolute vertical differences.
    vsse ( 9 ) : Sum of squared vertical differences.
    nsse ( 10 ) : Noise preserving sum of squared differences.
    w53 ( 11 ) : 5/3 wavelet ( only used in Snow ).
    w97 ( 12 ) : 9/7 wavelet ( only used in Snow ).
    dctmax ( 13 )
    chroma ( 14 )
-coder <string or int> :
    vlc ( 0 ) : Variable length coder / huffman coder.
    ac ( 1 ) : Arithmetic coder.
    raw ( 2 ) : Raw ( no encoding ).
    rle ( 3 ) : Run-length coder.
    deflate ( 4 ) : Deflate-based coder.
-cropbottom <int> : Set bottom crop band size ( in pixels ).
-cropleft <int> : Set left crop band size ( in pixels ).
-cropright <int> : Set right crop band size ( in pixels ).
-croptop <int> : Set top crop band size ( in pixels ).
-deinterlace : Deinterlace pictures.
-dc <int> : Intra DC precision.
-f <string> : Force file format.
    ac3 : Raw AC3
    avi : AVI
    dv : DV
    gxf : GXF ( General eXchange Format )
    h264 : Raw H.264
    m2v : MPEG-2 Video Elemetary Stream
    m4v : MPEG-4 Video Elemetary Stream
    mov : QuickTime
    mp2 : MPEG Audio Layer II
    mp3 : MPEG Audio Layer III
    mp4 : MP4
    mpeg : MPEG-1 System Stream
    mpegts : MPEG-2 Transport Stream
    rawvideo : RAW Video
    vob : MPEG-2 Program Stream
    wav : WAV
-flags <string> :
    aic : H.263 advanced intra coding / MPEG-4 ac prediction.
    aiv : H.263 alternative inter VLC.
    alt : Enable alternate scantable ( MPEG-2/MPEG-4 ).
    bitexact : Use only bitexact stuff ( except (i)dct ).
    cbp : Use rate distortion optimization for cbp.
    cgop : Closed GOP.
    gmc : Use global motion compensation.
    gray : Only decode/encode grayscale.
    ildct : Use interlaced DCT.
    ilme : Interlaced motion estimation.
    loop : Use loop filter.
    low_delay : Force low delay.
    mv0 : Always try a mb with mv=<0,0>.
    mv4 : Use four motion vector by macroblock ( MPEG-4 ).
    naq : Normalize adaptive quantization.
    obmc : Use overlapped block motion compensation ( H.263+ ).
    part : Use data partitioning.
    psnr : Error variables will be set during encoding.
    qpel : Use 1/4 pel motion compensation.
    qprd : Use rate distortion optimization for qp selection.
    scan_offset : Will reserve space for svcd scan offset user data.
    slice
    trell : Use trellis quantization.
    umv : Use unlimited motion vectors.
-flags2 <string> :
    aud : Access unit delimiters ( H.264 ).
    bpyramid : Allows B-frames to be used as references for predicting.
    brdo : B-frame rate-distortion optimization.
    dct8x8 : High profile 8x8 transform ( H.264 ).
    drop_frame_timecode
    fast : Allow non spec compliant speedup tricks.
    fastpskip : Fast pskip ( H.264 ).
    ivlc : Intra VLC table.
    local_header : Place global headers at every keyframe instead of in extradata.
    mixed_refs : One reference per partition, as opposed to one reference per macroblock.
    non_linear_q : Use non linear quantizer.
    noout : Skip bitstream encoding.
    sgop : Strictly enforce GOP size.
    skiprd : RD optimal macroblock level residual skipping.
    wpred : Weighted biprediction for B-frames ( H.264 ).
-formats : Show available formats, codecs, protocols, etc.
-g <int> : Set the group of pictures ( GOP ) size.
-genpts <boolean> : Generate PTS ( 0 = off / 1 = on ).
-h : Show help.
-i <string> : Input file name.
-intra : Use only intra frames ( I-frames ).
-loop_input : Loop ( only works with still images ).
-map <file:stream>[:syncfile:syncstream] : Set input stream mapping.
-maxrate <int> : Set maximum video bitrate tolerance ( in bit/s ).
-me <string or int> : Set motion estimation method.
    dia ( 1 ) : Diamond search, radius 1 ( fast ).
    hex ( 2 ) : Hexagonal search, radius 2 ( default ).
    umh ( 3 ) : Uneven multi-hexagon search.
    esa ( 4 ) : Exhaustive search ( slow ).
-mbd <string> : Macroblock decision algorithm ( high quality mode ).
    simple : Use mbcmp ( default ).
    bits : Use fewest bits.
    rd : Use best rate distortion.
-minrate <int> : Set minimum video bitrate tolerance ( in bit/s ).
-padbottom <int> : Set bottom pad band size ( in pixels ).
-padcolor <int> : Set color of pad bands ( Hex 000000 to FFFFFF ).
-padleft <int> : Set left pad band size ( in pixels ).
-padright <int> : Set right pad band size ( in pixels ).
-padtop <int> : Set top pad band size ( in pixels ).
-pass <int> : Select the pass number ( 1 or 2 ). The statistics of the video are recorded in the first pass and the video is generated at the exact requested bitrate in the second pass.
-pix_fmt <string> : Set pixel format.
    yuv420p
    yuv422p
    yuv444p
    yuv422
    yuv410p
    yuv411p
    yuvj420p
    yuvj422p
    yuvj444p
    rgb24
    bgr24
    rgba32
    rgb565
    rgb555
    gray
    monow
    monob
    pal8
-ps <int> : Set packet size in bits.
-qmax <int> : Maximum video quantizer scale ( VBR ).
-qmin <int> : Minimum video quantizer scale ( VBR ).
-r <int or string> : Set frame rate ( Hz value, fraction or abbreviation ). For example : 25, 30000/1001, etc.
-rc_init_occupancy <int> : Number of bits which should be loaded into the rate control buffer before decoding starts.
-s <string> : Set frame size ( WidthxHeight or abreviation ).
-subcmp <string or int> : Sub pel motion estimation compare function.
    sad ( 0 ) : Sum of absolute differences, fast ( default ).
    sse ( 1 ) : Sum of squared errors.
    satd ( 2 ) : Sum of absolute Hadamard transformed differences.
    dct ( 3 ) : Sum of absolute DCT transformed differences.
    psnr ( 4 ) : Sum of squared quantization errors ( avoid, low quality ).
    bit ( 5 ) : Number of bits needed for the block.
    rd ( 6 ) : Rate distortion optimal, slow.
    zero ( 7 ) : 0.
    vsad ( 8 ) : Sum of absolute vertical differences.
    vsse ( 9 ) : Sum of squared vertical differences.
    nsse ( 10 ) : Noise preserving sum of squared differences.
    w53 ( 11 ) : 5/3 wavelet ( only used in Snow ).
    w97 ( 12 ) : 9/7 wavelet ( only used in Snow ).
    dctmax ( 13 )
    chroma ( 14 )
-ss <timecode> : Set start time offset in seconds or hh:mm:ss[.xxx] format.
-t <timecode> : Set recording time in seconds or hh:mm:ss[.xxx] format.
-timecode_frame_start <int> : Set GOP start timecode value in number of frames ( ex: 1282748 for 14:15:09:23 ). Drop Frame mode is not supported.
-top <int> : Field dominance ( top = 1 / bottom = 0 / auto = -1 ).
-trellis <int> : Rate-distortion optimal quantization.
-vbsf <string> : Bitstream filters.
    dump_extra
    imxdump
    noise
    remove_extra
-vcodec <string> : Force video codec.
    copy : Copy raw codec data as is.
    dvvideo : DV Video
    ffv1 : FFV1 lossless video codec
    h264 : H.264
    mpeg2video : MPEG-2 Video
    rawvideo : RAW Video
    xvid : XviD ( MPEG-4 Part 2 )
-version : Show version.
-vframes <int> : Set the number of video frames to record.
-vn : Disable video.
-vol <int> : Modify audio volume ( 256=normal ).
-vsync <int> : Video sync method. Video will be stretched or squeezed to match the timestamps, it is done by duplicating and dropping frames. With -map option, you can select from which stream the timestamps should be taken. You can leave either video or audio unchanged and sync the remaining stream(s) to the unchanged one.
-vtag <string> : Force video FourCC/Tag.
-y : Overwrite output files.

Encoding

D10 (aka Sony IMX) Encoding

ffmpeg -async 1 -i <input_file> -vcodec mpeg2video -r 25 -pix_fmt yuv422p -minrate 50000k -maxrate 50000k -b 50000k -intra -flags +ildct+low_delay -dc 10 -flags2 +ivlc+non_linear_q -ps 1 -qmin 1 -qmax 3 -top 1 -bufsize 2000000 -rc_init_occupancy 2000000 -rc_buf_aggressivity 0.25 -an output.m2v
Notes :
- Only works for 25 fps content.
- Change minrate, maxrate and b values to 30000k / 40000k / 50000k in order to produce 30/40/50 Mbps D10 essence.
- Set bufsize and rc_init_occupancy values to 1200000 / 1600000 / 2000000 for 30/40/50 Mbps D10 essence.
- Add the -padtop 32 option if you want to produce a 720x608 D10 image size from a 720x576 source.

DVCAM / DVCPRO25 / DVCPRO50 Encoding

ffmpeg -i <input_file> -pix_fmt yuv420p output_DVCAM.dv
ffmpeg -i <input_file> -pix_fmt yuv411p output_DVCPRO25.dv
ffmpeg -i <input_file> -pix_fmt yuv422p output_DVCPRO50.dv

VC-3 (aka Avid DNxHD) Encoding

ffmpeg -i <input_file> -vcodec dnxhd -b <bitrate> -an output.mov
Notes :
- <bitrate> can take the following values : 36Mb, 120Mb, 185Mb ( please refer to the following table ).
- Add the following option for interlaced modes : -flags +ildct
- Add the following option for best quality mode ( very slow ! ) : -mbd rd

Supported Resolutions :
Project Format  Resolution  Frame Size  Bits  FPS  <bitrate>
1080i / 59.94  DNxHD 220  1920 x 1080  8  29.97  185Mb
1080i / 59.94  DNxHD 145  1920 x 1080  8  29.97  120Mb
1080i / 50  DNxHD 185  1920 x 1080  8  25  185Mb
1080i / 50  DNxHD 120  1920 x 1080  8  25  120Mb
1080p / 25  DNxHD 185  1920 x 1080  8  25  185Mb
1080p / 25  DNxHD 120  1920 x 1080  8  25  120Mb
1080p / 25  DNxHD 36  1920 x 1080  8  25  36Mb
1080p / 24  DNxHD 175  1920 x 1080  8  24  185Mb
1080p / 24  DNxHD 115  1920 x 1080  8  24  120Mb
1080p / 24  DNxHD 36  1920 x 1080  8  24  36Mb
1080p / 23.976  DNxHD 175  1920 x 1080  8  23.976  185Mb
1080p / 23.976  DNxHD 115  1920 x 1080  8  23.976  120Mb
1080p / 23.976  DNxHD 36  1920 x 1080  8  23.976  36Mb
1080p / 29.7  DNxHD 45  1920 x 1080  8  29.97  36Mb

FFV1 Encoding

ffmpeg -i <input_file> -vcodec ffv1 -an output.mov
H.264 I-frame only Highest Quality Encoding
ffmpeg -i <input_file> -vcodec h264 -cqp 1 -intra -coder ac -an output.mp4

H.264 Long GOP Encoding

ffmpeg -i <input_file> -vcodec h264 -b <video_bitrate> -g <gop_size> -bf 2 -b_strategy 1 -flags +loop -coder 1 -subcmp 2 -cmp 2 -trellis 2 -me hex -acodec aac -ab <audio_bitrate> output.mp4

MPEG-2 I-frame only Highest Quality Encoding

ffmpeg -i <input_file> -vcodec mpeg2video -qscale 1 -qmin 1 -intra -an output.m2v

MPEG-2 Long GOP Encoding

ffmpeg -i <input_file> -vcodec mpeg2video -b <video_bitrate> -g <gop_size> -bf 2 -b_strategy 1 -acodec mp2 -ab <audio_bitrate> -f vob output.mpg

D10 into QuickTime Wrapping

ffmpeg -i <input_file> -vcodec copy -acodec pcm_s16le -vtag mx5p -vbsf imxdump output.mov
Notes :
- This feature needs a patched version of FFmpeg not available in the current SVN, please contact Baptiste Coudurier or Olivier Amato for more information.
- Set -vtag to mx3p / mx4p / m5xp for D10 30/40/50 PAL or mx3n / mx4n / m5xn for D10 30/40/50 NTSC.
- Input D10 image size must be 720x608 ( use -padtop 32 option during D10 encoding if the original image size is 720x576 ).
- Final Cut Pro compliant.

MPEG-2 Program Stream Muxing

ffmpeg -genpts 1 -i ES_Video.m2v -i ES_Audio.mp2 -vcodec copy -acodec copy -f vob output.mpg

MPEG-2 Program Stream Demuxing

ffmpeg -i input.mpg -vcodec copy -f mpeg2video ES_Video.m2v -acodec copy -f mp2 ES_Audio.mp2
Note : This also works for files containing multiple audio tracks :
ffmpeg -i input.mpg -vcodec copy -f mpeg2video ES_Video.m2v -acodec copy -f mp2 ES_Audio1.mp2 -acodec copy -f mp2 ES_Audio2.mp2

MPEG-2 Start Timecode

ffmpeg -i <input_file> -timecode_frame_start <start_timecode> -vcodec mpeg2video -an output.m2v
Note : Start timecode is set as number of frames. For instance, if you want to start at 18:12:36:15, you will have to set -timecode_frame_start to 1638915 ( for 25 fps content ).

Audio Volume Modification

ffmpeg -i <input_file> -vol <audio_volume> -acodec <audio_codec> <output_file>

Input Stream Selection

ffmpeg -i input.vob -map 0:2 -acodec aac -ab <audio_bitrate> -vn output.mp4
Transcode audio stream #0:2.

Sub-clip Creation

ffmpeg -i <input_file> -ss <timecode> -t <timecode> -vcodec copy -acodec copy <output_file>

Make a Video File from a Single Frame

ffmpeg -loop_input -vframes <number_of_frames> -i <input_file> <output_file>
Please submit new command lines to Olivier Amato
h
粉丝 10
博文 81
码字总数 57985
作品 0
长沙
技术主管
私信 提问
加载中
请先登录后再评论。
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
7
开源渲染器--LuxRender

LuxRender 是一款物理真实的、无偏差的开源渲染器。 LuxRender渲染是根据渲染方程来模拟光的传输,生成物理真实的图像。但LuxRender 只是一款渲染程序而不是3D建模程序,它需要其它3D程序来创...

匿名
2013/03/03
1W
0
Base 参数解析库--bash argsparse

bash argsparse 是一个 Bash 的高级参数解析库。 Its purpose is to replace the option parsing and usage describing functions commonly rewritten in all scripts. Its features includ......

匿名
2013/03/27
381
0
Linux 多屏幕管理软件--XRandR

XRandR是X Rotate and Reflect Extension(改变大小与旋转扩充)的缩写,用来在命令行界面中对linux系统中的 X窗口系统的多屏幕做出一些设定的软件,能更改外接屏幕的大小、分辨率等...

匿名
2012/10/22
3.1K
0
Redis 分片实现--Redis Shard

redis-shard 是 Redis 分区的 Python API ,基于对 key 和 key tag 进行 CRC32 checksum 计算,可参考文章 http://antirez.com/post/redis-presharding.html . 该项目由知乎网开发。 使用限制...

匿名
2012/10/24
5.7K
0

没有更多内容

加载失败,请刷新页面

加载更多

用神经网络给照片补光,谷歌这项研究却实现了「鬼片」效果

  机器之心报道   编辑:魔王、杜伟、小舟    打光是图像处理过程中的重要步骤,打光的好坏可能会影响整体效果的展示。打光方法也各有不同,MIT、谷歌等的一项新研究另辟蹊径,通过神经...

osc_a9optwdf
21分钟前
0
0
滴滴基于 ElasticSearch 的一站式搜索中台实践

ElasticSearch 在滴滴的应用场景 滴滴自 2016 年 4 月开始组建团队,解决 ElasticSearch 在使用过程中遇到的性能问题。搜索平台的建设是随着业务体量的发展逐步演进的,如今已经发展到有超过...

互联网后端架构
今天
0
0
数据结构与算法之美——红黑树

一、前言 上两节,我们依次讲了树、二叉树、二叉搜索树。二叉搜索树是最常见的一种二叉树。它支持快随插入、删除、查找操作。各个操作的时间复杂度和树的高度成正比,平均时间复杂度是O(log...

osc_sezkegv6
22分钟前
9
0
数据结构与算法之美——二叉树

一、前言 前面我们讲的都是线性表结构,今天我们讲一种非线性表结构,树。树这种数据结构比线性表的数据结构要复杂得多,内容也比较多。 二、树 什么是树? 树是n(n≥0)个结点的有限集。n...

osc_ictoo263
24分钟前
0
0
今晚八点,听王国英老师讲玉米GS的应用。扫描图片二维码,进入直播间!

本文分享自微信公众号 - 育种数据分析之放飞自我(R-breeding)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

育种数据分析之放飞自
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部