RTMP协议发送H264 AAC音视频实例 C++实现的RTMP程序实例

转载 2012年03月21日 13:35:48

RTMP协议发送H264 AAC音视频实例 C++实现的RTMP程序实例

转载地址:http://www.cnweblog.com/fly2700/archive/2008/04/02/280641.html
关键词: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。

程序界面:
 


程序下载 http://www.cnweblog.com/Files/fly2700/FlashMediaEncoder2.2.rar
协议分析请参考http://www.cnweblog.com/fly2700/archive/2008/04/09/281431.html
 

rtmp发送H264及aac的音视频

RTMP推送的音视频流的封装形式和FLV格式相似,由此可知,向FMS推送H264和AAC直播流,需要首先发送"AVC sequence header"和"AAC sequence header",这两...
  • lcjatf
  • lcjatf
  • 2014年01月08日 15:17
  • 5129

RTMP发送H264及AAC的音视频

RTMP推送的音视频流的封装形式和FLV格式相似,由此可知,向FMS推送H264和AAC直播流,需要首先发送"AVC sequence header"和"AAC sequence header",这两...
  • dssxk
  • dssxk
  • 2015年10月16日 10:53
  • 905

使用librtmp进行H264与AAC直播(神文)

https://my.oschina.net/jerikc/blog/501948 使用librtmp进行H264与AAC直播  收藏 Jerikc ...
  • STN_LCD
  • STN_LCD
  • 2017年03月31日 20:05
  • 471

android librtmp 推送h264流 aac流 基本过程总结四 推流x264

android librtmp 推送h264流 aac流 基本过程总结三 推流x264 1. x264初始化配置 注意:这里边我踩了一些坑,rtmp 推流过程中去掉nal中pps,sps,只允许一帧中...
  • c553110519
  • c553110519
  • 2017年05月12日 19:12
  • 526

h264+aac=>rtmp

https://github.com/search?l=C&q=rtmp+h264+aac&ref=searchresults&type=Repositories&utf8=%E2%9C%93
  • wishfly
  • wishfly
  • 2017年01月20日 17:51
  • 408

librtmp发送AVC,AAC数据包

1. libRTMP的包结构 typedef struct RTMPPacket { uint8_t m_headerType; uint8_t m_packetT...
  • huibailingyu
  • huibailingyu
  • 2016年01月21日 12:39
  • 2896

基于RTMP推送实时AAC+H264流(三)

推送 流程:初始化、连接服务器、发送数据 这一部分主要用的是librtmp,由于是使用别人封装好的库,总的来说比较简单 初始化 简单地调用一下函数 rtmp = RTMP_Alloc(); ...
  • scnu20142005027
  • scnu20142005027
  • 2017年03月08日 20:16
  • 1226

通过RTMP协议将AAC数据发送到流媒体服务器

简介本文是利用windows API得到PCM格式的音频数据,并转换成AAC格式。然后将AAC数据利用RTMP协议发送到流媒体服务器。 步骤1)直接调用windows API可以获取PCM格式的音频数...
  • allerAParis
  • allerAParis
  • 2015年12月01日 16:21
  • 964

通过RTMP协议将AVC(H264)数据发送到流媒体服务器

简介本文是利用Libx264将普通图片格式转换成yuv420格式,进而转换成H264格式。然后将AVC数据利用RTMP协议发送到流媒体服务器。 步骤1)将图片转换成yuv420,算法比较简单。然后利用...
  • allerAParis
  • allerAParis
  • 2015年12月01日 16:37
  • 1621

基于RTMP推送实时AAC+H264流(一)

最近在做视频监控的项目,搞了一个多星期,总结一下学到的东西,也希望可以帮到有需要的人 从整体来看,推流端大概是这么个流程:采集、处理、编码、封装、推送 如上图所示,图像采集线程和声音采集线程经...
  • scnu20142005027
  • scnu20142005027
  • 2017年02月26日 00:05
  • 2118
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RTMP协议发送H264 AAC音视频实例 C++实现的RTMP程序实例
举报原因:
原因补充:

(最多只允许输入30个字)