手动生成“空”h264 p帧

lea*_*ttx 6 ffmpeg video-streaming h.264 x264 nvenc

如果 p 帧不改变当前解码视频中的任何像素(即没有运动向量,什么都没有),我们就将其称为空帧。

我需要的是能够根据请求手动将空 p 帧插入到视频流中(需要以恒定的帧速率将帧发送到流客户端,但是流服务器上的帧源可以提供具有不同/较低帧速率的帧一)。

因此,我需要能够正确形成代表当前分辨率的空 p 帧的字节序列(我想知道还需要哪些其他参数?)

理想情况下,我更喜欢独立于编码器的解决方案,因为我使用两种不同的解决方案:通过 Nvidia Video SDK 的 nvenc 和通过 FFmpeg 的 x264。

我应该去哪里寻找?

Syf*_*lis 0

我认为有一个h264 nal单元专用于数据填充(nal_unit_type:12:filler_data_rbsp())。它可能对你有用。