ffmpeg を使用して STB にストリーミングしようとしていますが、成功しません。STB ソフトウェア サポートから次の回答を得ました:
4.1.5.1 Random_access_indicator H.264/AVC ビットストリームの場合、以下が適用されます。 エンコード: ビデオ ストリームで H.264/AVC RAP が発生するたびに、random_access_indicator ビットが設定されます (条項 3.1 および 5.5.5 の H.264/AVC RAP の定義を参照)。 デコード: random_access_indicator ビットは IRD によって無視される場合があります。これは、elementary_stream_priority インジケータと一緒に使用して、RAP を識別するのに有効です。
3.1 H.264/AVC RAP: H.264/AVC ビットストリーム内の AU 区切り文字を持つアクセス ユニット。IRD はここからビデオのデコードを正常に開始できます。このアクセス ユニットには、VUI と関連する画像のデコードに必要な画像パラメータ セットを含む、アクティブなシーケンス パラメータ セットが 1 つだけ含まれます。また、このアクセス ユニット内の SEI NAL ユニットの前には SPS が必要です。このアクセス ユニットには、IDR 画像または I 画像が含まれている必要があります。
その設定方法がわかりません。ストリームが機能している場合、STB には次のように表示されます。
dec[2][base] :: set_video_track() : -1 -> 0 [H264]
dec[2][base] :: set_audio_track() : -1 -> 0 [AAC] [eng]
しかし私のストリームでは
dec[1][base] :: set_video_track() : -1 -> -1 []
dec[1][base] :: set_audio_track() : -1 -> 0 [AAC] [spa]
私のFfmpegコマンド
ffmpeg -nostdin -loglevel info -ss 10 -hwaccel_device 0 -hwaccel cuvid -c:v h264_cuvid -deint 2 -y -re -i udp://XXXX:XXXX?pkt_size=1316\&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=1024:h=576 -c:v:0 h264_nvenc -preset llhq -g 150 -keyint_min 150 -forced-idr 1 -aud 1 -strict_gop 1 -bf 2 -flags:v +global_header -pcr_period 5 -b:v:0 1200k -bsf:v h264_mp4toannexb -map 0:v -filter:v:1 scale_npp=w=1920:h=1080 -c:v:1 h264_nvenc -preset llhq -g 150 -keyint_min 150 -forced-idr 1 -aud 1 -strict_gop 1 -bf 2 -flags:v +global_header -pcr_period 5 -b:v:1 2000k -bsf:v h264_mp4toannexb -map 0:v -filter:v:2 scale_npp=w=640:h=368 -c:v:2 h264_nvenc -preset llhq -g 150 -keyint_min 150 -forced-idr 1 -aud 1 -strict_gop 1 -bf 2 -flags:v +global_header -pcr_period 5 -b:v:2 1200k -bsf:v h264_mp4toannexb -map 0:a:0http://XXX/X/X
私は ffmpeg と nvidia の最新バージョンを使用しています。
何か案は?
ありがとう。