我从Asterisk软件接收到RTP有效负载中的h264(不是完整的RTP数据包,只是NAL头+ NAL),手动解析它们(相应于RFC 6184 + 0001 startcode),将它们提供给FFmpeg的h264解析器,然后多路复用产生的数据包。
视频的所有内容都可以,但我想使用FFmpeg的RTP h264有效负载处理程序。更准确地说,我需要使用这个libavformat/rtpdec_h264.c函数。我尝试使用自定义IO缓冲区和RTP输入格式初始化输入上下文,并使用av_frame_read,但坚持使用"文件末尾"第一次尝试后。我尝试手动初始化有效负载处理程序,但卡在"未解析的符号:ff_vp8_dynamic_handler"来自libavformat/rtpdec__formats.h。
也许我误解了一些东西,但为什么我不能只使用解析器来获取RTP负载呢?