网站首页 > 资源文章 正文
前言
近些年,随着直播行业的兴起,催生出大量的网红经济,不知不觉中我们的生活都开始与直播有着或多或少的接触。 那直播平台是怎么搭建的?我们又可以用它做什么呢?今天大大雷手把手教你搭建简易直播平台, 更多玩法等你来探索!
准备
我们用本地局域网环境来运行服务器进行模拟,搭建之前需要准备以下工具:
- 流媒体服务器:推荐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版本。
我是大大雷,一名Python编程爱好者,欢迎私信交流。
猜你喜欢
- 2024-09-08 Raid卡和磁盘设置(raid磁盘阵列卡)
- 2024-09-08 服务器托管单线、双线、多线主机有什么区别?
- 2024-09-08 Nginx 反向代理 + 缓存 + 静态资源服务器 + 负载均衡
- 2024-09-08 开源服务器被曝7漏洞!可引起DNS缓存中毒并远程执行恶意代码
- 2024-09-08 搭建家用、商用免费云盘、云存储,云桌面系统TrueNAS-安装篇三
- 2024-09-08 一篇文章快速理解微服务架构(微服务架构体系是什么)
- 2024-09-08 服务器的中间件之分布式缓存(分布式常用中间件)
- 2024-09-08 Linux服务器如何查看CPU使用率、内存占用情况
- 2024-09-08 手把手教你写一个静态资源中间件,加深服务器对文件缓存的理解
- 2024-09-08 浅谈C/S和B/S架构的工作原理及优缺点
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)