[FFmpeg-user] FFMPEG cuda hwaccell error

Nishant Trivedi nishant at ever.ai
Tue Jun 18 02:06:30 EEST 2019


That worked! Thanks Dennis!

On Mon, Jun 17, 2019 at 6:37 PM Dennis Mungai <dmngaie at gmail.com> wrote:

> On Tue, 18 Jun 2019 at 01:20, Nishant Trivedi <nishant at ever.ai> wrote:
>
> > Hello,
> >
> > I'm trying to decode a video stream for one of my projects using the
> > following command:
> >
> > *ffmpeg -hide_banner -hwaccel cuda -nostats -i
> > rtmp://<ip>:<port>/myapp/mystream -filter_complex [0]fps=fps=1[s0] -map
> > [s0] -f rawvideo -pix_fmt rgb24 pipe:*
> >
> > I'm getting the following error:
> >
> > *[h264 @ 0x55e36ef5ca00] Error creating a NVDEC decoder: 1*
> > *[h264 @ 0x55e36ef5ca00] Using more than 32 (37) decode surfaces might
> > cause nvdec to fail.*
> > *[h264 @ 0x55e36ef5ca00] Try lowering the amount of threads. Using 16
> right
> > now.*
> > *[h264 @ 0x55e36ef5ca00] Failed setup for format cuda: hwaccel
> > initialisation returned error.*
> >
> > I traced this error down to this
> > <https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/nvdec.c#L339>
> > line
> > so clearly there's something wrong with my setup but being a newbie in
> > FFMPEG I don't know what it is. I'd very much appreciate if someone can
> > help me out with this issue. Full log output follows:
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > *Input #0, flv, from 'rrtmp://<ip>:<port>/myapp/mystream:  Metadata:
> > major_brand     : qt    minor_version   : 512    compatible_brands: qt
> > encoder         : Lavf58.20.100    server          :
> > SRS/2.0.263(ZhouGuowen)    srs_primary     : SRS/2.0release
> srs_authors
> >     : winlin,wenjie.zhao    server_version  : 2.0.263  Duration: N/A,
> > start: 0.010000, bitrate: 2791 kb/s    Stream #0:0: Video: h264 (High),
> > yuv420p(progressive), 1920x1080, 2791 kb/s, 30 fps, 29.97 tbr, 1k
> tbnStream
> > mapping:  Stream #0:0 (h264) -> fps  fps -> Stream #0:0 (rawvideo)Press
> [q]
> > to stop, [?] for help[h264 @ 0x55e36ef5ca00] Error creating a NVDEC
> > decoder: 1[h264 @ 0x55e36ef5ca00] Using more than 32 (37) decode surfaces
> > might cause nvdec to fail.[h264 @ 0x55e36ef5ca00] Try lowering the amount
> > of threads. Using 16 right now.[h264 @ 0x55e36ef5ca00] Failed setup for
> > format cuda: hwaccel initialisation returned error.Output #0, rawvideo,
> to
> > 'pipe:':  Metadata:    major_brand     : qt    minor_version   : 512
> > compatible_brands: qt    server_version  : 2.0.263    server          :
> > SRS/2.0.263(ZhouGuowen)    srs_primary     : SRS/2.0release
> srs_authors
> >     : winlin,wenjie.zhao    encoder         : Lavf58.20.100    Stream
> #0:0:
> > Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1920x1080, q=2-31, 49766
> > kb/s, 1 fps, 1 tbn, 1 tbc    Metadata:      encoder         :
> Lavc58.35.100
> > rawvideo*
> >
> > Best,
> > --
> > Nishant.
> >
> >
> Hello there,
>
> Note that cuda hwaccel is an alias to the newer nvdec implementation, and
> to my knowledge, has no way of setting up decoder surface limits.
>
> Here's a workaround you can try:
>
> *ffmpeg -threads 4 -hide_banner -c:v h264_cuvid -surfaces 8 -nostats -i
> rtmp://<ip>:<port>/myapp/mystream -filter_complex [0]fps=fps=1[s0] -map
> [s0] -f rawvideo -pix_fmt rgb24 pipe:*
>
> Two changes:
>
> 1. Call up the h264_cuvid decoder directly, and apply a surface limit count
> of 8. This should be adequate.
> 2. Limit the thread count.
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".



-- 
--
Nishant.


More information about the ffmpeg-user mailing list