我正在尝试使用 live555 流式传输使用 FFMPEg 编码的数据。我有一个将数据发送到接收器的自定义帧源,但我无法弄清楚如何在成帧器中设置 SPS 和 PPS。我知道其中extradata
包含此信息,但我在其中只看到了 SPS。FFMPeg 编码时 extradata 会发生变化吗?如果是,我们需要如何以及何时在 live555 成帧器中更新此信息。
有没有人有使用 FFMpeg 和 live555 流式传输 H264 的工作示例
Live555 只是一个流媒体工具,它不做任何编码。
SPS 和 PPS 是编码的 H264 流(或 FFMPEG 实现的输出)中的 NAL 单元(请参阅此处的一些信息:http: //www.cardinalpeak.com/blog/the-h-264-sequence-parameter-set /)。
如果要更改 SPS 或 PPS 信息,则需要在 FFMPEG 中进行。
FFMPEG 和 Live555 一起工作以流式传输 MPG2 和 H264 流的示例如下:
https ://github.com/alm865/FFMPEG-Live555-H264-H265-Streamer/
至于流式传输 H264 流,您需要将 FFMPEG 的输出分解为 NAL 单元,然后再将其发送到离散成帧器以使其正常工作。您还必须从数据包中去除前导和尾随 NAL 位(即删除 NAL 标识符 0x00 0x00 0x00 0x01)。
Live555 将自动读取这些内容并根据需要进行更新。