x264 01 命令行用法

x264的二进制文件

x264的官网x264, the best H.264/AVC encoder - VideoLAN上有编译好的Windows、Linux、Mac平台对应的二进制文件,比如Windows下是exe文件,可以直接用该文件来进行编码的操作。

x264 01 命令行用法_第1张图片
x264 Binaries

x264 01 命令行用法_第2张图片
列表

x264 01 命令行用法_第3张图片
Windows下的exe列表

x264 --help

C:\Users\ZL Guo\Desktop\x264>x264-r2901-7d0ff22.exe --help
x264 core:155 r2901 7d0ff22
Syntax: x264 [options] -o outfile infile

Infile can be raw (in which case resolution is required),
  or YUV4MPEG (*.y4m),
  or Avisynth if compiled with support (yes).
  or libav* formats if compiled with lavf support (yes) or ffms support (no).
Outfile type is selected by filename:
 .264 -> Raw bytestream
 .mkv -> Matroska
 .flv -> Flash Video
 .mp4 -> MP4 if compiled with GPAC or L-SMASH support (no)
Output bit depth: 8/10
.
Options:

  -h, --help                  List basic options
      --longhelp              List more options
      --fullhelp              List all options

Example usage:

      Constant quality mode:
            x264 --crf 24 -o  

      Two-pass with a bitrate of 1000kbps:
            x264 --pass 1 --bitrate 1000 -o  
            x264 --pass 2 --bitrate 1000 -o  

      Lossless:
            x264 --qp 0 -o  

      Maximum PSNR at the cost of speed and visual quality:
            x264 --preset placebo --tune psnr -o  

      Constant bitrate at 1000kbps with a 2 second-buffer:
            x264 --vbv-bufsize 2000 --bitrate 1000 -o  

Presets:

      --profile       Force the limits of an H.264 profile
                                  Overrides all settings.
                                  - baseline,main,high,high10,high422,high444
      --preset        Use a preset to select encoding settings [medium]
                                  Overridden by user settings.
                                  - ultrafast,superfast,veryfast,faster,fast
                                  - medium,slow,slower,veryslow,placebo
      --tune          Tune the settings for a particular type of source
                              or situation
                                  Overridden by user settings.
                                  Multiple tunings are separated by commas.
                                  Only one psy tuning can be used at a time.
                                  - psy tunings: film,animation,grain,
                                                 stillimage,psnr,ssim
                                  - other tunings: fastdecode,zerolatency

Frame-type options:

  -I, --keyint  Maximum GOP size [250]
      --tff                   Enable interlaced mode (top field first)
      --bff                   Enable interlaced mode (bottom field first)
      --pulldown      Use soft pulldown to change frame rate
                                  - none, 22, 32, 64, double, triple, euro (requ
ires cfr input)

Ratecontrol:

  -B, --bitrate      Set bitrate (kbit/s)
      --crf            Quality-based VBR (-12-51) [23.0]
      --vbv-maxrate  Max local bitrate (kbit/s) [0]
      --vbv-bufsize  Set size of the VBV buffer (kbit) [0]
  -p, --pass         Enable multipass ratecontrol
                                  - 1: First pass, creates stats file
                                  - 2: Last pass, does not overwrite stats file

Input/Output:

  -o, --output        Specify output file
      --sar width:height      Specify Sample Aspect Ratio
      --fps   Specify framerate
      --seek         First frame to encode
      --frames       Maximum number of frames to encode
      --level         Specify level (as defined by Annex A)
      --quiet                 Quiet Mode

Filtering:

      --vf, --video-filter //... Apply video filtering to the
input file

      Filter options may be specified in :

可以看出命令行的基本用法如下:

Syntax: x264 [options] -o outfile infile

可以输出为以下四种格式:

Outfile type is selected by filename:
 .264 -> Raw bytestream
 .mkv -> Matroska
 .flv -> Flash Video
 .mp4 -> MP4 if compiled with GPAC or L-SMASH support (no)

用法举例

基本用法
x264 01 命令行用法_第4张图片
x264命令行基本用法

用MediaInfo可查看生成的264文件的信息。


x264 01 命令行用法_第5张图片
查看编码信息

可以看出默认编码的帧率为25帧/秒,启用了8*8dct变换,qp的最小值为0,qp的最大值为69,qp的步长为4等信息。

指定码率 --bitrate
x264 --bitrate 1000 -o output.264 input_640x360_yuv420p.yuv
x264 01 命令行用法_第6张图片
编码信息
指定帧率 --fps
x264 --fps 10 -o output.264 input_640x360_yuv420p.yuv
x264 01 命令行用法_第7张图片
编码信息
指定编码速度 --preset

--preset的参数主要调节编码速度和质量的平衡

--preset        Use a preset to select encoding settings [medium] 
                        Overridden by user settings.
                        - ultrafast,superfast,veryfast,faster,fast
                        - medium,slow,slower,veryslow,placebo
x264 --preset ultrafast -o output.264 input_640x360_yuv420p.yuv

x264 01 命令行用法_第8张图片
运行过程

可以看出,使用ultrafast参数时,速度非常快,只有I帧和P帧,没有B帧,而且码率也比较大。 个人理解是以空间换时间

x264 --preset placebo -o output.264 input_640x360_yuv420p.yuv

x264 01 命令行用法_第9张图片
运行过程

可以看到使用了更多的编码参数,速度也非常慢,但码率得到了有效控制。 个人理解是提高算法复杂度,以时间换空间

配合视觉优化 --tune
 --tune     Tune the settings for a particular type of source 
                    or situation 
                    Overridden by user settings.
                    Multiple tunings are separated by commas.
                    Only one psy tuning can be used at a time.

                    - psy tunings: 
                                   film,
                                   animation,
                                   grain,
                                   stillimage,
                                   psnr,
                                   ssim

                    - other tunings: 
                                    fastdecode,
                                    zerolatency
x264 01 命令行用法_第10张图片
tune说明

References:

http://blog.csdn.net/daixinmei/article/details/51886850

你可能感兴趣的:(x264 01 命令行用法)