I believe there were concerns on pushing the CUDA thumbnail filter and that is
possible to get similar performance using the normal thumbnail filter. The CUDA
thumbnail filter is useful for generating thumbnails on the hwaccel cuvid
pipeline, as it can directly operate on the video memory and give significantly
higher performance, owing to the fact that there are no sysmem to vidmem copies
as well as the fact that the encoding and CUDA HW being separate, the CUDA
thumbnail filter may not degrade the encode performance at all.
The following commands run show that using the Cuda thumbnail filter on the hw
pipeline could be 3x-4x faster.
E:\>ffmpeg -vsync 0 -y -hwaccel cuvid -c:v h264_cuvid -i amazing.264
-filter_complex
[0:v]split=2[in0][in1];[in0]thumbnail_cuda=600,hwdownload,format=nv12[out0];[in1]scale_npp=1920:1080
[out1] -map [out0] thumb%03d.jpg -map [out1] -c:v h264_nvenc out.264 2> hw.txt
E:\>ffmpeg -vsync 0 -y -c:v h264_cuvid -i amazing.264 -filter_complex
[0:v]split=2[in0][in1];[in0]thumbnail[out0];[in1]scale[out1] -map [out0]
thumb%03d.jpg -map [out1] -c:v h264_nvenc
out.264 2> sw.txt
Thanks,
Yogender
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may
contain
confidential information. Any unauthorized review, use, disclosure or
distribution
is prohibited. If you are not the intended recipient, please contact the
sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
ffmpeg version 3.3.git Copyright (c) 2000-2017 the FFmpeg developers
built with Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x64
configuration: --enable-nonfree --disable-shared --enable-nvenc --enable-cuda
--enable-cuvid --enable-libnpp --enable-cuda-sdk --enable-libnpp
--extra-cflags=-Ilocal/include --extra-cflags=-I../nv_sdk
--extra-ldflags='-libpath:../nv_sdk' --toolchain=msvc
libavutil 55. 74.100 / 55. 74.100
libavcodec 57.104.101 / 57.104.101
libavformat 57. 81.100 / 57. 81.100
libavdevice 57. 8.100 / 57. 8.100
libavfilter 6.101.100 / 6.101.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
[h264 @ 00000057E4367AE0] Stream #0: not enough frames to estimate rate;
consider increasing probesize
Input #0, h264, from 'amazing.264':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1072 [SAR
134:135 DAR 16:9], 24 fps, 24 tbr, 1200k tbn, 48 tbc
Stream mapping:
Stream #0:0 (h264_cuvid) -> split
format -> Stream #0:0 (mjpeg)
scale_npp -> Stream #1:0 (h264_nvenc)
Press [q] to stop, [?] for help
[swscaler @ 00000057E43BF400] deprecated pixel format used, make sure you did
set range correctly
Output #0, image2, to 'thumb%03d.jpg':
Metadata:
encoder : Lavf57.81.100
Stream #0:0: Video: mjpeg, yuvj420p(pc), 1920x1072 [SAR 134:135 DAR 16:9],
q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc
Metadata:
encoder : Lavc57.104.101 mjpeg
Side data:
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
Output #1, h264, to 'out.264':
Metadata:
encoder : Lavf57.81.100
Stream #1:0: Video: h264 (h264_nvenc) (Main), cuda, 1920x1080 [SAR 1:1 DAR
16:9], q=-1--1, 2000 kb/s, 24 fps, 24 tbn, 24 tbc
Metadata:
encoder : Lavc57.104.101 h264_nvenc
Side data:
cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 4000000 vbv_delay: -1
frame= 0 fps=0.0 q=0.0 q=25.0 size=N/A time=00:00:06.12 bitrate=N/A
speed=12.2x
frame= 0 fps=0.0 q=0.0 q=25.0 size=N/A time=00:00:12.91 bitrate=N/A
speed=12.9x
frame= 0 fps=0.0 q=0.0 q=29.0 size=N/A time=00:00:18.58 bitrate=N/A
speed=12.3x
frame= 0 fps=0.0 q=0.0 q=27.0 size=N/A time=00:00:24.20 bitrate=N/A speed=
12x
[Parsed_thumbnail_cuda_1 @ 00000057E6D88900] frame id #150 (pts_time=6.249990)
selected from a set of 600 images
frame= 1 fps=0.4 q=3.0 q=25.0 size=N/A time=00:00:30.54 bitrate=N/A
speed=12.2x
frame= 1 fps=0.3 q=3.0 q=28.0 size=N/A time=00:00:37.37 bitrate=N/A
speed=12.4x
frame= 1 fps=0.3 q=3.0 q=29.0 size=N/A time=00:00:44.00 bitrate=N/A
speed=12.5x
[Parsed_thumbnail_cuda_1 @ 00000057E6D88900] frame id #461 (pts_time=44.208262)
selected from a set of 600 images
frame= 2 fps=0.5 q=1.6 q=29.0 size=N/A time=00:00:50.25 bitrate=N/A
speed=12.5x
frame= 2 fps=0.4 q=1.6 q=31.0 size=N/A time=00:00:56.91 bitrate=N/A
speed=12.6x
frame= 2 fps=0.4 q=1.6 q=30.0 size=N/A time=00:01:03.41 bitrate=N/A
speed=12.6x
frame= 2 fps=0.4 q=1.6 q=25.0 size=N/A time=00:01:09.83 bitrate=N/A
speed=12.6x
[Parsed_thumbnail_cuda_1 @ 00000057E6D88900] frame id #216 (pts_time=58.999906)
selected from a set of 600 images
frame= 3 fps=0.5 q=1.6 q=27.0 size=N/A time=00:01:15.91 bitrate=N/A
speed=12.6x
frame= 3 fps=0.5 q=1.6 q=26.0 size=N/A time=00:01:22.00 bitrate=N/A
speed=12.6x
[NULL @ 00000057E437A9E0] missing picture in access unit with size 37
[Parsed_thumbnail_cuda_1 @ 00000057E6D88900] frame id #104 (pts_time=79.333207)
selected from a set of 237 images
frame= 4 fps=0.6 q=2.0 Lq=25.0 size=N/A time=00:01:25.12 bitrate=N/A
speed=12.6x
video:21132kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
ffmpeg version 3.3.git Copyright (c) 2000-2017 the FFmpeg developers
built with Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x64
configuration: --enable-nonfree --disable-shared --enable-nvenc --enable-cuda
--enable-cuvid --enable-libnpp --enable-cuda-sdk --enable-libnpp
--extra-cflags=-Ilocal/include --extra-cflags=-I../nv_sdk
--extra-ldflags='-libpath:../nv_sdk' --toolchain=msvc
libavutil 55. 74.100 / 55. 74.100
libavcodec 57.104.101 / 57.104.101
libavformat 57. 81.100 / 57. 81.100
libavdevice 57. 8.100 / 57. 8.100
libavfilter 6.101.100 / 6.101.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
[h264 @ 000000CDC1327A20] Stream #0: not enough frames to estimate rate;
consider increasing probesize
Input #0, h264, from 'amazing.264':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1072 [SAR
134:135 DAR 16:9], 24 fps, 24 tbr, 1200k tbn, 48 tbc
Stream mapping:
Stream #0:0 (h264_cuvid) -> split
thumbnail -> Stream #0:0 (mjpeg)
scale -> Stream #1:0 (h264_nvenc)
Press [q] to stop, [?] for help
[swscaler @ 000000CDC4970FC0] deprecated pixel format used, make sure you did
set range correctly
Output #0, image2, to 'thumb%03d.jpg':
Metadata:
encoder : Lavf57.81.100
Stream #0:0: Video: mjpeg, yuvj444p(pc), 1920x1072 [SAR 134:135 DAR 16:9],
q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc
Metadata:
encoder : Lavc57.104.101 mjpeg
Side data:
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
Output #1, h264, to 'out.264':
Metadata:
encoder : Lavf57.81.100
Stream #1:0: Video: h264 (h264_nvenc) (Main), nv12, 1920x1080 [SAR 1:1 DAR
16:9], q=-1--1, 2000 kb/s, 24 fps, 24 tbn, 24 tbc
Metadata:
encoder : Lavc57.104.101 h264_nvenc
Side data:
cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 4000000 vbv_delay: -1
frame= 0 fps=0.0 q=0.0 q=25.0 size=N/A time=00:00:00.95 bitrate=N/A speed=
1.9x
frame= 0 fps=0.0 q=0.0 q=25.0 size=N/A time=00:00:02.41 bitrate=N/A speed=
2.4x
frame= 0 fps=0.0 q=0.0 q=25.0 size=N/A time=00:00:03.87 bitrate=N/A
speed=2.57x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #13 (pts_time=0.541666)
selected from a set of 100 images
frame= 1 fps=0.5 q=3.9 q=25.0 size=N/A time=00:00:05.37 bitrate=N/A
speed=2.67x
frame= 1 fps=0.4 q=3.9 q=25.0 size=N/A time=00:00:07.00 bitrate=N/A
speed=2.78x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #29 (pts_time=5.374992)
selected from a set of 100 images
frame= 2 fps=0.7 q=1.9 q=29.0 size=N/A time=00:00:08.54 bitrate=N/A
speed=2.82x
frame= 2 fps=0.6 q=1.9 q=25.0 size=N/A time=00:00:10.20 bitrate=N/A
speed=2.88x
frame= 2 fps=0.5 q=1.9 q=25.0 size=N/A time=00:00:11.87 bitrate=N/A
speed=2.93x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #86 (pts_time=11.916648)
selected from a set of 100 images
frame= 3 fps=0.7 q=1.6 q=25.0 size=N/A time=00:00:13.41 bitrate=N/A
speed=2.94x
frame= 3 fps=0.6 q=1.6 q=25.0 size=N/A time=00:00:15.08 bitrate=N/A
speed=2.98x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #72 (pts_time=15.499975)
selected from a set of 100 images
frame= 4 fps=0.7 q=2.2 q=26.0 size=N/A time=00:00:16.62 bitrate=N/A
speed=2.98x
frame= 4 fps=0.7 q=2.2 q=29.0 size=N/A time=00:00:18.25 bitrate=N/A speed=
3x
frame= 4 fps=0.6 q=2.2 q=27.0 size=N/A time=00:00:19.87 bitrate=N/A
speed=3.02x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #98 (pts_time=20.749967)
selected from a set of 100 images
frame= 5 fps=0.7 q=4.3 q=28.0 size=N/A time=00:00:21.41 bitrate=N/A
speed=3.02x
frame= 5 fps=0.7 q=4.3 q=28.0 size=N/A time=00:00:23.04 bitrate=N/A
speed=3.03x
frame= 5 fps=0.6 q=4.3 q=29.0 size=N/A time=00:00:24.66 bitrate=N/A
speed=3.04x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #57 (pts_time=23.208296)
selected from a set of 100 images
frame= 6 fps=0.7 q=6.8 q=27.0 size=N/A time=00:00:26.20 bitrate=N/A
speed=3.04x
frame= 6 fps=0.7 q=6.8 q=26.0 size=N/A time=00:00:27.87 bitrate=N/A
speed=3.05x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #91 (pts_time=28.791621)
selected from a set of 100 images
frame= 7 fps=0.7 q=9.6 q=26.0 size=N/A time=00:00:29.41 bitrate=N/A
speed=3.05x
frame= 7 fps=0.7 q=9.6 q=28.0 size=N/A time=00:00:31.08 bitrate=N/A
speed=3.06x
frame= 7 fps=0.7 q=9.6 q=30.0 size=N/A time=00:00:32.70 bitrate=N/A
speed=3.07x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #38 (pts_time=30.749951)
selected from a set of 100 images
frame= 8 fps=0.7 q=12.4 q=29.0 size=N/A time=00:00:34.25 bitrate=N/A
speed=3.07x
frame= 8 fps=0.7 q=12.4 q=28.0 size=N/A time=00:00:35.87 bitrate=N/A
speed=3.08x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #21 (pts_time=34.208278)
selected from a set of 100 images
frame= 9 fps=0.7 q=15.3 q=28.0 size=N/A time=00:00:37.45 bitrate=N/A
speed=3.08x
frame= 9 fps=0.7 q=15.3 q=29.0 size=N/A time=00:00:39.08 bitrate=N/A
speed=3.08x
frame= 9 fps=0.7 q=15.3 q=30.0 size=N/A time=00:00:40.75 bitrate=N/A
speed=3.09x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #47 (pts_time=39.458270)
selected from a set of 100 images
frame= 10 fps=0.7 q=18.3 q=28.0 size=N/A time=00:00:42.29 bitrate=N/A
speed=3.09x
frame= 10 fps=0.7 q=18.3 q=28.0 size=N/A time=00:00:43.91 bitrate=N/A
speed=3.09x
frame= 10 fps=0.7 q=18.3 q=29.0 size=N/A time=00:00:45.54 bitrate=N/A speed=
3.1x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #47 (pts_time=43.624930)
selected from a set of 100 images
frame= 11 fps=0.7 q=21.3 q=28.0 size=N/A time=00:00:47.08 bitrate=N/A speed=
3.1x
frame= 11 fps=0.7 q=21.3 q=31.0 size=N/A time=00:00:48.75 bitrate=N/A speed=
3.1x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #63 (pts_time=48.458256)
selected from a set of 100 images
frame= 12 fps=0.7 q=24.3 q=29.0 size=N/A time=00:00:50.29 bitrate=N/A speed=
3.1x
frame= 12 fps=0.7 q=24.3 q=29.0 size=N/A time=00:00:51.95 bitrate=N/A
speed=3.11x
frame= 12 fps=0.7 q=24.3 q=33.0 size=N/A time=00:00:53.62 bitrate=N/A
speed=3.11x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #64 (pts_time=52.666582)
selected from a set of 100 images
frame= 13 fps=0.7 q=24.8 q=32.0 size=N/A time=00:00:55.16 bitrate=N/A
speed=3.11x
frame= 13 fps=0.7 q=24.8 q=31.0 size=N/A time=00:00:56.83 bitrate=N/A
speed=3.11x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #66 (pts_time=56.916576)
selected from a set of 100 images
frame= 14 fps=0.7 q=24.8 q=31.0 size=N/A time=00:00:58.37 bitrate=N/A
speed=3.11x
frame= 14 fps=0.7 q=24.8 q=28.0 size=N/A time=00:01:00.00 bitrate=N/A
speed=3.12x
frame= 14 fps=0.7 q=24.8 q=29.0 size=N/A time=00:01:01.66 bitrate=N/A
speed=3.12x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #39 (pts_time=59.958238)
selected from a set of 100 images
frame= 15 fps=0.7 q=24.8 q=29.0 size=N/A time=00:01:03.20 bitrate=N/A
speed=3.12x
frame= 15 fps=0.7 q=24.8 q=29.0 size=N/A time=00:01:04.87 bitrate=N/A
speed=3.12x
frame= 15 fps=0.7 q=24.8 q=27.0 size=N/A time=00:01:06.50 bitrate=N/A
speed=3.13x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #55 (pts_time=64.791563)
selected from a set of 100 images
frame= 16 fps=0.7 q=24.8 q=24.0 size=N/A time=00:01:08.04 bitrate=N/A
speed=3.12x
frame= 16 fps=0.7 q=24.8 q=24.0 size=N/A time=00:01:09.66 bitrate=N/A
speed=3.13x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #79 (pts_time=69.958222)
selected from a set of 100 images
frame= 17 fps=0.7 q=24.8 q=25.0 size=N/A time=00:01:11.20 bitrate=N/A
speed=3.12x
frame= 17 fps=0.7 q=24.8 q=26.0 size=N/A time=00:01:12.83 bitrate=N/A
speed=3.13x
frame= 17 fps=0.7 q=24.8 q=25.0 size=N/A time=00:01:14.45 bitrate=N/A
speed=3.13x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #71 (pts_time=73.791548)
selected from a set of 100 images
frame= 18 fps=0.7 q=24.8 q=27.0 size=N/A time=00:01:16.00 bitrate=N/A
speed=3.13x
frame= 18 fps=0.7 q=24.8 q=27.0 size=N/A time=00:01:17.62 bitrate=N/A
speed=3.13x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #33 (pts_time=76.374877)
selected from a set of 100 images
frame= 19 fps=0.8 q=24.8 q=26.0 size=N/A time=00:01:19.12 bitrate=N/A
speed=3.13x
frame= 19 fps=0.7 q=24.8 q=26.0 size=N/A time=00:01:20.75 bitrate=N/A
speed=3.13x
frame= 19 fps=0.7 q=24.8 q=26.0 size=N/A time=00:01:22.33 bitrate=N/A
speed=3.13x
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #38 (pts_time=80.749871)
selected from a set of 100 images
frame= 20 fps=0.7 q=24.8 q=24.0 size=N/A time=00:01:23.83 bitrate=N/A
speed=3.12x
[NULL @ 000000CDC13399E0] missing picture in access unit with size 37
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #14 (pts_time=83.916533)
selected from a set of 37 images
frame= 21 fps=0.8 q=24.8 Lq=26.0 size=N/A time=00:01:25.12 bitrate=N/A
speed=3.13x
video:22454kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
_______________________________________________
ffmpeg-devel mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel