使用librtmp接收直播流和点播流并保存
来源:互联网 发布:淘宝睡衣买家秀 编辑:程序博客网 时间:2024/06/06 01:51
来自rtmpdump.c
rtmpdump 可使用命令
直播流
rtmpdump.exe -o savename.flv -r rtmp://127.0.0.1/live/testlive -v
点播流
rtmpdump.exe -o savename.flv -r rtmp://127.0.0.1/vod/test.flv
直播需要加-v参数
下面是从中提取的代码,进行直播或点播流的录制
服务器使用FMS测试通过
crtmpserver需注意超时设置
#include <stdlib.h>#include <string.h>#include <math.h>#include <stdio.h>#include <signal.h>#include <stdint.h>#include "librtmp/rtmp_sys.h"#include "librtmp/log.h"#pragma comment(lib,"ws2_32.lib")#pragma comment(lib,"librtmp.lib")int InitSockets(){WORD version;WSADATA wsaData;version = MAKEWORD(1, 1);return (WSAStartup(version, &wsaData) == 0);}void CleanupSockets(){WSACleanup();}int main(){InitSockets(); RTMP rtmp={0}; RTMP_Init(&rtmp);rtmp.Link.timeout=25;//超时设置//由于crtmpserver是每个一段时间(默认8s)发送数据包,需大于发送间隔才行bool bLiveStream=true;//是否直播if (bLiveStream){RTMP_SetupURL(&rtmp,"rtmp://127.0.0.1:1935/live/testlive");//设置直播标志rtmp.Link.lFlags|=RTMP_LF_LIVE;}else{RTMP_SetupURL(&rtmp,"rtmp://127.0.0.1:1935/vod/test.flv");}RTMP_SetBufferMS(&rtmp, 3600*1000);//1hourif(!RTMP_Connect(&rtmp,NULL)){printf("Connect Server Err\n");WSACleanup();return -1;}if(!RTMP_ConnectStream(&rtmp,0)){printf("Connect stream Err\n");RTMP_Close(&rtmp);WSACleanup();return -1;}int buffsize=1024*1024*10;char*buff=(char*)malloc(buffsize);double duration=-1;int nRead;FILE*fp=fopen("aaa.flv","wb");long countbuffsize=0;//它直接输出的就是FLV文件,包括FLV头,可对流按照flv格式解析就可提前音频,视频数据while(nRead=RTMP_Read(&rtmp,buff,buffsize)){fwrite(buff,1,nRead,fp);if (!bLiveStream&&duration<0){ duration = RTMP_GetDuration(&rtmp); printf("duration:%f\n",duration);}countbuffsize+=nRead;printf("\rdownland...:%0.2fkB",countbuffsize*1.0/1024);}fclose(fp);free(buff);buff=NULL;RTMP_Close(&rtmp);WSACleanup();return 0;}
0 0
- 使用librtmp接收直播流和点播流并保存
- 使用librtmp接收直播流和点播流并保存
- 使用librtmp库发布直播流
- 使用librtmp库发布直播流
- 使用librtmp库发布直播流
- FFMPEG接收RTMP直播流保存的问题
- 使用nginx搭建点播和直播流媒体服务器
- HLS点播--FFmpeg接收udp视频流
- HLS点播--FFmpeg接收udp视频流
- FMS直播和点播测试
- 直播和点播技术分析
- 1小时学会:最简单的iOS直播推流(十)librtmp使用介绍
- 实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解
- 实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解
- 实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解
- librtmp 以record方式向red5推送直播流
- Android 使用librtmp推流
- 使用librtmp进行H264与AAC直播
- Unity-Unity3D与IOS交互开发
- python 字符串处理心得
- 领导四系统模型,你是哪一种?
- 实例化一个 Texture2D
- 使用 Velocity 模板引擎快速生成代码
- 使用librtmp接收直播流和点播流并保存
- iOS-通知正向传值问题
- 移动App架构设计(常用)
- Ionic Css简介与基本布局
- Teamviewer设置被控制端,退出的时候不要锁屏
- Spark大规模机器学习的性能瓶颈和解决方案
- Socket分包处理的解决方案
- 通过JavaScript实现漂浮
- iOS开发路线概述