[FFmpeg-user] ffmpeg cuvid not transcoding properly

Dennis Mungai dmngaie at gmail.com
Thu Nov 21 10:52:12 EET 2019


On Thu, 21 Nov 2019 at 06:34, Andy <dssnosher at gmail.com> wrote:
>
> It seems like again I hit the wall. While one mpeg2 source works with
> the mpeg2_cuvid option, the other gives me troubles.
>
> ffmpeg -threads 1 -vsync 1 -hwaccel cuvid -c:v mpeg2_cuvid -deint 1
> -drop_second_field 1 -i 'http://0.0.0.0:46007' -c:v h264_nvenc -vb
> 1000k -preset:v medium -c:a aac -ac 2 -ar 48k -ab 96k -map 0:0 -map
> 0:1 -f flv rtmp://0.0.0.0:1940/live/1
> ffmpeg version N-95728-g1354c39 Copyright (c) 2000-2019 the FFmpeg developers
>   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609
>   configuration: --enable-cuda --enable-cuvid --enable-nvenc
> --enable-nonfree --enable-libnpp
> --extra-cflags=-I/usr/local/cuda/include
> --extra-ldflags=-L/usr/local/cuda/lib64 --enable-libx264
> --enable-libfdk-aac --enable-gpl
>   libavutil      56. 35.101 / 56. 35.101
>   libavcodec     58. 62.100 / 58. 62.100
>   libavformat    58. 35.100 / 58. 35.100
>   libavdevice    58.  9.100 / 58.  9.100
>   libavfilter     7. 66.100 /  7. 66.100
>   libswscale      5.  6.100 /  5.  6.100
>   libswresample   3.  6.100 /  3.  6.100
>   libpostproc    55.  6.100 / 55.  6.100
> [mpegts @ 0x3092a40] Could not find codec parameters for stream 0
> (Video: mpeg2video ([27][0][0][0] / 0x001B), none(tv)): unspecified
> size
> Consider increasing the value for the 'analyzeduration' and 'probesize' options
> Input #0, mpegts, from 'http://0.0.0.0:46007':
>   Duration: N/A, start: 67033.565011, bitrate: 192 kb/s
>   Program 107
>     Metadata:
>       service_name    : NTV
>       service_provider: NTV BD
>     Stream #0:0[0x327]: Video: mpeg2video ([27][0][0][0] / 0x001B),
> none(tv), 90k tbr, 90k tbn, 90k tbc
>     Stream #0:1[0x2c3]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz,
> stereo, fltp, 192 kb/s
> [AVHWFramesContext @ 0x3a36600] [IMGUTILS @ 0x7ffc3bcc6230] Picture
> size 0x0 is invalid
> [mpeg2_cuvid @ 0x3098a40] Error initializing a CUDA frame pool
> cuvid hwaccel requested for input stream #0:0, but cannot be initialized.
> [mpeg2_cuvid @ 0x3098a40] ff_get_format failed: -1
> Stream mapping:
>   Stream #0:0 -> #0:0 (mpeg2video (mpeg2_cuvid) -> h264 (h264_nvenc))
>   Stream #0:1 -> #0:1 (mp2 (native) -> aac (native))
> Error while opening decoder for input stream #0:0 : Operation not permitted


Show us the output of:

ffprobe -i 'http://0.0.0.0:46007'

Secondly, are you on a Turing (TU10x-) series GPU, the RTX series?
If that's the case, then use -deint 2 in place of -deint 1.
Turing explicitly disabled interlaced encoding *but* this might not be
the case here as we don't see the nvenc encoder quit on you.

Another observation: In your ffmpeg build options, I see
--enable-cuda. If you can, rebuild that package and pass
--enable-cuda-nvcc, that previous option is deprecated. The other
option --enable-cuda-llvm can be used if you don't need scale_npp, but
it requires a working installation of clang.


More information about the ffmpeg-user mailing list