我有一台提供H264编码帧的设备。我想使用LIVE555通过网络传输的那些。
问题:这些帧不包括SPS和PPS NAL单元。但是,我可以使用在设备对第一帧进行编码后向我提供SPS和PPS NAL单元的功能。
问题:在LIVE555的事件循环已经开始之后,如何设置SPS和PPS NAL单元?我已经阅读了许多有关类似问题的文章,但所有这些文章都提出了以下解决方案:
当DESCRIBE命令称为时,
对于我而言,所有这些解决方案都没有用,因为目前我还没有SPS和PPS NAL单元。在事件循环已经开始之后,是否有某种方式可以更新这些NAL单元?
最佳答案
您尚未提供有关应用程序设计/体系结构的足够信息,无法提供更好的答案:
不知道我是否正确理解了您的问题,但听起来您只是在RTSP客户端请求之后实例化编码器。但是,DESCRIBE请求传递了SPS,PPS,并且在编写DESCRIBE时,您尚未编码任何数据,因此也没有SPS和PPS。
如果在客户端请求之后在live555事件循环中实例化编码器,则一种解决方案是
以我的经验,SPS和PPS通常不会更改(经常),并且您必须从某个位置(配置文件?)获取编码器配置。
如果这样不能回答您的问题,请提供有关例如应用程序线程,正在运行的事件循环,编码器生存期等。
关于c++ - LIVE555-接收第一帧后设置SPS和PPS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33130619/