[FFmpeg-user] NVDEC Issue

Carl Eugen Hoyos ceffmpeg at gmail.com
Mon Jun 18 14:57:16 EEST 2018

2018-06-18 13:07 GMT+02:00, Ferenc Nánási <husudosu94 at gmail.com>:

> I'm trying to transcode H.264 Stream to HEVC. Everything just working
> fine when I'm using the in-built CPU decoder, but when I turn on the
> Hardware-accelerated CUVID module, it throws some error with most of my
> streams.
> *
> /root/bin/ffmpeg -hwaccel cuvid  -c:v h264_cuvid -i
> 'udp://' -map 0:0:v -map 0:1:a -c:v hevc_nvenc -f
> mpegts test.ts
> [h264_cuvid @ 0x3d2b800] Video height 14 not within range from 16 to 4096
> Error while opening decoder for input stream #0:0 : Invalid argument

Never provide extracts of the command line, always post the
complete, uncut console output when asking for help here.
External resources may disappear.

Errors like this one are unavoidable over a lossy medium like udp.

> My video height with all of streams is HD or PAL resolution, so probably
> within that range.
> stream #0:0 is the video stream.
> I've tried to add -analyzeduration 10M -probesize 10M flags, the results
> same.

This is not necessarily related, but the values should at least be
increased to 100M.

> FFREPORT file: https://1drv.ms/u/s!AlIDARy55xh44F2f_8C1TyKwxA0t
> *It says: *
> data partitioning is not implemented. Update your FFmpeg version to the
> newest one from Git. If the problem still occurs, it means that your
> file has a feature which has not been implemented.
> [h264 @ 0x31df240] If you want to help, upload a sample of this file to
> ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing
> list. (ffmpeg-devel at ffmpeg.org)

(This is unrelated, your stream does not use data partitioning.)

> I've already sent a mail to ffmpeg-devel at ffmpeg.org but I got no
> response from it.

That's because user questions are not welcome on the
development mailing list.

> Sample from input: https://1drv.ms/v/s!AlIDARy55xh44F7_i2Ak_q8bmTTF
> The output file is empty.
> My FFMPEG version is the newest: 4.0

Only current FFmpeg git head is supported here.

> *
> **FFMPEG compilation parameters:*
> --prefix=/root/ffmpeg_build --pkg-config-flags=--static
> --extra-cflags='-I/root/ffmpeg_build/include -I/usr/local/cuda/include'
> --extra-ldflags='-L/root/ffmpeg_build/lib -L/usr/local/cuda/lib64'
> --extra-libs=-lpthread --bindir=/root/bin --enable-gpl --enable-libass
> --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame
> --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx
> --enable-libx264 --enable-libx265 --enable-nonfree --enable-cuda
> --enable-cuvid --enable-nvenc --enable-libnpp
> CUDA Version: 9.2 (Patch installed)
> NVIDIA Driver: 390.48
> Card: NVIDIA Quadro P2000
> Using Ubuntu 17.10 and I've Centos 7  server with the same parameters.
> If using something like this:
> /root/bin/ffmpeg -i 'udp://' -map 0:0:v -map 0:1:a -c:v
> hevc_nvenc -f mpegts udp:// or file
> It runs without an issue/warning.
> I made a sample of a working stream too:
> Input: https://1drv.ms/v/s!AlIDARy55xh44GA4yH34AIke-8Op

No, this is a file created with FFmpeg, not the input stream.

tcpdump should allow you to save an input stream to be able
to compare hardware and software behaviour and to provide
a sample.
(This is also the highest quality recording you can make.)

Carl Eugen

More information about the ffmpeg-user mailing list