网络直播服务器怎么弄的(手把手教你搭建简易直播平台)

qinzhiqiang 10-24 16:59 2,220次浏览

近些年,随着直播行业的兴起,催生出大量的网红经济,不知不觉中我们的生活都开始与直播有着或多或少的接触。 那直播平台是怎么搭建的?我们又可以用它做什么呢?今天大大雷手把手教你搭建简易直播平台, 更多玩法等你来探索!手把手教你搭建简易直播平台,小白也能玩

直播从业者

准备

我们用本地局域网环境来运行服务器进行模拟,搭建之前需要准备以下工具:

  • 流媒体服务器:推荐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. 开始推流, 点击右下角的开始推流按钮, 如果推流正常,我们的服务器会显示这条视频流通道。双击该视频流通道, 可以看到多个协议的拉流地址, 选择适合你的地址进行播放。

手把手教你搭建简易直播平台,小白也能玩

到这一步就完成了直播流程,把你的播放地址发给你局域网的小伙伴,这样他们就能看到你的直播了。

手把手教你搭建简易直播平台,小白也能玩

玩法二:推送电脑桌面或者某个窗口的视频流,局域网的小伙伴通过视频地址进行播放,完成桌面共享功能。

玩法三:推送本地珍藏的视频,局域网的小伙伴通过视频地址播放。

这些玩法的操作流程和玩法一是一样的, 大家可以自己尝试。

拓展

  1. 如果你有一台云服务器, 那么以上的操作全网的小伙伴都可以通过视频地址访问。
  2. 如果你想同时推多个视频流怎么办? 我自己是通过FFmpeg来实现的,根据需求写一些Python的脚本使用协程实现并行推流。

smart_rtmpd最新版是2021/04/11发布的,如果网上没有找到,可以私信回复rtmpd获取下载地址,包含windows和linux版本。

我是大大雷