(原创)
关键词:C++ RTMP协议 发送 H264 AAC 具体实现 发布直播 支持red5 fms flash直播
我用C++实现了rtmp协议,实现了flash的publish的功能,支持red5 fms3等流媒体服务器。
1,采用x264压缩视频成H264格式,采用faac压缩音频成AAC格式。
2,音视频数据封装成RTMP包,并向FMS3发送直播流。
3,可录制,保存为MP4格式的文件存放在服务端, 可用来点播。
4,使用FlashPlayer可观看直播内容,或点播录制内容。
使用方法:
1,服务器使用FMS3.5以上。
2,将你的FlashPlayer版本升级到9.0.115以上。
3,在程序界面的Fms3 Url中将"rtmp://127.0.0.1/live/stream"修改成你实际FMS3地址。我这里Url格式是rtmp://[ServerIP]/[Application]/[StreamName]。
4.选择视频设备,如果您的计算机没有摄像头,可选择Screen,那么将捕捉您的计算机屏幕当做视频源。
5,选择音频设备,我这里选择的是 "Realtek HD Audio Input"。
4.点Encoder开始编码压缩,并开始发送直播流。如果发送成功则Encode按钮会变灰。
5.点Play可进行直播,如果成功会看到如下图像。
6.或者用其他flash播放器从fms上直播,播放用的url是rtmp://127.0.0.1/live/ ,流名是stream。
程序界面:
程序下载 FlashMediaEncoder
协议分析请参考http://www.cnweblog.com/fly2700/archive/2008/04/09/281431.html