标签: c++ ffmpeg h.264 rtp libavcodec
我正在开发一个DirectShow过滤器,它有2个输入引脚(1个用于音频,1个用于视频)。我正在使用FFMpeg的libavcodec / libavformat / libavutil将视频编码为H264,将音频编码为AAC并使用RTP对其进行复用/流。到目前为止,我能够使用libavcodec正确编码视频和音频,但现在我看到FFMpeg似乎也支持RTP多路复用。不幸的是,我找不到任何示例代码来说明如何执行H264编码和RTP多路复用。有人知道好样品吗?
答案 0 :(得分:1)
尝试查看HandBrake中的代码。具体来说,这个文件muxmp4.c,这是我发现使用FFMpeg / RTP的jem。请务必正确使用 av_interleaved_write_frame()和 extradata 字段。这些是我记得的RTP的一些关键差异。
尽管如此,我对使用FFMpeg的RTP / RTSP存在一些稳定性问题,(我确信它会越来越好)。我对live555运气好得多,你可以查看VLC和MPlayer中的代码,了解如何使用它的好例子。