流媒体服务器

Easydarwin流媒体服务器01--介绍

送分小仙女□ 提交于 2019-12-24 15:52:06
1. EasyDarwin是由国内开源流媒体团队开发和维护的一款开源流媒体平台框架,从2012年12月创建并发展至今,从原有的单服务的流媒体服务器形式,扩展成现在的云平台架构的开源项目,更好地帮助广大流媒体开发者和创业型企业快速构建流媒体服务平台,更快、更简单地实现最新的移动互联网(安卓、IOS、微信)流媒体直播与点播的需求,尤其是安防行业与互联网行业的衔接; 2.EasyDarwin有两个私有自定义的Module:拉模式转发模块EasyRelayModule和HLS直播模块EasyHLSModule,这里用到的libEasyRTSPClient、libEasyPusher、libEasyHLS三个库文件都是没有开源的,他们都是EasyDarwin团队开发的SDK库,但这些都是完全免费使用的,如果您觉得这几个Module对您没有作用,可以在代码中删除或者在调用入口QTSServer::LoadCompiledInModules()中注释掉: //QTSSModule* theOnDemandRelayModule = new QTSSModule("EasyRelayModule"); //(void)theOnDemandRelayModule->SetupModule(&sCallbacks, &EasyRelayModule_Main); //(void)AddModule

华为云流媒体性能测试解决方案 轻松应对流量危机【华为云技术分享】

﹥>﹥吖頭↗ 提交于 2019-12-11 01:21:17
背景 随着带宽提速和互联网发展,内容丰富、形式多样的视频正成为碎片化时代娱乐消费的新宠,短视频、视频直播、在线钢琴陪练、合唱直播一系列新玩法层出不穷,涉及电竞、社交、电商、教育等各个行业。网络视频快速发展对系统性能带来了巨大的考验。 流媒体业务场景 下面是用户与流媒体服务器的简化交互关系,主要分为推流和拉流2大类。 推流就是从外界采集数据后利用流媒体协议将文件推流至流媒体服务器端,拉流就是将文件从流媒体服务器拉取至本地播放的过程,流媒体的文件主要是由音频和视频2个部分组成,youtube、土豆、优酷等视频播放器播放一个互联网上的视频文件时,需要经过解协议、解封装、音视频解码、以及音视频同步这几个步骤。因此对流媒体的压力测试也需经历这些过程,所以先了解几种常见的流媒体协议: HLS:HTTP Live Streaming(HTTP直播流技术),Apple的动态码率自适应技术,不同带宽的设备可以自动切换到最适合自己码率的视频播放。HLS基于http短连接,将整个流切分成一个个小的文件来下载,也就是ts切片文件,并更新m3u8的索引文件、存放ts文件配置信息和相关路径。m3u8由一系列的标签组成,ts文件为传输的流文件,视频编码主要格式h264/mpeg4,音频为acc/MP3。HLS的主要缺点就是时延性在10秒以上。 RTMP:Real Time Messaging Protocol

安防监控流媒体服务器对接宇视摄像机配置OCX插件安装时出现Failed to register ocx, error code 14001错误问题分析

回眸只為那壹抹淺笑 提交于 2019-12-09 15:10:06
背景需求 随着雪亮工程、明厨亮灶、手机看店、智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网、微信直播,我们知道摄像头直播的春天了。将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP、HTTP-FLV、HLS等流格式再分发给用户端进行直播,不管身处何地都可以通过移动通讯设备查看监控设备,这些功能是EasyNVR互联网直播系统研发和设计的初衷和基础功能。将EasyNVR接入海康、大华等摄像机进行配置,配置成功后便可观看直播。 宇视摄像机/NVR OCX插件插件安装报错 在使用EasyNVR接入海康、宇视的摄像机进行景观直播的项目时,我们发现海康的设备后台管理页面,不需要装插件也能调整参数,但是宇视的后台管理不装插件就无法进入,因此我们又遇到了问题:插件安装不成功,如图: 分析问题 从日志系统来看,报错原因是imos_mv_sdk.dll缺少了Microsoft.VC90.CRT这个程序集,系统不带这个程序集,而安装程序又不自带进来,就导致了ocx注册出错。 解决问题 知道了问题所在之后,就着手解决问题了。我们从本地的开发环境中,找到VC90 CRT一整套的DLL,直接copy到宇视OCX安装的路径: 如此操作之后,再进行宇视的插件安装,就能够安装成功了。安装成功之后再进行EasyNVR的配置,便能够正常观看直播了。 来源: https://www.cnblogs.com

视频流媒体服务畅想

旧街凉风 提交于 2019-12-06 23:18:12
##一、协议: 1、HTTP 2、RTSP Real Time Streaming Protocol实时流传输协议,是TCP/IP协议体系中的一个应用层协议 ##二、流媒体服务器: 1、EasyDarwin 2、Red5 3、Open Streaming Server 4、Darwin Streaming Server ##三、网页媒体播放器 JW Player ##四、存储 CDN、七牛、百度开发平台 ##五、点播 P2P ##四、资料 1、NGINX的流媒体插件 nginx-rtmp-module 2、nginx搭建流媒体服务器 3、linux流媒体服务器 4、大型视频网站架构 来源: oschina 链接: https://my.oschina.net/u/1438697/blog/659698

rtmp与hls流媒体服务器搭建:ubuntu下Nginx搭建初探与rtmp-module的添加

醉酒当歌 提交于 2019-12-06 15:27:15
关键词:Nignx(http服务器);rtmp,hls(流媒体服务) 前言:感谢开源,感谢战斗民族。现在在做流媒体服务的一些工作,流媒体服务器搭建的网上教程多入牛毛,但是细细查看,发现很多同志贴上来的教程都有些许问题,还有一些是爬别人的数据得来的,排版上也有问题,让新手无所适从。本文也是通过翻看一些优质的博文得到的这篇分享。以下分享的网址就是引用的博文,安利一下。 1. http://redstarofsleep.iteye.com/blog/2123752 2. http://blog.csdn.net/cjsafty/article/details/9108587 3. http://blog.chinaunix.net/uid-20639775-id-154556.html 教程: 1. 下载nginx, openssl, pcre, zlib到一个目录下,如(/home/user),用wget命令,具体可查看下面的各种版本。 nginx-1.8.0.tar.gz openssl-1.0.1i.tar.gz pcre-8.37.tar.gz zlib-1.2.8.tar.gz 2. tar解压。 tar -zxvf nginx-1.8.0.tar.gz tar -zxvf openssl-1.0.1i.tar.gz tar -zxvf pcre-8.37.tar.gz tar

centos6.5搭建流媒体服务器

柔情痞子 提交于 2019-12-06 08:20:46
下面开始介绍CentOS 6.5 64位上安装Darwin Streaming Server搭建RTSP流媒体服务器的方法: 一、首先说明下我的系统环境: CentOS 6.5 64位最小化安装(用的CentOS-6.5-x86_64-minimal.iso),关闭iptables和SELINUX: # chkconfig iptables off # vi /etc/sysconfig/selinux(把enforcing修改为disabled,然后重启系统) 二、安装后至少需要安装以下5个组件,确保软件安能正常安装及运行: yum -y install gcc gcc-c++ perl ld-linux.so.2 libstdc++.so.6 三、SSH登录,并切换到root用户; 四、下载Darwin Streaming Server v5.5.5 Linux安装包: 下载 http://dss.macosforge.org/downloads/DarwinStreamingSrvr5.5.5-Linux.tar.gz ,然后通过SFTP或者FTP上传到服务器上。 如果服务器可以上网,也可以直接用wget命令下载: # wget http://dss.macosforge.org/downloads/DarwinStreamingSrvr5.5.5-Linux.tar.gz

nginx上搭建HLS流媒体服务器

房东的猫 提交于 2019-12-05 21:29:09
简介:HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议。 是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP 的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速 率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包 含元数据的extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。 HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防 火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。 此协议详细内容请参考apple官方网站: https://developer.apple.com/resources/http-streaming/ 有两种方式搭建HLSserver, 一种是利用apple SDK, 一种是利用adobe 的fms,4.5版本支持hls,参考, http://www.adobe.com/products/flash-media-streaming/features._sl_id-contentfilter_sl_featuredisplaytypes_sl_new

百万级高并发WebRTC流媒体服务器设计与开发

随声附和 提交于 2019-12-04 04:56:06
第1章 课程导学与准备工作 本章主要介绍为何要学习WebRTC流媒体服务器开发,以及本门课能为我们带来哪些收获。之后会为大家介绍本课程内容具体安排,最后给出如何学好这门课程的一些学习建议。希望大家都能通过这门课程,学有所成,学有所归。 第2章 C++语言基础回顾【已掌握,可略过】 为了便于大家更好的学习流媒体服务器的开发,本章将带大家对WebRTC服务器开发中用到的C++基础知识进行回顾梳理,如类的定义与使用,继承,多态,名存空间等相关知识。 第3章 服务器基础编程 本章将带你学习最基础的服务器开发,让你体会服务器开发其实如此简单。 第4章 网络编程基础 本章将带你了解如何在服务端开发网络服务器程序。 第5章 异步I/O事件处理 本章将带你掌握异步IO事件处理原理。 第6章 epoll实现高性能服务器 本章将带你学习Linux下最高效的异步IO事件处理函数epoll的使用。 第7章 libevent实现高性能网络服务器 本章将带你了解几个比较著名的开源事件处理库,epoll使用起来比较复杂,很多开源项目对epoll进行了封装,如libevent、libuv等,本章还会传授你如何提高开发网络异步IO服务器的效率。 第8章 TCP/IP详解 本章将带你深入TCP/IP原理,对TCP协议、TCP三次握手、TCP四次挥手、UDP与RTP等核心内容做深入剖析。 第9章 UDP/RTP

GB28181之实时点播

匿名 (未验证) 提交于 2019-12-03 00:39:02
1实时点播信令流程 平台点播实时视频到关闭视频这个过程,上下级平台信令交互分为五个步骤,点播请求视频信令由上级平台发起。通过wireshark抓包发现信令如下: 信令包为SIP包(Session Initiation Protoocal),传输层使用UDP协议。 点播流程: ①上级平台向下级发送INVITE请求,请求实时视频 ②下级平台回复200OK ③上级平台回复ACK确认 ④关闭视频,上级向下级平台发送BYE请求,请求关闭视频 ⑤下级平台回复200OK 2点播信令流程详解 2.1上级发送INVITE请求 上级平台(192.168.2.2为平台对接网关)向下级(192.168.1.1为平台对接网关)发送invite请求,请求国标编码为44140302001310131077的这路摄像机视频。 ①Call-ID:唯一标识这次的点播流程,即这次点播的五条信令中的Call-ID都是相同的。 ②s=Play:说明请求的是实时视频。 ③c= IN IP4:此字段的IP地址为自己平台的流媒体服务器,通过此字段告知对方流媒体的地址(192.168.2.30)。 2.2下级回复200OK 下级平台收到invite点播请求后,回复200OK允许请求,并在提供流媒体服务器信息,即通过c=IN IP4字段通知上级平台自己的流媒体服务器地址是多少(192.168.1.1)。 2.3上级回复ACK确认

用VLC搭建流媒体服务器

匿名 (未验证) 提交于 2019-12-02 22:56:40
这段时间用到了流媒体数据传输的TCP和UDP方式,感觉vlc可以做这方面的demo,这里总结下,也方便我以后查阅。 简介 VLC主页: http://www.videolan.org VLC不仅仅是个播放器,也可以作为流媒体服务器使用。这个网上有相关的资料,我就不多说了。 声明下本文用的VLC版本:2.0.3 用VLC搭建基于UDP的流媒体服务器 流媒体服务器大多数是基于UDP的,这个在VLC中也有好几种实现,我这里只列出我用到的几个。 1 、UDP(legacy)传统模式 服务端操作 打开“媒体――流”选项,如图所示: 点击“添加”按钮选择流媒体文件,然后点击“串流”按钮 点击“下一个”后,在“目标设置”界面选择“UDP (legacy)”,然后点击添加按钮 填上目标ip地址,并在“转码选项”中选择相应的编码类型(这个视情况而定) 可以点击“下一个”进行相关设置,也可以点击“串流”来完成服务端的设定。这里我点击“串流”完成服务端的设定。 客户端操作 点击“媒体――打开网络串流”,在弹出的框中输入“udp: //@1234 ”,点击“播放”按钮即可。 通过界面操作比较简单,但如果经常进行此类工作的话,脚本是比较靠谱的。 命令行操作方式 服务端(172.16.1.1): vlc -vvv sample1.avi --sout udp:172.16.1.100:1234 --ttl