资源简介
本工程包含了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数据
相关资源
- 利用ASON构建可运营的流媒体网络平台
- nginx-rtmp-win32-master.rar
- onvif协议视频转码推流网页播放
- ffmpegh265rtmp.zip
- 流媒体相关协议标准RTP/RTSP/RTCP PDF文档
- RTMP_H265推流直播技术研讨
- 屏幕采集\\录屏\\rtmp推流的一体化工具
- 最简单的基于FFmpeg的推流器 1.2
-
最新的jwpla
yer-7.7.1 带 完整源码 保证 - 最简单的基于FFmpeg的推流器以推送R
- FFmpeg 采集摄像头输出rtmp直播流媒体,
- 基于FFMPEG SDK流媒体开发1---解码媒体文
- 使用RTMPdump(libRTMP)直播来自v4l2的摄
- rtmpdump vs2005版本
- rtmp抓包分析
- rtmp流播放工具
- ffmpeg实现直播功能
- 内存H264+PCM发布rtmp.rar
- librtmp 封装类 VS 2015
- 基于ARM的嵌入式流媒体服务器的设计
- rtsp摄像头推流上云使用浏览器播放
- 手机USB摄像头直播及服务器推流手机
- 搭建rtmp流媒体服务器的nginx
- 流媒体播放器
- video TS文件
- 摄像头推流到rtmp
- nginx搭建flv流媒体教程与资源
- RTMP 规范中英文对照阅读版[带书签]
- srs一款windows下面的流媒体服务器
- Windows Media Service,Helix Server,VLC搭建
评论
共有 条评论