RTMP客户端的开发(一)

来源:互联网 发布:cad是怎么编程 编辑:程序博客网 时间:2024/06/13 17:48

前段时间要开发一个RTMP的客户端,就是将采集到的视频数据进行H264编码,音频数据进行AAC编码,然后发送给RTMP服务器,如CRtmpServer,Nginx,FMS等,前端就可以使用Flash,或者是HTML5收看视频,简单快捷,不需要安装播件,还可以跨平台。

上网查了很多资料,都是要研究RTMP协议。

由于时间太紧,没有办法仔细研究,琢磨FFMPEG有没有可能封装类似代码,后来一查,果然封装了librtmp库,看来可以通过简单的办法实现了。

最主要的代码是以下一句

avformat_alloc_output_context2(&m_pFormatContext, NULL, "flv", NULL);


然后在avio_open里打那相应的URL,比如rtmp://127.0.0.1/live/livestream


后面的就简单了,创建Video的Codec,Audio的Codec,然后写入相应的数据就行了,这些代码和普通的用ffmpeg写文件流程一样。

如果也有研究这方面的朋友,可以联系我一起研究。