如何动手搭建一套简单的直播系统
实时视频直播是这两年非常火的技术形态,已经渗透到教育、在线互娱等各种业务场景中。但要搭建一套实时视频直播系统,并非易事,当然相关的直播技术理论在论坛的其它文章里已经写的非常详细,本文不再展开。
基于对新技术的好奇心,我立马实践了下,所以首先给大家分享下整个搭建的流程。本人的操作系统为mac,其他系统的同学可以根据提示,自行安装软件。
一个简易的直播系统,大致可以由三部分组成:
搭建一个rtmp媒体服务器;
推流端;
拉流端。
现在目标是快速搭建起来,所以当然是借助开源项目和一些软件:
rtmp媒体服务器:这里使用srs;
推流端:这里使用obs;
拉流端:这里使用播放器vlc。
首先选择点击+选择来源,这里我选择了窗口捕获,然后点击右侧的设置:
选择流,串流类型选择自定义,然后url,填写:
1rtmp://你的ip/你喜欢的url
流名称可以按照上述自由输入。
这样,我们的OBS推流就开启啦,软件的更多使用自行探索吧。最后就剩下我们的拉流了。
点击Open Network,输入我们刚才的url+流名称,点击确定即可:
最左侧是VLC,中间是OBS,右侧是我窗口捕获对象。
到这里,就算我们搭建了一个直播系统啦~~自己搭建成功的感觉,无比爽快,也能很大的激发我们后续的学习兴趣。
后面我们可以根据自己的需求去选择学习拉流或者推流,逐步替换掉软件。拉流的方式很多,很多开源播放器都支持。这里我们考虑替换掉推流,希望可以使用手机来推流。
使用第三方推流SDK
最简单的方式,就是可以借助于第三方的推流SDK,大多情况下第三方SDK完整方案都是收费的,不过他们的推流Android SDK倒是可以下载无需付费情况下来学习使用的。即时通讯开发可以咨询蔚可云开发。
还是以vlc拉流即可,整个过程很缓慢,耐心等待,效果也不是很好,不过能跑通即可,主要是学习。然后你可以举一反三试试其他的SDK。当然了,很多开源项目其实比SDK作为学习资料更好,比如源码都有,下面以一个开源项目举例。
利用ffmpeg推流
大家可以自己下载ffmepg的源码,然后按照网上的方式去编成so,简单的一点而且比较实用的,就是编出可以执行ffmpeg 命令的so,这样就能干很多事情了。
ffmpeg命令很多,例如下面这些命令。
将.avi转成gif动画(未压缩):
ffmpeg -i video_origine.avi gif_anime.gif
合成视频和音频:
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg
其中有一个命令就是支持推流,这里将手机上的zixia.mp4作为输入:
ffmpeg -re -i /storage/emulated/0/zixia.mp4
-vcodec libx264
-acodec aac
-f flv
-strict -2 rtmp://192.168.1.102/zhy/mylive=
好了,这样我们的大致学习了如何搭建一个小直播系统,如何利用SDK,开源项目,以及简单的使用ffmpeg来进行推流。
很多时候,学习一个比较大的技术方向就是开头难,无从下手,那么本篇应该是一篇非常易懂的教程,希望对想要学习直播技术的小伙伴有所帮助,也希望以此能够激发大家一定的学习兴趣,当然直播技术远不止于此,大家可以根据自己的情况继续深入学习。
如何动手搭建一套简单的直播系统相关推荐
- 手把手搭建一套简单的直播系统
本来,这段时间是不打算写博客的,因为生生买了个教训.这段时间,被市场好好的上了一课,三天时间,我成为了韭菜,多余的话,这里就不说了,等完全下车之后,再好好的写一次体会. 今天可是四年一遇的2.29,所 ...
- 直播app开发公司手把手搭建一套简单的直播系统
一.目前直播产品的种类 泛娱乐化直播 - 花椒.映客等娱乐主播,还有斗鱼等游戏直播 实时互动直播 - 音视频会议.教育直播等,像钉钉,腾讯会议 1.目前泛娱乐化直播架构 2.实时互动直播架构 直播ap ...
- 如何快速搭建一个完整的移动直播系统?
**如何快速搭建一个完整的移动直播系统?** 原文连接:http://toutiao.com/a6301796359717945601/ http://toutiao.com/a62784095597 ...
- 实现app直播商城源码,先从简单的直播系统开始
软硬件环境 ubuntu 16.04 Android Studio 2.1.3 OTT BOx with android 5.1.1 nginx 1.11.3 nginx-rtmp-module vi ...
- 安防监控系统流媒体服务器,搭建一套安防监控系统RTSP/Onvif网络摄像头视频流媒体服务有哪些核心要素?...
原标题:搭建一套安防监控系统RTSP/Onvif网络摄像头视频流媒体服务有哪些核心要素? 在现代信息社会,人民的生活水准不断提高,因而对安全的需求也越来越迫切.特别自"9·11"与 ...
- 拿来就能用!几步搭建一套简单直播系统 | 原力计划
作者 | mind_programmonkey 责编 | 伍杏玲 出品 | CSDN博客 本次用Ngix+RTMP+FFmpeg搭建一个流媒体服务器,实现简单的直播效果. Nginx是一款轻量级的We ...
- 搭建一套简单的CDN网络
目前对于CDN网络搭建技术有很多成熟的商业方案,对于资金受限的网站可能无法自己搭建或购买.这里提供了一套简单的实现CDN网络的技术架构,所使用的软件全部是开源高效且免费的. 根据CDN网络技术原理,必 ...
- 在直播平台搭建平台中,购物源码开发公司的直播间搭建该如何选择流媒体直播系统传输协议
2019年直播行业面临着来势汹汹的短视频挑战,但在垂直细分领域,网络直播平台依旧有着难以企及的位置.如今,直播平台搭建的势头依旧没有减弱,只是更多的人想要将直播平台与更多的行业相结合.对于直播平台搭建 ...
- 直播带货系统,实现一套完整的直播系统应该具备的功能
如何开发一套完整的直播带货系统,首先需要采集主播的视频和音频功能,然后传入流媒体服务器.本篇主要讲解如何采集主播的视频和音频功能,当前可以切换前置后置摄像头和焦点光标,直播带货系统拥有独立的美颜SDK ...
最新文章
- 【linux草鞋应用编程系列】_4_ 应用程序多线程
- 从系统的启动过程分析,为什么我们划分分区的时候 /sbin 、/bin、/lib、/dev不能做为独立的分区?...
- mahout基于Hadoop的CF代码分析(转)
- sql网站路径php,如何在源码中找出sql语句的位置呢
- 读取excel并将其转换为xml
- devops_DevOps适合所有人
- tf.read_file和tf.image.decode_jpeg处理图片(转)
- js获取谷歌浏览器版本
- fractal 分形维数 盒子维 纹理特征
- 【电路设计小白】ADC芯片配置学习之一初期理论
- html 各浏览器兼容性
- 网速特别好但是访问网页特别慢
- APP测试与WEB测试的区别
- Arduino UNO控制HC-SR04超声波实现(测距)及对超声波的认识
- 农民工看完都学会了!龙湖集团java研发
- 谷歌、微软、Meta?谁才是 Python 最大的金主?
- linux常见命令之wc命令用法。
- 谷歌浏览器升级引起的BUG
- PS·web前端切图(详细)
- flexbison 学习笔记
热门文章
- 《哪吒》票房直指40亿,闯中国影史前三!导演饺子:最怕你的梦想只有一腔热血
- 全国大学生数学竞赛备考——高数上(极限、导数、微分、积分、级数)
- Postman Collection Format v1 is no longer supported and can not be imported directly. You may conver
- 2022年第十三届蓝桥杯大赛软件省赛Java学B组试题
- 清华计算机录取通知书,清华送出第一批录取通知书,这些被刷屏的学霸,有怎样的成长密码...
- 4递归实现阶乘计算器 5递归实现TreeView绑定表MenuTree
- 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数
- 删除linux系统 mbr,Windows 10 下安全删除 Linux 系统
- DIY 一个 JSON解析器。
- 多因子模型matlab,【干货】不可不知的N种量化策略模型——量化因子