Changes between Version 2 and Version 3 of Hardware/VAAPI


Ignore:
Timestamp:
Aug 25, 2017, 6:09:38 PM (8 weeks ago)
Author:
jkqxz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Hardware/VAAPI

    v2 v3  
    120120CBR and VBR modes are supported, though the output of them varies significantly by driver and device (default is VBR, set `-maxrate` equal to `-b:v` for CBR).  HRD buffering options (rc_max_rate, rc_buffer_size) are functional, and the encoder will generate buffering_period and pic_timing SEI when appropriate. 
    121121 
    122 There is no complete analogue of the `-preset` option.  The `-quality` option controls local encode quality (that is, the amount of effort expended on trying to get the best results from local choices like motion estimation and mode decision), using a nebulous per-device scale.   The argument is a small integer, from 1 up to some limit dependent on the device (not more than 8) - higher values are faster / lower stream quality.  Separately, some hardware (Intel gen9) supports a separate low-power mode with more restricted features.  It is accessible via the `-low_power` option. 
     122There is no complete analogue of the `-preset` option.  The `-compression_level` option controls the local speed/quality tradeoff in the encoder (that is, the amount of effort expended on trying to get the best results from local choices like motion estimation and mode decision), using a nebulous per-device scale.   The argument is a small integer, from 1 up to some limit dependent on the device (not more than 7) - higher values are faster / lower stream quality.  Separately, some hardware (Intel gen9) supports a low-power mode with more restricted features.  It is accessible via the `-low_power` option. 
    123123 
    124124Neither two-pass encoding nor lookahead are supported at all - only local rate control is possible.  VBR mode should do a reasonably good job at getting close to an overall bitrate target, but quality will vary significantly through a stream if the complexity varies. 
     
    236236Transcode for multiple streaming formats (one H.264 and one VP9, with the same parameters) from the same input: 
    237237{{{ 
    238 ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi -i input.mp4 -filter_complex 'split[h264][vp9]' -map '[cq]' -c:v h264_vaapi -b:v 5M output-h264.mp4 -map '[vp9]' -c:v vp9_vaapi -b:v 5M output-vp9.webm 
     238ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi -i input.mp4 -filter_complex 'split[h264][vp9]' -map '[h264]' -c:v h264_vaapi -b:v 5M output-h264.mp4 -map '[vp9]' -c:v vp9_vaapi -b:v 5M output-vp9.webm 
    239239}}} 
    240240