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 ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel