[FFmpeg-user] OVERLAY_CUDA and PGS Subtitle burn

Dennis Mungai dmngaie at gmail.com
Fri Sep 18 17:38:21 EEST 2020


On Thu, 17 Sep 2020 at 03:29, Panda Sing Cool <pandacoolsing at gmail.com>
wrote:

> Hi,
>
> Changed the input format:
> Video -> yuv420p
> Sub -> yuv*a*420p (to include Alpha Channel)
>
> Now the video is showing, but still no subtitles.
> Still get the error message:
> *Error while add the frame to buffer source(Internal bug, should not have
> happened).*
>
>
> ./ffmpeg -threads 1 -loglevel info -nostdin -y -fflags +genpts-fastseek \
>    -ss 00:00:00 -t 00:00:15 \
>    -extra_hw_frames 3 -vsync 0 -async 0 -filter_threads 1
> -filter_complex_threads 1 \
>    -init_hw_device cuda=cuda -hwaccel cuda -filter_hw_device cuda
> -hwaccel_output_format cuda \
>    -i input.mkv \
>
>
>
>
> *   -filter_complex \
> "[0:v]scale_npp=w=-1:h=720:interp_algo=lanczos:format=yuv420p[vid]; \
>    [0:s]format=yuva420p,hwupload[sub]; \         [vid][sub]overlay_cuda[v]"
> \*    -map "[v]" -map 0:a \
>    -force_key_frames "expr:gte(t,n_forced*5)" \
>    -c:v h264_nvenc -preset:v slow -profile:v high -level:v 51 \
>    -rc:v cbr_hq -rc-lookahead:v 32 -refs:v 16 -cq:v 16 -bf:v 3 -b:v 2000K
> -minrate:v 2000K -maxrate:v 2000k -bufsize:v 8M -coder:v cabac
> -b_ref_mode:v middle \
>    -c:a libfdk_aac -ac 2 -ar 48000 -b:a 128k \
>    output.mkv
>
>
>
>
> On Thu, 17 Sep 2020 at 07:08, Panda Sing Cool <pandacoolsing at gmail.com>
> wrote:
>
> > Hi everyone,
> >
> > i'm trying to use the OVERLAY_CUDA function to burn PGS titles over a
> > video and the result is not working.
> > i might  misunderstand the usage of this function, so some help is
> welcome.
> >
> > The result of this command is a black screen with audio, using 'standard'
> > overlay filter is working fine, but slow ...
> >
> > Notice this message at the end of the log file (ffmpeg version
> > N-99194-g142ae27b1d ( compiled myself from git) ):
> > *Error while add the frame to buffer source(Internal bug, should not have
> > happened).*
> >
> > Thanks for any help.
> >
> >
> >
> ***************************************************************************************************************
> >
> >    ./ffmpeg -threads 1 -loglevel info -nostdin -y -fflags
> +genpts-fastseek
> > \
> >    -ss 00:00:00 -t 00:01:00 \
> >    -extra_hw_frames 3 -vsync 0 -async 0 -filter_threads 1
> > -filter_complex_threads 1 \
> >    -init_hw_device cuda=cuda -hwaccel cuda -filter_hw_device cuda
> > -hwaccel_output_format cuda \
> >    -i input.mkv \
> >    -filter_complex \
> >
> >
> > *   "[0:v]scale_npp=w=-1:h=720:interp_algo=lanczos:format=nv12[vid]; \
> > [0:s]format=nv12,hwupload_cuda[sub]; \    [vid][sub]overlay_cuda[v]" \*
> >     -map "[v]" -map 0:a \
> >    -force_key_frames "expr:gte(t,n_forced*5)" \
> >    -c:v h264_nvenc -preset:v slow -profile:v high -level:v 51 \
> >    -rc:v cbr_hq -rc-lookahead:v 32 -refs:v 16 -cq:v 16 -bf:v 3 -b:v 2000K
> > -minrate:v 2000K -maxrate:v 2000k -bufsize:v 8M -coder:v cabac
> > -b_ref_mode:v middle \
> >    -c:a libfdk_aac -ac 2 -ar 48000 -b:a 128k \
> >    output.mkv
> >
> >
> > ***** LOG ****
> >
> > f*fmpeg version N-99194-g142ae27b1d *Copyright (c) 2000-2020 the FFmpeg
> > developers
> >   built with gcc 10 (GCC)
> >   configuration: --prefix=/home/users/work/ffmpeg_build
> > --pkg-config-flags=--static --extra-libs=-lpthread --extra-libs=-lm
> > --bindir=/home/users/work/ffmpeg_build/bin --enable-gpl
> --enable-libfdk_aac
> > --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvpx
> > --enable-libx264 --enable-libx265 --enable-vulkan --enable-nonfree
> > --enable-libnpp --enable-nvenc --enable-cuvid --enable-libass
> > --enable-libfontconfig --enable-libfreetype --enable-libfribidi
> > --enable-cuda
> >   libavutil      56. 59.100 / 56. 59.100
> >   libavcodec     58.106.100 / 58.106.100
> >   libavformat    58. 56.100 / 58. 56.100
> >   libavdevice    58. 11.102 / 58. 11.102
> >   libavfilter     7. 87.100 /  7. 87.100
> >   libswscale      5.  8.100 /  5.  8.100
> >   libswresample   3.  8.100 /  3.  8.100
> >   libpostproc    55.  8.100 / 55.  8.100
> > Input #0, matroska,webm, from 'input.mkv':
> >   Metadata:
> >     encoder         : libebml v1.3.10 + libmatroska v1.5.2
> >     creation_time   : 2020-08-13T06:58:46.000000Z
> >   Duration: 00:57:53.06, start: 0.000000, bitrate: 12993 kb/s
> >     Chapter #0:0: start 0.000000, end 508.424583
> >     Metadata:
> >       title           : Chapter 01
> >     Chapter #0:1: start 508.424583, end 1037.202833
> >     Metadata:
> >       title           : Chapter 02
> >     Chapter #0:2: start 1037.202833, end 1510.175333
> >     Metadata:
> >       title           : Chapter 03
> >     Chapter #0:3: start 1510.175333, end 2231.896333
> >     Metadata:
> >       title           : Chapter 04
> >     Chapter #0:4: start 2231.896333, end 2908.530625
> >     Metadata:
> >       title           : Chapter 05
> >     Chapter #0:5: start 2908.530625, end 3473.052917
> >     Metadata:
> >       title           : Chapter 06
> >     Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080, SAR
> > 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
> >     Metadata:
> >       BPS-eng         : 10946248
> >       DURATION-eng    : 00:57:53.053000000
> >       NUMBER_OF_FRAMES-eng: 83270
> >       NUMBER_OF_BYTES-eng: 4752112489
> >       _STATISTICS_WRITING_APP-eng: mkvmerge v46.0.0 ('No Deeper Escape')
> > 64-bit
> >       _STATISTICS_WRITING_DATE_UTC-eng: 2020-08-13 06:58:46
> >       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
> >     Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, 5.1(side), s16p
> >     Metadata:
> >       BPS-eng         : 2022940
> >       DURATION-eng    : 00:57:53.056000000
> >       NUMBER_OF_FRAMES-eng: 325599
> >       NUMBER_OF_BYTES-eng: 878223124
> >       _STATISTICS_WRITING_APP-eng: mkvmerge v46.0.0 ('No Deeper Escape')
> > 64-bit
> >       _STATISTICS_WRITING_DATE_UTC-eng: 2020-08-13 06:58:46
> >       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
> >     Stream #0:2(eng): Subtitle: hdmv_pgs_subtitle, 1920x1080
> >     Metadata:
> >       BPS-eng         : 44076
> >       DURATION-eng    : 00:56:53.660000000
> >       NUMBER_OF_FRAMES-eng: 1450
> >       NUMBER_OF_BYTES-eng: 18807980
> >       _STATISTICS_WRITING_APP-eng: mkvmerge v46.0.0 ('No Deeper Escape')
> > 64-bit
> >       _STATISTICS_WRITING_DATE_UTC-eng: 2020-08-13 06:58:46
> >       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
> > Stream mapping:
> >   Stream #0:0 (h264) -> scale_npp (graph 0)
> >   Stream #0:2 (pgssub) -> format (graph 0)
> >   overlay_cuda (graph 0) -> Stream #0:0 (h264_nvenc)
> >   Stream #0:1 -> #0:1 (dts (dca) -> aac (libfdk_aac))
> > [matroska,webm @ 0x3a39bc0] sub2video: using 1920x1080 canvas
> > Output #0, matroska, to 'output.mkv':
> >   Metadata:
> >     encoder         : Lavf58.56.100
> >     Chapter #0:0: start 0.000000, end 508.424583
> >     Metadata:
> >       title           : Chapter 01
> >     Chapter #0:1: start 508.424583, end 1037.202833
> >     Metadata:
> >       title           : Chapter 02
> >     Chapter #0:2: start 1037.202833, end 1510.175333
> >     Metadata:
> >       title           : Chapter 03
> >     Chapter #0:3: start 1510.175333, end 2231.896333
> >     Metadata:
> >       title           : Chapter 04
> >     Chapter #0:4: start 2231.896333, end 2908.530625
> >     Metadata:
> >       title           : Chapter 05
> >     Chapter #0:5: start 2908.530625, end 3473.052917
> >     Metadata:
> >       title           : Chapter 06
> >     Stream #0:0: Video: h264 (h264_nvenc) (High) (H264 / 0x34363248),
> > cuda, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 23.98 fps, 1k tbn, 23.98 tbc
> > (default)
> >     Metadata:
> >       encoder         : Lavc58.106.100 h264_nvenc
> >     Side data:
> >       cpb: bitrate max/min/avg: 2000000/0/0 buffer size: 8000000
> > vbv_delay: N/A
> >     Stream #0:1(eng): Audio: aac (libfdk_aac) ([255][0][0][0] / 0x00FF),
> > 48000 Hz, stereo, s16, 128 kb/s
> >     Metadata:
> >       BPS-eng         : 2022940
> >       DURATION-eng    : 00:57:53.056000000
> >       NUMBER_OF_FRAMES-eng: 325599
> >       NUMBER_OF_BYTES-eng: 878223124
> >       _STATISTICS_WRITING_APP-eng: mkvmerge v46.0.0 ('No Deeper Escape')
> > 64-bit
> >       _STATISTICS_WRITING_DATE_UTC-eng: 2020-08-13 06:58:46
> >       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
> >       encoder         : Lavc58.106.100 libfdk_aac
> > *Error while add the frame to buffer source(Internal bug, should not have
> > happened).*
> > frame=  360 fps=241 q=11.0 Lsize=    3813kB time=00:00:15.01
> > bitrate=2079.9kbits/s speed=10.1x
> > video:3568kB audio:236kB subtitle:0kB other streams:0kB global
> headers:0kB
> > muxing overhead: 0.243563%
> > ************************
> >
> >
> > Infos:
> > ******** lspci *******
> > 0e:00.0 VGA compatible controller: NVIDIA Corporation TU102 [*GeForce RTX
> > 2080 Ti Rev. A]* (rev a1) (prog-if 00 [VGA controller])
> > Subsystem: ZOTAC International (MCO) Ltd. Device 1503
> > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> > Stepping- SERR- FastB2B- DisINTx+
> > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
> > <MAbort- >SERR- <PERR- INTx-
> > *Kernel driver in use: nvidia*
> > Kernel modules: nouveau, nvidia_drm, nvidia
> > **********************
> >
> > ******** nvidia-smi *******
> >
> >
> +-----------------------------------------------------------------------------+
> > | NVIDIA-SMI *450.66       Driver Version: 450.66       CUDA Version:
> > 11.0*     |
> >
> >
> |-------------------------------+----------------------+----------------------+
> > **********************
> >
> >
> >
> >
> >
>
>
Related, see: https://trac.ffmpeg.org/ticket/8831

I ran into the same issue approximately seven weeks ago, as documented
above.
Even downgrading device drivers (from R450, R440 to below) did not resolve
the issue.
Another filter affected by the same issue is the overlay_opencl
implementation, wherein the video canvas on overlay turns up black.

Regards,

Dennis.


More information about the ffmpeg-user mailing list