Opened 5 years ago

Last modified 15 months ago

#6628 new defect

Random access indicator bit

Reported by: Facundo Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: nvenc
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


Summary of the bug:
I'm trying to stream using ffmpeg to a STB, with no success. From the STB software support i got this answer: Random_access_indicator For H.264/AVC Bitstreams, the following applies: Encoding: The random_access_indicator bit shall be set whenever an H.264/AVC RAP occurs in video streams (see H.264/AVC RAP definition in Clauses 3.1 and 5.5.5). Decoding: The random_access_indicator bit may be ignored by the IRD. It can be beneficially utilized together with the elementary_stream_priority indicator to identify RAP.

3.1 H.264/AVC RAP: access unit with AU delimiter in an H.264/AVC Bitstream at which an IRD can begin decoding video successfully. This access unit shall include exactly one Sequence Parameter Set (that is active) with VUI and the Picture Parameter Set that is required for decoding the associated picture. The SPS shall also precede any SEI NAL units in this access unit. This access unit must contain an IDR picture or an I picture

I cant't figure out how to set that bit up!

With working streams my STB shows:

dec[2][base] :: set_video_track() : -1 -> 0 [H264]

dec[2][base] :: set_audio_track() : -1 -> 0 [AAC] [eng]

But with my stream

dec[1][base] :: set_video_track() : -1 -> -1 []

dec[1][base] :: set_audio_track() : -1 -> 0 [AAC] [spa]

How to reproduce:

ffmpeg -nostdin -loglevel info -ss 10 -hwaccel_device 0 -hwaccel cuvid -c:v h264_cuvid -y -re -i udp://\&buffer_size=409600\&fifo_size=1000000\&overrun_nonfatal=1 -movflags isml+frag_keyframe -f ismv -threads 0 -c:a libfdk_aac -ac 2 -b:a 64k -map 0:v -filter:v:0 scale_npp=w=1920:h=1080 -c:v:0 h264_nvenc -bf 2 -b:v:0 2000k -bsf:v h264_mp4toannexb -map 0:a:0 http://XXX/XXX/XX/Streams(video)

 ffmpeg version N-87132-g1dc33c1 Copyright (c) 2000-2017 the FFmpeg developers
   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
   configuration: --prefix=/usr/local/ffmpeg_build --extra-cflags='-I/usr/local/ffmpeg_build/include -I/usr/local/cuda/include/' --disable-yasm --extra-ldflags='-L/usr/local/ffmpeg_build/lib -L/usr/local/cuda/lib64/' --bindir=/usr/local/bin --extra-libs=-ldl --enable-nvenc --enable-cuda --enable-libnpp --enable-cuvid --enable-gpl --enable-libx264 --enable-libfdk-aac --enable-nonfree --enable-version3
   libavutil      55. 74.100 / 55. 74.100
   libavcodec     57.104.100 / 57.104.100
   libavformat    57. 79.100 / 57. 79.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
   libpostproc    54.  6.100 / 54.  6.100

I'm using last nvidia drivers, and encoding with h264_nvenc.
There are no problems reproducing on the STB with the udp.

Any ideas?

Change History (5)

comment:1 by Carl Eugen Hoyos, 5 years ago

Component: ffmpegundetermined
Keywords: cuda nvidia ffmpeg removed
Priority: importantnormal

comment:2 by Facundo, 5 years ago

After the output will be stream via unified streaming

comment:3 by Facundo, 5 years ago

Last edited 5 years ago by Facundo (previous) (diff)

comment:4 by Samuel, 4 years ago

It seem that a RAI patch for MPEG-TS has been offered in 2011:

Last edited 4 years ago by Samuel (previous) (diff)

comment:5 by Balling, 15 months ago

Is that fixed with 575c38d76ce546842d62a481ef03c122d55d3a69 or what?

Note: See TracTickets for help on using tickets.