2019独角兽企业重金招聘Python工程师标准>>>

当下,直播依然非常的火爆,想要分羹的人也是非常多,看到这么充满激情的直播市场,免不了一些从事开发编程人员对直播的进一步开发和研究,但就算是在直播这么“裸露”的情况下,很多人对于直播也是非常的懵懂,下面我就来给大家讲解一下如何搭建一个直播平台,直播系统的开发:

首先是直播视频采集端,由主播通过摄像头手机等采集设备,采集视音频流,编码后采用RTMP协议推流到直播流服务器。这里采用H.264编码对视频流进行编码,使用AAC对音频流进行编码,采用这两种编码的原因是hls协议要求使用这两种编码。
接下来直播服务器会对从采集端推送的流进行一定的处理。比如,hls协议会将视频流切片成一个个的TS视频文件缓存在服务器中,同时生成一个m3u8文件记录了视频流中的包含的TS文件。

直播整体流程图如下:

之后如果有播放器请求某一个直播链接,服务器会使用RTMP或者hls协议将流推送到播放器。那么我们该如果根据情况选择这两种协议呢。首先,我们需要明确一点,这两种协议各有利弊。
RTMP
公司:Adobe
平台支持:FlashPlayer等一些网页端的播放器、移动端 Vitamio
延迟:三秒钟左右的延迟,实时性较高

HLS
公司:Apple
平台支持:Apple产品原生支持,Android3.0以上原生支持,桌面机的浏览器需要使用一些第三方库,如JWPlayer
延迟:根据TS长度不同而不同,一般会有10s以上的延迟

综合以上因素,我们认为如果对实时性要求较高,那么使用RTMP会比较好。网页端使用RTMP会比较好,因为Flash Player原生支持,而大多数的浏览器都会安装Flash player。而在移动端如果对实时性要求不高,那么采用hls比较好,因为ios包括3.0以上的安卓都原生支持hls协议。

视频采集与编码
视频采集可以有多重途径,比如通过电脑摄像头,通过OBS等录屏软件进行录屏,通过手机摄像头采集。由于目前户外直播和移动互联网很火,所以我们就选择实现在安卓设备上通过摄像头采集视频流。为了实现这一功能,我们使用了一个开源项目javacv 它包含了一些在计算机视觉领域应用比较多的库,我们主要使用的是它的FFMpeg库。使用FFMpeg的FFMpegFrameRecoder类,我们能够方便地将从android摄像头采集到的帧传输到服务器。

直播流服务器
关于直播服务器,我们选择使用我们中国人开发的一个开源项目——srs,它支持RTMP/HTTP/RTSP等协议的流输入,支持RTMP/HDS/HLS/HTTP等协议的流输出,同时它也支持集群。关于srs的安装和使用可以直接看它在github上的wiki,这里不再赘述。需要注意的一点是该项目在centos 6.x 和ubunut12.x上能正常编译通过,但是在比如我使用的ubuntu14.04上会有一些依赖包的缺失。所以为了方便考虑的话,可以在centos和ubuntu12.x上进行test。

播放器
我们在试验的过程中,使用多种播放器和库在全平台实现了rtmp和hls的播放。在网页端使用了videojs,在安卓端使用vitamio。
当然本文中的解决方案只是最简单的,对于直播服务器集群,直播间的创建和管理,直播间直播密码和权限,内容分发网络CDN都没有进行深入的研究。所以如果你在直播平台开发搭建上还是有太多问题的话可以找一家专门开发直播的公司做,比如像美丽播直播这种专门开发直播系统、直播平台的公司,不仅能够减少成本还能够快速的就能够实现你的直播梦想。http://www.meilibo.net(美丽播)

转载于:https://my.oschina.net/u/3677777/blog/1552075

直播系统解决方案:直播平台如何开发搭建相关推荐

  1. 视频直播系统解决方案—是基于声网SDK实现的

    "在2019年5G创新发展峰会暨中国联通全球产业链合作伙伴大会上,中国联通董事长王晓初正式宣布联通5G实验网开通." 伴随5G的到来,网络流畅度的提升,视频直播系统将持续火爆,视频 ...

  2. 4 转推流格式_网络互联互通直播系统 分会场直播一体机 各地连线直播推流

    网络互联互通直播系统 分会场直播一体机 各地连线直播推流 LiveMix Cloud无线互联系统完全满足广大客户通过互联网互动制作的需求,可以大大节省制作成本,提高系统延展性,可以远程连接手机或者摄像 ...

  3. android系统应用的平台化开发

    android系统应用的平台化开发,一种开发思路,旨在方便平台开发. 在android操作系统中,源码编译生成app,加入带系统签名的app,这些应用都带有系统权限,统一放在了system/app或者 ...

  4. 多校区网络直播系统解决方案

    多校区网络直播系统方案以直播编码器.AuraStone固态流媒体系统.视频汇聚系统为核心所搭建的一套基于IP网络的音视频多地域直播.点播.录制.回看的系统解决方案. 高效快捷的网络直播编码器通过全能视 ...

  5. 智慧酒店电视系统服务器,智慧酒店有线电视、卫星电视直播系统解决方案播系统解决方案...

    数字电视局域网直播定时录制回放平台是为满足企事业.学校.机关事业等单位通过局域网中电脑收看有线电视频道和录制的电视节目. 该解决方案将有线数字电视信号电缆接入到方案中,用户只需要设置需要直播电视频道就 ...

  6. 【开发管理】【直播系统】【macOS 应用开发】【面试问题】| Chat · 预告

    1 如何做好一个中型项目的开发管理工作 作者简介: 汤青松,中国婚博会PHP高级工程师,DevlinkPHP大会讲师,擅长安全工具的研发及渗透测试实战操作.曾负责乌云众测的研发工作;网利宝的研发及安全 ...

  7. 直播系统---从直播答题看SEI帧的原理和作用

    什么事SEI SEI即补充增强信息(Supplemental Enhancement Information),属于码流范畴,它提供了向视频码流中加入额外信息的方法,是H.264/H.265这些视频压 ...

  8. 直播系统解决方案-搭建你自己的直播平台

    背景 当下,视频直播行业在中国逐渐走红.在刚刚过去的2015年,视频直播成为互联网行业最抢眼的领域之一.从游戏到秀场,从传统的网页端到移动互联网,各大直播平台包括斗鱼.熊猫tv.虎牙战旗还有纯移动端的 ...

  9. 体育直播app/原生双端app/体育赛事OBS直播系统/体育直播源码/NBA直播/电竞直播app

    体育直播源码简介: 功能完善系统包含热门球赛.即时比分.赛程类别.比赛直播.赛事解说.赛程列表 多端源码包含电脑PC端+苹果APP+安卓APP 开发周期短,源码是成品,搭建部署快,只需对接好赛事数据即 ...

最新文章

  1. [PA2014]Pakowanie
  2. SQL注入之时间盲注 和 报错注入(sql-lab第一关为例)
  3. 附近有什么?8款可以查周边的App
  4. mybatis获取表名——mybatis动态调用表名和字段名#{},${}
  5. 基于顺序存储结构的图书信息表的最爱图书的查找(C++)
  6. redis取值偶尔取不到_redis 入门
  7. OpenCV-计算自然对数cv::log
  8. 三元运算符(Java)
  9. 会议直播方案 腾讯会议
  10. 知识图谱表示学习-TransE算法
  11. 【全套完结】电磁场与电磁波实验-----全套Matlab仿真实验
  12. dede posttocar.php.,plus/posttocar.php · lsok/jiushu2 - Gitee.com
  13. 一场CF的台前幕后(下)
  14. 方舟仙境服务器什么时候修复,方舟生存进化官服多久删一次服务器
  15. 基于ASP.NET的图书在线销售管理系统设计与实现
  16. 车载滤波器组件焊锡开裂失效分析
  17. 马云首次出演电影 《功守道》;沙特授予机器人公民身份;美五大科技股集体暴增1810亿美元丨价值早报
  18. 工作站压力测试软件,胜任多种工作负载 联想P500工作站评测
  19. 1349:最优布线问题
  20. 嵌入式Linux设备驱动程序开发指南3(构建Microchip SAMA5D2嵌入式 Linux系统)——读书笔记

热门文章

  1. 租房注意事项(一):租房术语
  2. 超级简单的 RocketMQ 流量削峰实战
  3. 人工智能技术助力民族语言保护大有可为
  4. 解密滴滴黑科技:超低功耗桔视ADAS落地实践
  5. 服务器怎么用固态盘安装系统,服务器使用固态盘安装
  6. 服务器搭建系列之序章:总览,2022最新版本
  7. 有机化学反应里php什么意思,有机反应类型解读
  8. (五)Latex特殊符号
  9. php模拟IP请求,如何在php中利用curl对ip进行模拟
  10. [幽默网文]2009高考作文语录