[FFmpeg-trac] #7526(undetermined:new): VAAPI HEVC Encoder Bitrate parameter no longer works in Master compared to 4.0.x
FFmpeg
trac at avcodec.org
Wed Oct 31 22:55:43 EET 2018
#7526: VAAPI HEVC Encoder Bitrate parameter no longer works in Master compared to
4.0.x
-------------------------------------+-------------------------------------
Reporter: jlsantiago0 | Owner:
Type: defect | Status: new
Priority: normal | Component:
Version: git-master | undetermined
Keywords: vaapi hevc | Resolution:
encode rate control | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by jlsantiago0):
Notice that with 4.0.2 release build you can configure the bitrate and get
different bitrate in the output. Granted the bitrate is higher than
requested. Asking for 2Mbps achieves approx 3.2Mbps and asking for 4Mbps
achieves approx 5.5Mbps
{{{
> -vaapi_device /dev/dri/renderD128 \
> -i
/mnt/share/content/yuv/lp/SVT_Park_joy_FR6001_7000_1920x1080p50.avi.yuv.y4m
\
> -vf 'format=nv12,hwupload' -c:v hevc_vaapi -b:v 2M -g 30 -bf 2 test-
vaapi-2m.hevc
ffmpeg version n4.0.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 8.2.1 (GCC) 20180831
configuration: --prefix=/usr --disable-debug --disable-static --disable-
stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl
--enable-ladspa --enable-libaom --enable-libass --enable-libbluray
--enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm
--enable-libiec61883 --enable-libjack --enable-libmodplug --enable-
libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-
libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-
libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-
libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-
libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid
--enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-
version3
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
Input #0, yuv4mpegpipe, from
'/mnt/share/content/yuv/lp/SVT_Park_joy_FR6001_7000_1920x1080p50.avi.yuv.y4m':
Duration: 00:00:20.00, start: 0.000000, bitrate: 1244162 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449),
yuv420p(progressive), 1920x1080, 50 fps, 50 tbr, 50 tbn, 50 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (hevc_vaapi))
Press [q] to stop, [?] for help
Output #0, hevc, to 'test-vaapi-2m.hevc':
Metadata:
encoder : Lavf58.12.100
Stream #0:0: Video: hevc (hevc_vaapi) (Main), vaapi_vld, 1920x1080,
q=2-31, 2000 kb/s, 50 fps, 50 tbn, 50 tbc
Metadata:
encoder : Lavc58.18.100 hevc_vaapi
frame= 44 fps=0.0 q=-0.0 size= 256kB time=00:00:00.82
bitrate=2557.5kbits
frame= 87 fps= 86 q=-0.0 size= 512kB time=00:00:01.68
bitrate=2496.6kbits
frame= 128 fps= 85 q=-0.0 size= 768kB time=00:00:02.50
bitrate=2516.6kbits
frame= 172 fps= 85 q=-0.0 size= 1280kB time=00:00:03.38
bitrate=3102.3kbits
frame= 215 fps= 85 q=-0.0 size= 1536kB time=00:00:04.24
bitrate=2967.7kbits
frame= 256 fps= 84 q=-0.0 size= 1792kB time=00:00:05.06
bitrate=2901.2kbits
frame= 298 fps= 84 q=-0.0 size= 2304kB time=00:00:05.90
bitrate=3199.0kbits
frame= 341 fps= 84 q=-0.0 size= 2560kB time=00:00:06.76
bitrate=3102.3kbits
frame= 383 fps= 83 q=-0.0 size= 2816kB time=00:00:07.60
bitrate=3035.4kbits
frame= 428 fps= 84 q=-0.0 size= 3328kB time=00:00:08.50
bitrate=3207.4kbits
frame= 472 fps= 84 q=-0.0 size= 3584kB time=00:00:09.38
bitrate=3130.1kbits
frame= 511 fps= 83 q=-0.0 size= 3840kB time=00:00:10.16
bitrate=3096.2kbits
frame= 554 fps= 83 q=-0.0 size= 4352kB time=00:00:11.02
bitrate=3235.2kbits
frame= 597 fps= 84 q=-0.0 size= 4608kB time=00:00:11.88
bitrate=3177.5kbits
frame= 641 fps= 84 q=-0.0 size= 4864kB time=00:00:12.76
bitrate=3122.7kbits
frame= 686 fps= 84 q=-0.0 size= 5376kB time=00:00:13.66
bitrate=3224.0kbits
frame= 730 fps= 84 q=-0.0 size= 5888kB time=00:00:14.54
bitrate=3317.4kbits
frame= 773 fps= 84 q=-0.0 size= 6144kB time=00:00:15.40
bitrate=3268.3kbits
frame= 815 fps= 84 q=-0.0 size= 6400kB time=00:00:16.24
bitrate=3228.4kbits
frame= 860 fps= 84 q=-0.0 size= 6912kB time=00:00:17.14
bitrate=3303.6kbits
frame= 907 fps= 85 q=-0.0 size= 7168kB time=00:00:18.08
bitrate=3247.8kbits
frame= 929 fps= 83 q=-0.0 size= 7424kB time=00:00:18.52
bitrate=3283.9kbits
frame= 977 fps= 83 q=-0.0 size= 7680kB time=00:00:19.48
bitrate=3229.7kbits
frame= 1000 fps= 81 q=-0.0 Lsize= 8045kB time=00:00:19.98
bitrate=3298.6kbits/s speed=1.62x
video:8045kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.000000%
[jsantiago at jlsserver2 ~/tt55/tt3]$ ffmpeg \
> -vaapi_device /dev/dri/renderD128 \
> -i
/mnt/share/content/yuv/lp/SVT_Park_joy_FR6001_7000_1920x1080p50.avi.yuv.y4m
\
> -vf 'format=nv12,hwupload' -c:v hevc_vaapi -b:v 4M -g 30 -bf 2 test-
vaapi-4m.hevc
ffmpeg version n4.0.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 8.2.1 (GCC) 20180831
configuration: --prefix=/usr --disable-debug --disable-static --disable-
stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl
--enable-ladspa --enable-libaom --enable-libass --enable-libbluray
--enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm
--enable-libiec61883 --enable-libjack --enable-libmodplug --enable-
libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-
libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-
libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-
libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-
libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid
--enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-
version3
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
Input #0, yuv4mpegpipe, from
'/mnt/share/content/yuv/lp/SVT_Park_joy_FR6001_7000_1920x1080p50.avi.yuv.y4m':
Duration: 00:00:20.00, start: 0.000000, bitrate: 1244162 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449),
yuv420p(progressive), 1920x1080, 50 fps, 50 tbr, 50 tbn, 50 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (hevc_vaapi))
Press [q] to stop, [?] for help
Output #0, hevc, to 'test-vaapi-4m.hevc':
Metadata:
encoder : Lavf58.12.100
Stream #0:0: Video: hevc (hevc_vaapi) (Main), vaapi_vld, 1920x1080,
q=2-31, 4000 kb/s, 50 fps, 50 tbn, 50 tbc
Metadata:
encoder : Lavc58.18.100 hevc_vaapi
frame= 44 fps=0.0 q=-0.0 size= 512kB time=00:00:00.82
bitrate=5115.0kbits
frame= 86 fps= 83 q=-0.0 size= 1024kB time=00:00:01.66
bitrate=5053.4kbits
frame= 128 fps= 83 q=-0.0 size= 1792kB time=00:00:02.50
bitrate=5872.0kbits
frame= 170 fps= 83 q=-0.0 size= 2560kB time=00:00:03.34
bitrate=6278.9kbits
frame= 209 fps= 81 q=-0.0 size= 3072kB time=00:00:04.12
bitrate=6108.2kbits
frame= 251 fps= 81 q=-0.0 size= 3840kB time=00:00:04.96
bitrate=6342.2kbits
frame= 293 fps= 81 q=-0.0 size= 4608kB time=00:00:05.80
bitrate=6508.4kbits
frame= 332 fps= 81 q=-0.0 size= 5120kB time=00:00:06.58
bitrate=6374.3kbits
frame= 375 fps= 81 q=-0.0 size= 5888kB time=00:00:07.44
bitrate=6483.1kbits
frame= 418 fps= 82 q=-0.0 size= 6656kB time=00:00:08.30
bitrate=6569.4kbits
frame= 458 fps= 82 q=-0.0 size= 7168kB time=00:00:09.10
bitrate=6452.8kbits
frame= 500 fps= 82 q=-0.0 size= 7936kB time=00:00:09.94
bitrate=6540.4kbits
frame= 544 fps= 82 q=-0.0 size= 8704kB time=00:00:10.82
bitrate=6589.9kbits
frame= 583 fps= 82 q=-0.0 size= 9216kB time=00:00:11.60
bitrate=6508.4kbits
frame= 625 fps= 82 q=-0.0 size= 9728kB time=00:00:12.44
bitrate=6406.1kbits
frame= 668 fps= 82 q=-0.0 size= 10496kB time=00:00:13.30
bitrate=6464.9kbits
frame= 709 fps= 82 q=-0.0 size= 11264kB time=00:00:14.12
bitrate=6535.0kbits
frame= 749 fps= 82 q=-0.0 size= 11776kB time=00:00:14.92
bitrate=6465.8kbits
frame= 794 fps= 82 q=-0.0 size= 12544kB time=00:00:15.82
bitrate=6495.6kbits
frame= 836 fps= 82 q=-0.0 size= 13312kB time=00:00:16.66
bitrate=6545.7kbits
frame= 881 fps= 82 q=-0.0 size= 14080kB time=00:00:17.56
bitrate=6568.5kbits
frame= 926 fps= 82 q=-0.0 size= 14848kB time=00:00:18.46
bitrate=6589.1kbits
frame= 973 fps= 83 q=-0.0 size= 15616kB time=00:00:19.40
bitrate=6594.1kbits
frame= 1000 fps= 83 q=-0.0 Lsize= 16196kB time=00:00:19.98
bitrate=6640.4kbits/s speed=1.66x
video:16196kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.000000%
[jsantiago at jlsserver2 ~/tt55/tt3]$ ls -la
total 24252
drwxr-xr-x 2 jsantiago users 4096 Oct 31 15:45 .
drwxr-xr-x 6 jsantiago users 4096 Oct 31 15:42 ..
-rw-r--r-- 1 jsantiago users 8238332 Oct 31 15:42 test-vaapi-2m.hevc
-rw-r--r-- 1 jsantiago users 16584286 Oct 31 15:45 test-vaapi-4m.hevc
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7526#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list