将 SPS NAL 单元插入 H.264 流

将 SPS NAL 单元插入 H.264 流

我目前正在使用 FFmpeg 将 Youtube 直播 HLS 转换为 H.264 UDP 流。

为了使其能够与我使用的设备正确配合,流需要时不时插入 SPS NAL 单元。

我发现使用 H.264“主”配置文件时不存在 SPS 单元。 但使用“基线”配置文件时,会在每个 IDR NAL 单元之前插入一个 SPS 单元

不幸的是,“基线”概况导致了一些视频故障(一些图案水平重复多次)。

我也尝试过dump_extra=all但仍然没有 SPS 单元。

有什么想法可以让它发挥作用吗?

这是我当前使用的命令:

ffmpeg \
    -err_detect explode \
    -fflags "+genpts" -avoid_negative_ts "make_zero" \
    -loglevel warning -nostats \
    -re -i hls_url.m3u8 -segment_time 10 -hls_time 10 \
    -c:v libx264 -preset veryfast -r 30 -flags +cgop -profile:v main -level 3 -bufsize 5M -minrate 5M -maxrate 5M -b:v 5M -pix_fmt yuv420p -bf 3 -s ntsc -x264opts nal-hrd=cbr:force-cfr=1:aud=1:keyint=25:open_gop=0 -aspect 16:9 -refs 3 -g 50 \
    -acodec ac3 -ar 48000 -ab 192k \
    -vf "fifo,setpts=PTS-STARTPTS" -af "afifo,asetpts=PTS-STARTPTS" \
    -bsf:v h264_mp4toannexb \
    -threads 2 \
    -bitrate 6M -packetsize 188 -flush_packets 0 -f mpegts "udp://multicastip:multicastport?pkt_size=1316&dscp=32"

谢谢!

相关内容