crtmpserver

RTMP推流组件EasyRTMP在弱网环境下推流稳定吗?会不会有推流失败的问题?

浪尽此生 提交于 2021-01-03 16:32:09
EasyRTMP推流组件是一套调用简单、功能完善、运行高效稳定的RTMP专用推流组件,能够应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等方面。 TSINGSEE青犀视频有用户使用libeasyrtmp在弱网环境下推流,经常会有推流失败或者断开的问题。对于这种问题,开发人员通过网络抓包进行查看。 推流断开是由libeasyrtmp客户端主动断开的。而其他的推流工具,同样的网络环境下并没有断开。 从抓包看,由于网络环境差,存在很多超时重传,同样的对于libeasyrtmp中的超时,直接断开连接了。查看代码,libeasyrtmp对于socket超时设置的2s,所以对于超时超过2s就会断开连接。 我们可以重新设置超时时间,设置为10s. int timeout = 10000; if (setsockopt(r->m_sb.sb_socket, SOL_SOCKET, SO_SNDTIMEO, (char*)&timeout, sizeof(timeout)) == -1) { RTMP_Log(RTMP_LOGERROR, "%s, Setting socket timeout to %ds failed!", `ls_function` , timeout); } else { RTMP_Log(RTMP_LOGDEBUG, "%s, Setting

一对一直播源码开发基础方案全面讲解,拯救不开心

依然范特西╮ 提交于 2020-08-17 05:29:43
对于直播市场来讲,一对多形式的直播系统和一对一形式的视频社交系统是比较常见的,这两种形式都是对运营者来讲比较方便操作的,近些年来随着直播市场不断的发展,用户的需求也发生了变化,一对一+直播形式的一对一直播源码的开发也比较普遍。那么关于一对一直播源码开发需要了解和注意哪些方面呢?这篇文章详细的罗列了相关的知识点以作参考。 一、方案基础:什么是一对一直播系统平台 一对一直播搭建是在传统网络视频直播源码基础上,通过功能的调整来实现的。因此,遵循了直播系统的直播实现流程。不同的是一对一直播更好的使用了连麦功能和内容付费的方式。 做一对一直播平台,信息会通过这个APP平台去展示,用户的交互也主要是在这个APP上发生,比如礼物的打赏和视频付费等。一款一对一直播APP在注册时对于主播的信息有更为详细的填写要求,传头像,包含了填写昵称,完善个人资料,又运用了目前最前沿的人脸识别AI技术,对注册女用户进行视频认证,对比其上传的头像,确保头像和本人是同一个人,给交友双方提供一个真实可靠的交友平台,主播真实是对用户视频付费的有效保证。 二、搭建一对一直播平台选择的技巧 首先做一对一直播平台,在软件开发商的选择上,要选择原生开源高效源码,为什么这么说呢自主开发一对一直播源码的优势有以下几个方面: 1. 直播系统更加安全稳定 自主开发的源码安全性强,可以对其进行加密保护,不易被破解,能够迅速找到系统漏洞

直播APP源码搭建简易直播平台及个人开发直播系统的难点

五迷三道 提交于 2020-03-26 09:42:36
如何用直播APP源码搭建一个简易的直播平台 一.前端推流 1.推流可以采用命令: ffmpeg -i input -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/cgstream0input 可以是实时流,也可以是文件,如果是文件 需要加上-re。运用中需要将127.0.0.1换成rtmp所在机器的ip地址。 用命令推流时间戳信息不能任意修改,想要达到一个满意的结果还是要用代码实现。 主要方法代码如下: 1.打开视频流,filename可以文件名称也可以是实时流url. 2.创建输出上下文以及输出流,输出流的格式需要设置成flv 3.从输入流中读取音视频包 二. 服务端 服务端可以选择crtmpserver,crtmpserver开源,在windows平台以及linux平台下都可以运行。 随着人们对视频质量要求的提高,基本上视频的分辨率都是高清(1080p),码率基本会在4M以上。试想如果服务器网卡选择千兆网卡,单个网卡最多也就支持两百多路。一般来讲,服务器的cpu配置会比普通电脑高很多,支持几百路并发是不会出现性能问题。 三. 播放端 如果在网页上播放(IE),可以选择JwPlayer,如果用插件的也是可以。Android端播放器如果底层基于ffmpeg,也可以播放CrtmpServer 转发的音视频流

crtmpserver分析与组网

那年仲夏 提交于 2019-12-12 19:09:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 简介: crtmpserver是一款不错的开源流媒体服务器,用c++语言编写,跨平台。 官方介绍crtmpserver不仅支持adobe rtmp协议,还支持其它常用的协议: . To and from Flash (RTMP,RTMPE, RTMPS, RTMPT, RTMPTE) . To and from embedded devices: Android, IP cameras, Hardware encoders . From iOS devices . IP-TV using MPEG-TS and RTSP/RTCP/RTP protocols 一、结构图 crtmpserver从生产环境使用的情况来看,每天都在用,从几十M到上百M的流量不等,运行几个月无宕机, CPU, 内存各方面性能指标稳定,还是比较满意的。 当然官方还提示有改进的商业版的版本“EvoStream”,如果不差钱,可以买商业版,也算支持作者辛苦的付出。 日常使用,开源版本已经足够。 下图1是我整理的画的crtmpserver结构图,按层次划分。分为以下几大部分: . 网络层: 操作系统的网络模型相关, Linux平台epoll, FreeBSD平台kqueue, Windows平台select . 协议层: RTMP,SIP

crtmpserver的安装及使用

萝らか妹 提交于 2019-12-12 18:19:40
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> crtmpserver又称rtmpd是Evostream Media Server( www.evostream.com )的社区版本采用GPLV3授权。 其主要作用为一个高性能的RTMP流媒体服务器,可以实现直播与点播功能多终端支持功能,在特定情况下是FMS的良好替代品。 支持RTMP的一堆协议( RTMP,RTMPE, RTMPS, RTMPT, RTMPTE ),如果你不想用RED5的话它也是一个很好的选择。 1. crtmpserver下载 源码或二进制版本可以从官网( http://www.rtmpd.com )获取到。例如,我为了简单,从官网( http://www.rtmpd.com/index.php/downloads/ )下载了ubuntu 12.04版本的二进制版本的压缩包。文件为:crtmpserver-1.1_beta-x86_64-Ubuntu_12.04.tar.gz( http://www.rtmpd.com/assets/binaries/784/crtmpserver-1.1_beta-x86_64-Ubuntu_12.04.tar.gz ) 2. 运行 解压下载的压缩包,cd到解压后的目录。 注意:需安装好lua。 运行脚本run_flvplayback