基于SRS开源直播系统设计与实现

基于SRS开源直播系统设计与实现

摘 要: 针对校内直播系统存在并发性能低下的问题,提出一种基于SRS开源软件的校内直播解决方案。首先在CentOS的环境下部署Nginx和PHP,然后利用开源RTMP架构SRS结合开源编解码库FFmpeg实现视频直播播放。Windows操作系统用户安装Flash插件进行播放和回放,移动端用户通过HTTP方式进行播放和回放。实验结果表明,该方案有极高的稳定性和实时性,并发性能高,视频具有很好的质量。

关键词: SRS; 开源软件; 直播系统; 直播方案

中图分类号: TN919.8?34; TP37 文献标识码: A 文章编号: 1004?373X(2016)16?0036?04

Abstract: Aiming at the poor concurrency performance existing in the campus live system, a solution about the campus live system based on SRS open source software is provided. First of all, Nginx and PHP is deployed under the environment of CentOS, and then open source RTMP architecture SRS combining with the open source codec library FFmpeg is adopted to realize video live broadcast. The users of Windows operating system can install Flash plug?in to perform their play and playback. The users of mobile terminal perform their play and playback via HTTP. The experimental results show that the solution can realize high stability, real?time performance, high concurrent performance and high quality video.

Keywords: SRS; open source software; live system; live scheme

0 引 言

近年来,随着网络技术和光纤技术在校园网的广泛应用,网络直播逐渐成为师生获取信息的重要手段。校内的许多活动都可以借助网上现场直播方式传遍全世界。西北农林科技大学在发展过程中不断跟进现代教育技术的步伐,注重教学资源的积累和应用。学校多年来积累了丰富的校内资源、精品课程、国外资源等,这些珍贵的资源运用于教学过程中会对老师的教学和学生的学习有极大的帮助。随着技术的进步和知识的更新,师生对于教学现场实况及电视节目等实时教学资源的需求越来越多。随着3G,4G移动互联网的发展,越来越多的师生希望通过移动终端实时访问校内直播系统以满足现代教学的需求。面对日益增长的用户群,我校原有的直播系统已满足不了师生利用多终端流畅观看直播的需求。本文提出了基于SRS,FFmpeg,Nginx,PHP等开源软件搭建的校内直播系统方案,用多媒体数字视频资源来辅助高校网络教学,以推动校园信息化建设。本系统采用开源软件FFmpeg推流到SRS流媒体服务器对实时视频流进行处理,实现视频的直播。本文首先分析了FFmpeg库、RTMP流媒体协议和SRS的基本原理,然后设计并实现了整个视频直播系统的各个功能模块,最后在实际测试环境中验证了基于SRS校园开源直播系统的高并发性和稳定性。

1 直播系统设计方案

1.1 开源软件和协议介绍

1.1.1 RTMP协议和RTSP协议

RTMP(Real Time Messaging Protocol)实时消息传输协议是用来进行实时数据通信的网络协议[1],主要用在Flash/AIR平台音视频和数据通信。RTMP协议使用TCP协议作为其传输层的网络协议,由于TCP可提供可靠交付的协议,因此在互联网上传输时不会出现丢包情况,从而保证了用户体验[1]。

RTSP(Real Time Streaming Protocol)实时流协议是应用层控制协议[2],控制实时数据的发送。RTSP只对流媒体的数据传输起控制作用,传输数据一般由RTP协议类实现。采用RTSP + RTP这个组合来传输多媒体数据,在互联网应用不是很多,原因在于RTP协议

php流媒体技术srs,基于SRS开源直播系统设计与实现.doc相关推荐

  1. srs流媒体服务器windows_基于SRS构建的直播平台的监控系统的搭建思路与实现方法...

    市面直播平台百家争鸣,直播监控系统是判断一个直播平台是否完善的必要条件.文章简要介绍了笔者搭建的一套基于SRS的直播平台,并从设计思路.实现方法与实现过程等方面重点介绍了针对此直播平台建设的监控系统, ...

  2. 【智慧酒店解决方案】TSINGSEE青犀视频基于流媒体技术EasyDSS搭建酒店IPTV直播/点播平台

    一.背景分析 随着现代社会的快速发展,越来越多的顾客希望在酒店享受个性化和信息化的服务.因此,对于一二线城市的新型星级酒店而言.迫切需要为客人提供高品质的影音体验,完备的个性功能,智能对接酒店管理系统 ...

  3. 基于android系统的人脸检测系统设计 论文,基于Android人脸识别系统设计与实现.doc...

    基于Android人脸识别系统设计与实现 基于Android人脸识别系统设计与实现 摘要:人脸识别是公共安全领域的研究重点.随着移动互联网的快速发展,移动式终端人脸识别应用日益广泛.探讨人脸识别在An ...

  4. android系统开发题库,基于Android题库系统设计与实现.doc

    基于Android题库系统设计与实现 基于Android题库系统设计与实现 摘 要:借助Android平台,采用SQLite轻量级数据库,以TextView和ImageView实现图文并茂的方法设计了 ...

  5. 基于微型计算机的步进电机系统设计,基于微型计算机的步进电机系统设计本科毕业论文.doc...

    基于微型计算机的步进电机系统设计 摘 要 如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中.本文设计了基于STC89C52单片机的步进电机驱动系统.本系统中,主要完成了按键控制步进电机起停. ...

  6. java做校园一卡通技术_基于JAVACARD校园一卡通设计及实现.doc

    基于JAVACARD校园一卡通设计及实现 基于JAVACARD校园一卡通设计及实现 摘 要自"智能卡"问世后,就广泛的应用于生活当中,很大程度上便捷了人们的生活,但在"智 ...

  7. android租车管理系统,基于Android汽车租赁系统设计与实现.doc

    摘要:社会在不断地发展,同时人类在不断地进步,人们的生活也越来越离不开手机,几乎每个人都在使用智能机.如今,现在人们的出行中必不可少的一项交通工具就是汽车,因为汽车出行已经越来越方便.对于喜欢车的人来 ...

  8. 流媒体技术介绍(上)

    流媒体就是指采用流式传输技术在网络上连续实时播放的媒体格式,如音频.视频或多媒体文件.所谓流媒体技术就是把连续的影像和声音信息经过压缩处理后放上网站服务器,由视频服务器向用户计算机顺序或实时地传送各个 ...

  9. 网易视频云分享:流媒体技术介绍(上篇)

    网易视频云分享:流媒体技术介绍(上篇) 网易视频云2016-04-14 11:49:49 创业 媒体 技术 阅读(949)评论(0) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代 ...

最新文章

  1. 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练
  2. java 远程udp_远程客户端不接收UDP数据包
  3. 深度学习-Tensorflow2.2-图像处理{10}-UNET图像语义分割模型-24
  4. java学习之路之播放一首简单的音乐
  5. JS缺失错误- Uncaught SyntaxError: Unexpected token
  6. 免校准的电量计量芯片_交直流两用计量芯片HLW8112
  7. 对语音通话占用带宽的理解
  8. 不要在作死的边缘试探(最后那个英雄手势挺好玩儿的)
  9. 基于javaweb+jsp的员工绩效考核管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap Ajax)
  10. 《凤凰项目 一个IT运维的传奇故事》读后感
  11. 我的第一个Imx6ULL应用《百度图像识别》
  12. Qt:Exception at 0xeefde9, code:0x0000005: read access violation at: 0x0, flags = 0x0(first chance)
  13. 摘android手机自带浏览器无法识别apk文件
  14. nuget 的生成、发布、使用和更新
  15. 如何申请免费的云主机
  16. 2019年上半年网络工程师上午真题及答案解析
  17. 网络编程-线程,守护线程,线程互斥锁-26
  18. 2021-10-26第八章思考题
  19. 设计原则之【单一职责原则】
  20. linux ora 01157,案例:Oracle报错ORA-01157 ORA-01110 数据启动报错RMAN恢复数据库思路

热门文章

  1. Scala 模式匹配 match-case
  2. 计算机无法开机如何读u盘启动,电脑无法识别U盘启动盘怎么办?
  3. 【解决方案】医院医疗安防视频监控系统搭建及集成统一管理方案介绍
  4. 数学分析_Tom M.Apostol 定理7.6 用阿贝尔变换证明Riemann-Stieltjes积分的分部积分公式...
  5. 2D基本图形的Sign Distance Function (SDF)详解(上)
  6. mysql更新表时自动生成时间和更新时间
  7. ps aux 中的 VSZ 代表什么意思,RSS 代表什么意思
  8. [笔记]n个点的基环树数量
  9. Trophy Skin大排灯嫩肤仪是个小宝藏没错了
  10. Roson的Qt之旅#97 Qt编译报错-Could not determine which “make“ command to run