近些年,随着直播行业的兴起,催生出大量的网红经济,不知不觉中我们的生活都开始与直播有着或多或少的接触。 那直播平台是怎么搭建的?我们又可以用它做什么呢?今天大大雷手把手教你搭建简易直播平台, 更多玩法等你来探索!
直播从业者
准备
我们用本地局域网环境来运行服务器进行模拟,搭建之前需要准备以下工具:
流媒体服务器:推荐smart_rtmpd这款流媒体服务器,简单好用,支持windows,Linux系统,对小白用户也很友好。另外SRS也是一款优秀的国产开源流媒体服务器,有兴趣的朋友可以了解一下。推流工具:Obs或者FFmpeg,Obs是一款优秀的直播工具,我们主要用到它的推流功能。FFmpeg是一款知名的音视频处理工具, 相信接触过音视频领域开发的都知道这款工具,功能十分强大,但是没有用户界面, 需要使用命令行里操作。
运行
运行smart_rtmpd流媒体服务器。 以windows系统为例, 找到smart_rtmpd_win.zip文件解压后,在文件夹内有smart_rtmpd.exe和config.xml两个文件。
config.xml:流媒体服务器的配置文件,很多高级的玩法都是通过配置文件来完成,比如录像,内外网映射,虚拟主机转发等。
<!-- 跟踪耗时, 不要轻易打开, 容易 crash --><elapse>false</elapse><!-- 鉴权地址: http://authurl/v1/smart_rtmpd?type=rtmp&action=publisher&your param. --><authurl></authurl><!-- NAT 映射地址 --><natmap></natmap> <!-- 内网地址推流,映射成外网地址, 内外网都能播放 --> <hostmap inner="" outer=""/><!-- rtp & rtcp 端口区间, que 接收队列最大缓冲 --><rtp min="30000" max="60000" que="20000" /><!-- 套结字基本配置项 --><sock><!-- 接收缓冲区, 单位 KB, 0 表示不设置 --><recvbuffer>8192</recvbuffer><!-- 发送缓冲区, 单位 KB, 0 表示不设置 --><sendbuffer>8192</sendbuffer></sock>
smart_rtmpd.exe:流媒体服务器主程序,双击运行即可打开,运行前检查默认端口在本机是否已经被占用,如果被占用先修改端口号再启动。
双击运行smart_rtmpd.exe程序并点击启动, 这时服务器会监听不同流媒体协议对应的端口, 接下来我们开始向服务器推流。推流是向流媒体服务器的rtmp端口进行推流,推流格式为:
rtmp://192.168.1.1:1935/live/your_stream_name,注意ip地址改成你的本机地址。
推流玩法(使用Obs)
玩法一:推送本机摄像头视频流到服务器,局域网内所有人通过视频地址进行播放。1. 打开Obs,添加视频源,选择视频采集设备。
2. 配置推流服务器
打开设置-推流,服务选择自定义,服务器填写我们运行的流媒体服务器地址,比如
rtmp://192.168.50.7:1935/live/,注意更换自己的IP, 串流密钥可以自己随便填写,能保证它在你服务器的视频流是唯一的就可以。
3. 开始推流, 点击右下角的开始推流按钮, 如果推流正常,我们的服务器会显示这条视频流通道。双击该视频流通道, 可以看到多个协议的拉流地址, 选择适合你的地址进行播放。
到这一步就完成了直播流程,把你的播放地址发给你局域网的小伙伴,这样他们就能看到你的直播了。
玩法二:推送电脑桌面或者某个窗口的视频流,局域网的小伙伴通过视频地址进行播放,完成桌面共享功能。
玩法三:推送本地珍藏的视频,局域网的小伙伴通过视频地址播放。
这些玩法的操作流程和玩法一是一样的, 大家可以自己尝试。
拓展
如果你有一台云服务器, 那么以上的操作全网的小伙伴都可以通过视频地址访问。如果你想同时推多个视频流怎么办? 我自己是通过FFmpeg来实现的,根据需求写一些Python的脚本使用协程实现并行推流。smart_rtmpd最新版是2021/04/11发布的,如果网上没有找到,可以私信回复rtmpd获取下载地址,包含windows和linux版本。
我是大大雷
NBA首次父子同台终上演,布朗尼与詹姆斯季前赛合砍19分
NBA首次父子同台终上演,布朗尼与詹姆斯季前赛合砍19分,湖人,布朗尼,nba,NBA,勒布朗詹姆斯,勒布朗·詹姆斯,布雷克·格里芬(1)人阅读时间:2024-10-07杜特尔特否认参选:我都这把年纪了,要我死?
杜特尔特否认参选:我都这把年纪了,要我死?,杜特尔特,参议院,副总统,总统(0)人阅读时间:2024-10-07男子花20万买二手小米SU7,回家后遭原车主远程锁车
男子花20万买二手小米SU7,回家后遭原车主远程锁车,小莉,过户,约定,弓先生,购车合同,小米su7(1)人阅读时间:2024-10-0741岁俄罗斯男子模仿小李子走红,却在发福后失业,已自愿去了前线
41岁俄罗斯男子模仿小李子走红,却在发福后失业,已自愿去了前线,罗曼,采夫,俄罗斯,莫斯科,好莱坞,小李子,迪卡普里奥(1)人阅读时间:2024-10-07数学期望可以是负数吗(数学期望会不会是负数)
数学期望可以是负数,期望等于随机变量乘以相应的概率,随机变量可以取负,因此期望就可能为负。期望值并不一定等同于常识中的“期望”,“..2024-10-07数学感叹号是什么意思 数学 感叹号什么意思
数学感叹号是阶乘的意思,阶乘是基斯顿·卡曼于1808年发明的运算符号,是数学术语。一个正整数的阶乘是所有小于及等于该数的正整数的积,..2024-10-07数学信息是什么意思 数学信息是什么意思和已知条件一个意思吗
数学信息是指从题干的叙述中挖掘出的和解答本数学题有关的信息,数学题是透过抽象化和逻辑推理的使用,由计数,计算,量度和对物体形状及运..2024-10-070是任何数的倍数吗(0是什么的倍数)
数学中的0不是任何数的倍数,一个整数能够被另一个整数整除,这个整数就是另一整数的倍数。同样的,一个数除以另一数所得的商。如a/b=c,就..2024-10-07