Disabled.
‘variance (1)’
Variance AQ (complexity mask).
‘autovariance (2)’
Auto-variance AQ (experimental).
aq-strength (aq-strength)
Set AQ strength, reduce blocking and blurring in flat and textured areas.
psy
Use psychovisual optimizations when set to 1. When set to 0, it has the same effect as x264’s --no-psy option.
psy-rd (psy-rd)
Set strength of psychovisual optimization, in psy-rd:psy-trellis format.
rc-lookahead (rc-lookahead)
Set number of frames to look ahead for frametype and ratecontrol.
weightb
Enable weighted prediction for B-frames when set to 1. When set to 0, it has the same effect as x264’s --no-weightb option.
weightp (weightp)
Set weighted prediction method for P-frames. Possible values:
‘none (0)’
Disabled
‘simple (1)’
Enable only weighted refs
‘smart (2)’
Enable both weighted refs and duplicates
ssim (ssim)
Enable calculation and printing SSIM stats after the encoding.
intra-refresh (intra-refresh)
Enable the use of Periodic 定期的Intra Refresh instead of IDR frames when set to 1.
avcintra-class (class)
Configure the encoder to generate AVC-Intra. Valid values are 50,100 and 200
bluray-compat (bluray-compat)
Configure the encoder to be compatible with the bluray standard. It is a shorthand for setting "bluray-compat=1 force-cfr=1".
b-bias (b-bias)
Set the influence on how often B-frames are used.
b-pyramid (b-pyramid)
Set method for keeping of some B-frames as references. Possible values:
‘none (none)’
Disabled.
‘strict (strict)’
Strictly hierarchical pyramid.
‘normal (normal)’
Non-strict (not Blu-ray compatible).
mixed-refs
Enable the use of one reference per partition, as opposed to one reference per macroblock when set to 1. When set to 0, it has the same effect as x264’s --no-mixed-refs option.
8x8dct
Enable adaptive spatial transform (high profile 8x8 transform) when set to 1. When set to 0, it has the same effect as x264’s --no-8x8dct option.
fast-pskip
Enable early SKIP detection on P-frames when set to 1. When set to 0, it has the same effect as x264’s --no-fast-pskip option.
aud (aud)
Enable use of access unit delimiters when set to 1.
mbtree
Enable use macroblock tree ratecontrol when set to 1. When set to 0, it has the same effect as x264’s --no-mbtree option.
deblock (deblock)
Set loop filter parameters, in alpha:beta form.
cplxblur (cplxblur)
Set fluctuations reduction in QP (before curve compression).
partitions (partitions)
Set partitions to consider as a comma-separated list of. Possible values in the list:
‘p8x8’
8x8 P-frame partition.
‘p4x4’
4x4 P-frame partition.
‘b8x8’
4x4 B-frame partition.
‘i8x8’
8x8 I-frame partition.
‘i4x4’
4x4 I-frame partition. (Enabling ‘p4x4’ requires ‘p8x8’ to be enabled. Enabling ‘i8x8’ requires adaptive spatial transform (8x8dct option) to be enabled.)
‘none (none)’
Do not consider any partitions.
‘all (all)’
Consider every partition.
direct-pred (direct)
Set direct MV prediction mode. Possible values:
‘none (none)’
Disable MV prediction.
‘spatial (spatial)’
Enable spatial predicting.
‘temporal (temporal)’
Enable temporal predicting.
‘auto (auto)’
Automatically decided.
slice-max-size (slice-max-size)
Set the limit of the size of each slice in bytes. If not specified but RTP payload size (ps) is specified, that is used.
stats (stats)
Set the file name for multi-pass stats.
nal-hrd (nal-hrd)
Set signal HRD information (requires vbv-bufsize to be set). Possible values:
‘none (none)’
Disable HRD information signaling.
‘vbr (vbr)’
Variable bit rate.
‘cbr (cbr)’
Constant bit rate (not allowed in MP4 container).
x264opts (N.A.)
Set any x264 option, see x264 --fullhelp for a list.
Argument is a list of key=value couples separated by ":". In filter and psy-rd options that use ":" as a separator themselves, use "," instead. They accept it as well since long ago but this is kept undocumented for some reason.
For example to specify libx264 encoding options with ffmpeg:
ffmpeg -i foo.mpg -vcodec libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv
a53cc boolean
Import closed captions (which must be ATSC compatible format) into output. Only the mpeg2 and h264 decoders provide these. Default is 1 (on).
x264-params (N.A.)
Override the x264 configuration using a :-separated list of key=value parameters.
This option is functionally the same as the x264opts, but is duplicated for compatibility with the Libav fork.
For example to specify libx264 encoding options with ffmpeg:
ffmpeg -i INPUT -c:v libx264 -x264-params level=30:bframes=0:weightp=0:\ cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:\ no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
Encoding ffpresets for common usages are provided so they can be used with the general presets system (e.g. passing the pre option).

CBR设置
为输出设置CBR,有三个参数必须设置为同一个值。
bitrate(-b option), minimal rate(-minrate), maximal rate(-maxrate)。maximal rate需要设置-bufsize选项。例如设置CBR为0.5Mbit/s。
ffmpeg -i in.avi -b 0.5M -minrate 0.5M -maxrate 0.5M -bufsize 1M output.mkv
  • qscale的取值可以是0.01-255但实际使用超过50就很糟糕了
  • -qscale 使用固定量化因子来量化视频这个是在vbr模式的,前面有提到,越小质量越好,不要超过50,相关的参数还有-qmin --qmax用来设定最大最小可使用的量化值
  • -qdiff 指定固定量化器因子允许的最大偏差
qblur 指定量化器模糊系数,可用范围是0.0-1.0越大使得码率在时间上分配的越平均
  • -qcomp 指定视频量化器压缩系数,默认0.5
上面文档中括号后面对应的是x264的选项
FFmpeg option x264 option
-g <frames> --keyint
-b <bits per second> --bitrate
-bufsize <bits> --vbv-bufsize
-maxrate <bits> --vbv-maxrate
-pass <1,2,3> --pass
-crf <float> --crf
-cqp <int> --qp
-bf <int> --bframes
-coder <0,1> --no-cabac
-bframebias <int> --b-bias
-keyint_min <int> --min-keyint
-sc_threshold <int> --scenecut
-deblockalpha <int>-deblockbeta <int> --deblock
-qmin <int> --qpmin
-qmax <int> --qpmax
-qdiff <int> --qpstep
-qcomp <float> --qcomp
-qblur <float> --qblur
-complexityblur <float> --cplxblur
-refs <int> --ref
-directpred <int> --direct
-me_method <epzs,hex,umh,full> --me
-me_range <int> --merange
-subq <int> --subme
-bidir_refine <0,1> --bime
-trellis <0,1,2> --trellis
-nr <int> --nr
-level <int> --level
-bt <bits> --ratetol = -bt / -b
-rc_init_occupancy <bits> --vbv-init = -rc_init_occupancy / -bufsize
-i_qfactor <float> --ipratio = 1 / -i_qfactor
-b_qfactor <float> --pbratio
-chromaoffset <int> --chroma-qp-offset
-rc_eq <string> --rc_eq
-threads <int> --threads
-cmp <-chroma/+chroma> --no-chroma-me
-partitions --partitions
+parti8×8 i8×8
+parti4×4 i4×4
+partp8×8 p8×8
+partp4×4 p4×4
+partb8×8 b8×8
-flags
-loop/+loop --no-deblock/–deblock
-psnr/+psnr --no-psnr/nothing
-flags2
+bpyramid --b-pyramid
+wpred --weightb
+brdo --b-rdo 我这里的ffmpeg已经不能用这个了
+mixed_refs --mixed-refs
+dct8×8 --8×8dct
-fastpskip/+fastpskip --no-fast-pskip
+aud --aud

ffmpeg中的x264编码选项,对应关系的更多相关文章

  1. android ndk编译x264开源(用于android的ffmpeg中进行软编码)

    http://blog.csdn.net/u012917616/article/details/40921833 不废话,直接上.sh脚本: export NDK=/home/xxx/my_softw ...

  2. FFmpeg与libx264 x264接口对应关系源代码分析

    源代码位于“libavcodec/libx264.c”中.正是有了这部分代码,使得FFmpeg可以调用libx264编码H.264视频.  从图中可以看出,libx264对应的AVCodec结构体ff ...

  3. WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码

    转自:http://blog.csdn.net/nonmarking/article/details/47958395 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教 ...

  4. ffmpeg,X264编码结果I帧QP比P帧还大

    enc_ctx->profile =FF_PROFILE_H264_MAIN ; enc_ctx->time_base.den = 24; enc_ctx->time_base.nu ...

  5. FFmpeg与libx264 x264接口源代码简单分析

    源代码位于“libavcodec/libx264.c”中.正是有了这部分代码,使得FFmpeg可以调用libx264编码H.264视频.  从图中可以看出,libx264对应的AVCodec结构体ff ...

  6. ffmpeg 中添加264支持

    转自:http://blog.sina.com.cn/s/blog_513f4e8401011yuq.html ffmpeg 中带有264的解码,没有编码,需要添加x264: 参考百度上的“windo ...

  7. x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1

    文章文件夹: x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1 x264 编码器选项分析 (x264 Codec Strong and Weak P ...

  8. x264 编码器选项分析 (x264 Codec Strong and Weak Points) 2

    文章目录: x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1 x264 编码器选项分析 (x264 Codec Strong and Weak Po ...

  9. FFmpeg中overlay滤镜用法-水印及画中画

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10434209.html 1. overlay技术简介 overlay技术又称视频叠加技术 ...

随机推荐

  1. Step by Step 使用HTML5开发一个星际大战游戏(2)

    HTML5 Canvas Game: 玩家飞船  本系列博文翻译自以下文章 http://blog.sklambert.com/html5-canvas-game-the-player-ship/ L ...

  2. 【java】JDK安装后,没有配置环境变量,也可以java -version查看到版本信息

    JDK安装后,没有配置环境变量,也可以java -version查看到版本信息 原因是:jdk安装过程,java.javaw.javaws三个命令被复制到C:\windows\system32目录下 ...

  3. Python 自用代码(拆分txt文件)

    现有一个28G的txt文件,里面每一行是一个分词过的专利全文文档,一共370多万行.我需要把它按每五万行为单位做成一个json文件,格式大致如下: [{"id":"100 ...

  4. 【重点突破】—— 当better-scroll 遇见Vue

    前言:在学习黄轶老师的<Vue.js高仿饿了么外卖App>课程中接触到了better-scroll第三方JavaScript组件库,这是黄轶老师自己基于iscroll重写的库.这里结合黄轶 ...

  5. Socket网络通讯开发总结之:Java 与 C进行Socket通讯(转)

    先交待一下业务应用背景:服务端:移动交费系统:基于C语言的Unix系统客户端:增值服务系统:基于Java的软件系统通迅协议:采用TCP/IP协议,使用TCP以异步方式接入数据传输:基于Socket流的 ...

  6. Centos 7 进入单用户模式图文详解

    由于昨晚做了一个很傻X的事情,所以有幸进入了CentOS 7 的单用户模式. CentOS 7 在进入单用户的时候和6.x做了很多的改变, 下面让我们来看看如何进入单用户模式. 如何进入CentOS ...

  7. Java8:纠结的默认方法

    [编程导论(Java)·4.3Java接口] 在[0.3.1 Java简单介绍]中,有这么一段话:"请注意:Java并不是作为教学语言设计的.世界各地的大学在讲授Java的过程中均遇到一些教 ...

  8. select * from (select user())a 为什么是查询user()的意思?

    步骤:1.先查询 select user() 这里面的语句,将这里面查询出来的数据作为一个结果集 取名为 a2.然后 再 select * from a 查询a ,将 结果集a 全部查询出来

  9. Cannot find module 'webpack'

    执行webpack命令报错 Error: Cannot find module 'webpack' at Function.Module._resolveFilename (module.js:325 ...

  10. tcp/ip--IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    IP 数据报首部 最高位在左边,记为0 bit:最低位在右边,记为31 bit 版本: 占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4) 首部长度: 占4位,可表示的最 ...