我正在尝试使用live555流式传输使用FFMPEg编码的数据。我有一个自定义帧源,将数据发送到接收器,但我无法弄清楚如何在成帧器中设置SPS和PPS。我知道extradata
包含此信息,但我只看到了SPS。在FFMPeg编码时,extradata是否会更改?如果是,我们需要在live555 framer中更新此信息。
是否有人使用FFMpeg和live555来传输H264的工作样本
答案 0 :(得分:9)
Live555只是一个流媒体工具,它不做任何编码。
SPS和PPS是编码的H264流中的NAL单元(或FFMPEG实现的输出)(请参阅此处的一些信息: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会自动读取这些内容并根据需要进行更新。