rtmpdump 捕获 rtmp视频数据 本地存储为 flv文件
来源:互联网 发布:mac常用快捷键 编辑:程序博客网 时间:2024/06/05 11:59
1、rtmpdump相关参考
rtmpdump 实现 flv视频数据的rtmp推流功能http://blog.csdn.net/ternence_hsu/article/details/58594687
2、rtmpdump 捕获 rtmp视频数据 本地存储为 flv文件
Makefile#!/bin/shINCLUDE = /ternence/test/rtmpdump/LIB_DIR = /ternence/test/rtmpdump/librtmp/LDFLAGS = -lrtmpSRC=rtmp_recv.call:$(SRC)gcc -g -Wall $(SRC) -o target -I $(INCLUDE) -L $(LIB_DIR) $(LDFLAGS)
rtmp_recv.c
#include <stdio.h>#include <stdlib.h>#include <string.h>#include "librtmp/rtmp_sys.h"#include "librtmp/log.h"#define SAVE_FILE_NAME "receive.flv"#define RTMP_SERVER_URL "rtmp://172.16.1.65:1935/vod/mp4:sample.mp4"int InitSockets(){ /*WORD version;WSADATA wsaData;version = MAKEWORD(1, 1);return (WSAStartup(version, &wsaData) == 0); */ return 0;}void CleanupSockets(){//WSACleanup();}int main(int argc, char* argv[]){InitSockets();//double duration=-1;int nRead;//is live stream ?int bLiveStream=1;int bufsize=1024*1024*10;char *buf=(char*)malloc(bufsize);memset(buf,0,bufsize);long countbufsize=0;FILE *fp=fopen(SAVE_FILE_NAME,"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 timeout,default 30srtmp->Link.timeout=10;if(!RTMP_SetupURL(rtmp,RTMP_SERVER_URL)){RTMP_Log(RTMP_LOGERROR,"SetupURL Err\n");RTMP_Free(rtmp);CleanupSockets();return -1;}if (bLiveStream){rtmp->Link.lFlags|=RTMP_LF_LIVE;}//1hourRTMP_SetBufferMS(rtmp, 3600*1000);if(!RTMP_Connect(rtmp,NULL)){RTMP_Log(RTMP_LOGERROR,"Connect Err\n");RTMP_Free(rtmp);CleanupSockets();return -1;}if(!RTMP_ConnectStream(rtmp,0)){RTMP_Log(RTMP_LOGERROR,"ConnectStream Err\n");RTMP_Close(rtmp);RTMP_Free(rtmp);CleanupSockets();return -1;}while(nRead=RTMP_Read(rtmp,buf,bufsize)){fwrite(buf,1,nRead,fp);countbufsize+=nRead;RTMP_LogPrintf("Receive: %5dByte, Total: %5.2fkB\n",nRead,countbufsize*1.0/1024);}if(fp)fclose(fp);if(buf){free(buf);}if(rtmp){RTMP_Close(rtmp);RTMP_Free(rtmp);CleanupSockets();rtmp=NULL;}return 0;}下载:
http://download.csdn.net/detail/ternence_hsu/9766463
0 0
- rtmpdump 捕获 rtmp视频数据 本地存储为 flv文件
- rtmpdump 实现flv视频数据的rtmp推流功能
- linux系统RTMPdump(libRTMP) 通过RTMP 发布FLV数据
- 转换视频为flv文件过程记录
- linux系统RTMPdump(libRTMP) 通过RTMP 发布H264数据
- 安装和使用ffmpeg转换视频为flv文件
- java使用ffmpeg转换视频为flv文件
- 安装和使用ffmpeg转换视频为flv文件
- 本地数据存储----文件操作
- 视频批量转换为FLV
- 基于FLV视频的RTMP和HTTP区别
- 基于FLV视频的RTMP和HTTP区别
- 基于FLV视频的RTMP和HTTP区别
- iOS RTMP 视频直播开发笔记(6)- 封包 FLV
- iOS RTMP 视频直播开发笔记(6)- 封包 FLV
- iOS RTMP 视频直播开发笔记(6)- 封包 FLV
- ffmpeg推本地视频到rtmp服务器
- h264封装为flv文件
- 汉明距离(Hamming Distance)问题的两种解法,C++实现
- HTTPurlconnection
- 双声道和立体声
- Mysql函数手册
- 使用Eclipse中提供的Refactor(重构)工具
- rtmpdump 捕获 rtmp视频数据 本地存储为 flv文件
- 可扩展架构取舍
- Spring MVC 拦截器(HandlerInterceptor)使用
- linux常用命令加实例大全
- 多线程 +1操作的几种实现方式,及效率对比
- mutable关键字
- Loadrunner通过吞吐量计算每个用户需要的带宽
- Loadrunner通过吞吐量计算每个用户需要的带宽
- tslib1.4移植到开发板中环境变量的设置