技术标签: 实现rtmp推流的简单代码 网络 音视频 服务器
连接上rtmp主要分为一下几个步骤:
1.创建RTMP对象,并进行初始化
2.先设置RTMP服务地址,以及设置连接超时时间
3.设置推流还是拉流,通过一个开关进行设置
4.建立连接
5.创建流
static RTMP* conect_rtmp_server(char *rtmpaddr){
RTMP *rtmp = NULL;
//1. 创建RTMP对象,并进行初始化
rtmp = RTMP_Alloc();
if(!rtmp){
printf("NO Memory, Failed to alloc RTMP object!\n");
goto __ERROR;
}
RTMP_Init(rtmp);
//2.先设置RTMP服务地址,以及设置连接超时间
rtmp->Link.timeout = 10;
RTMP_SetupURL(rtmp, rtmpaddr);
//3. 设置是推流还是拉流
//如果设置了该开关,就是推流(publish),如果未设置就是拉流(play)
RTMP_EnableWrite(rtmp);
//4. 建立连接
if(!RTMP_Connect(rtmp, NULL)){
printf("Failed to Connect RTMP Server!\n");
goto __ERROR;
}
//5. create stream
RTMP_ConnectStream(rtmp, 0);
return rtmp;
__ERROR:
//释放资源
if(rtmp){
RTMP_Close(rtmp);
RTMP_Free(rtmp);
}
return NULL;
}
文章浏览阅读284次。从程序员的角度看linux和windows的对比:一 系统架构的对比1 内核(1) 内核的弹性内核内核的弹性linux的内核表现出了高度的可配置性和独立性,主要是完成:io驱动设备管理,tcp/ip,以及任务调度.linux的标准内核发布版本有40~50mb,而我现在在一些评估板上试验的嵌入式linux系统(使用arm或m68k系列的cpu)只用到了2mb,同样实现了网络功能和完整的任务调度,这使..._linux和vs的区别
文章浏览阅读5k次,点赞12次,收藏34次。详细记录用法,清晰明了!np.expand_dims(a, axis = 0 )np.expand_dims(a, axis = 1 )np.expand_dims(a, axis = 2 )np.expand_dims(a, axis = 3 )np.expand_dims(a, axis = -1 )_np.expand
文章浏览阅读62次。看到题目描述立马蒙了,怎么废话怎么多??不愧是普及组最后一题啊其实本题不难,理好思路就行了,dp【i】指到了第i个单位时间时最大收益,外层循环时间m,内层枚举起点,再枚举该机器人行走的时间dp[i]=max(dp[i],dp[i-k]+该时间内总获得的金钱-买机器人时的花费) 1 #include<bits/stdc++.h> 2 #define maxn 1010..._p1070 [noip2009 普及组] 道路游戏提交15.53k通过5.56k时间限制1.00s内存限制125.
文章浏览阅读3.8w次,点赞20次,收藏67次。什么是本地主机?当您在计算机上 ping IP地址时,您尝试联系互联网上的另一台计算机,但是当你ping IP地址127.0.0.1时,ni正在与本地主机通信。localhost 始终是你自己的计算机。当你呼叫本地主机时,你的计算机正在通话。你的计算机并不总是直接识别本地主机。在你的个人网络中,localhost有一个单独的IP地址,如192.168.0.1。(大多数情况下),与你在互联网上使用..._localhost
文章浏览阅读4.9k次。把所有需要修改的ip修改一致,如果用localhost都用localhost,如果用本地IP都用本地IP。关键修改的配置文件kafka/config/server.properties# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreemen..._kafka broker may not available
文章浏览阅读1.7w次,点赞28次,收藏215次。一、闹钟功能的介绍以及界面的展示 该闹钟是根据我们手机闹钟设计的一个简单的闹钟APP,其中包含时钟、闹钟、秒表和计时器功能。用户可以对闹钟添加和删除,可以对秒表计时、暂停和重置,对计时器可以暂停、计时、继续和重置等功能。 下图为闹钟的时钟功能..._android studio 闹钟
文章浏览阅读2.2w次,点赞11次,收藏86次。在空间关系里面,点与点之间的关系是最简单的(要么重合,要么分离),而且实际上真实世界的物理空间里面,是没有点这个东西的……那是一维空间的玩意儿。从更高层的抽象中对概念进行描述,是科研的重要方法论,所以在空间分析里面,大部分空间实体都被抽象成为了点——仅表示位置,没有大小粗细范围一说。其实说了这么多年的“空间”分析,这个空间的概念,从狭义上说通常指的是地理空间,然后根据地理学第一定律_空间权重
文章浏览阅读5.4k次,点赞4次,收藏3次。1 、执行:【open ~/.zshrc 】open ~/.zshrc2 、如果 提示文件不存在,则执行:【vim ~/.zshrc 】新建一个新文件。vim ~/.zshrc3 、再执行【open ~/.bash_profile 】open ~/.bash_profile4 、把 bash_profile 中的内容copy到 zshrc 文件中,保存:【:wq回车】。export PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER__command not found: flutter
文章浏览阅读160次。第一次写博客,自己其实是一知半懂,写下来便于记录自己学习的过程,便于以后回顾温习,有许多不完善的地方,也遇到了许多的问题,希望大神们多多指教 1.环境: Python3 +Selenium2+Pyunit+Chrome 2.主要实现 1.登入,2异常截图,3生成报表,4发送邮件 ..._python用ui按钮打开记事本
文章浏览阅读4.7k次,点赞4次,收藏22次。JavaScript闭包的介绍_什么是闭包
文章浏览阅读668次。1、针对MIGO类的,移动类型不为为221的。 DATA: LT_COPADATA LIKE COPADATA OCCURS 0 WITH HEADER LINE, LS_COBL_TMP LIKE COBL. REFRESH LT_COPADATA. LT_COPADATA-FNAM = 'PRCTR'. APPEND LT_COPADATA. CLEAR LT_COPADATA. LT_COPADATA-FNAM = 'GSBER'. APPEND_sap message ki 249
文章浏览阅读93次。贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,包括《The Elements of Programming Style》、《The Practice of Programming》、《The UNIX Programming Environment》、《The AWK L..._朝阳水野所有作品中文