资源简介
本工程包含了LibRTMP的使用示例,包含如下子工程:
simplest_librtmp_receive: 接收RTMP流媒体并在本地保存成FLV格式的文件。
simplest_librtmp_send_flv: 将FLV格式的视音频文件使用RTMP推送至RTMP流媒体服务器。
simplest_librtmp_send264: 将内存中的H.264数据推送至RTMP流媒体服务器。
代码片段和文件信息
/**
* Simplest Librtmp Receive
*
* 雷霄骅,张晖
* leixiaohua1020@126.com
* zhanghuicuc@gmail.com
* 中国传媒大学/数字电视技术
* Communication University of China / Digital TV Technology
* http://blog.csdn.net/leixiaohua1020
*
* 本程序用于接收RTMP流媒体并在本地保存成FLV格式的文件。
* This program can receive rtmp live stream and save it as local flv file.
*/
#include
#include “librtmp/rtmp_sys.h“
#include “librtmp/log.h“
int InitSockets()
{
WORD version;
WSADATA wsaData;
version = MAKEWORD(1 1);
return (WSAStartup(version &wsaData) == 0);
}
void CleanupSockets()
{
WSACleanup();
}
int main(int argc char* argv[])
{
InitSockets();
double duration=-1;
int nRead;
//is live stream ?
bool bLiveStream=true;
int bufsize=1024*1024*10;
char *buf=(char*)malloc(bufsize);
memset(buf0bufsize);
long countbufsize=0;
FILE *fp=fopen(“receive.flv““wb“);
if (!fp){
RTMP_LogPrintf(“Open File Error.\n“);
CleanupSockets();
return -1;
}
/* set log level */
//RTMP_LogLevel loglvl=RTMP_LOGDEBUG;
//RTMP_LogSetLevel(loglvl);
RTMP *rtmp=RTMP_Alloc();
RTMP_Init(rtmp);
//set connection timeoutdefault 30s
rtmp->link.timeout=10;
// HKS‘s live URL
if(!RTMP_SetupURL(rtmp“rtmp://live.hkstv.hk.lxdns.com/live/hks“))
{
RTMP_Log(RTMP_LOGERROR“SetupURL Err\n“);
RTMP_Free(rtmp);
CleanupSockets();
return -1;
}
if (bLiveStream){
rtmp->link.lFlags|=RTMP_LF_LIVE;
}
//1hour
RTMP_SetBufferMS(rtmp 3600*1000);
if(!RTMP_Connect(rtmpNULL)){
RTMP_Log(RTMP_LOGERROR“Connect Err\n“);
RTMP_Free(rtmp);
CleanupSockets();
return -1;
}
if(!RTMP_ConnectStream(rtmp0)){
RTMP_Log(RTMP_LOGERROR“ConnectStream Err\n“);
RTMP_Free(rtmp);
RTMP_Close(rtmp);
CleanupSockets();
return -1;
}
while(nRead=RTMP_Read(rtmpbufbufsize)){
fwrite(buf1nReadfp);
countbufsize+=nRead;
RTMP_LogPrintf(“Receive: %5dByte Total: %5.2fkB\n“nReadcountbufsize*1.0/1024);
}
if(fp)
fclose(fp);
if(buf){
free(buf);
}
if(rtmp){
RTMP_Close(rtmp);
RTMP_Free(rtmp);
CleanupSockets();
rtmp=NULL;
}
return 0;
}
- 上一篇:高通MDM9X07平台用户开发手册
- 下一篇:世界大洲SHP数据
相关资源
- 最简单方便的流媒体服务器Qloud Serv
- srs-3.0release.zip
- AMS-3.0 (Free)------过期不再使用,请
- GB28181转RTSP、RTMP和HLS
- zw_1海康流媒体开发包完整版.zip
- Windows版本的Nginx+rtmp+hls服务器代码
- 基于海思3516v300编译的rtmpdump库文件以
- 海康webcomponents最新版64位,32位内附各
- FMS4.5破解版流媒体服务器FlashMediaSer
- ffmpeg+nginx+nginx-rtmp-module搭建个人直播
- nginx已经配置好了nginx-rtmp-module+VLC可播
- ffmpeg 采集摄像机流(rtsp)后推流(
- rtmpdump实现flv视频推流demo程序
- HelixServerUnlimite(Helix server 11 for Wind
- Rtmp流生成MP4文件源码
- 流视界(完整运行版)
- 流媒体技术入门与提高.pdf
- 超低延迟RTSP/RTMP/HTTP播放器实测小于
- 将rtmp流保存成MP4或者flv格式视频参考
- 海康流媒体开发包完整版含客户端源
- 海康webcomponents最新版64位,32位(内附
- 安卓 rtmp推流+录屏+远程控制
- vs2013 live555流媒体服务 直播点播编译
- rtmp流媒体播放
- easystream
- 流媒体技术入门与提高
- Qt基于RTP打包H.264
- RTMP推流RTSP视频
- Qt基于librtmp推送H.264
- H265(ffmpeg_and_nginx-rtmp).7z
评论
共有 条评论