使用背景

你工作中有没有碰到过这种情况:
1,实验室里跑着实验要一直盯着,周围还有很多事情要做。
2,晚上跑着实验下班了,回到家还想时不时的看一下实验情况。
现在很流行的直播可以帮上忙,把实验台当作直播现场,实验情况全部在线实时直播,不管你回到座位还是回家了,打开电脑或者手机,能实时查看实验情况。
工作实验两不误,晚上下班了,公司的实验还能正常进行。

直播系统简介

本文以此为使用场景,搭建直播系统。因为公司内外网要能看直播,所以选择公网的阿里云服务器作为直播的服务器,只要能连上网络就可以访问。直播系统使用到的设备:
1,友善之臂NanoPC-T4 开发板一块
友善之臂NanoPC-T4 开发板,要支持摄像头,其他树莓派开发板也可以
2,阿里云服务器一台
也不必一定是阿里云服务器,只要此服务器有公网IP全网可以访问就行,其他腾讯云华为云服务器都可以,自己家里有公网IP的话,家里电脑也可以当作服务器来用。

友善之臂NanoPC-T4 开发板放在实验室,运行 ffmpeg 多媒体工具,ffmpeg 把实验台实时视频流推送到流媒体服务器。
阿里云服务器上运行一个流媒体服务器,接收转发流媒体
办公室电脑,或者回到家手机电脑,打开流媒体播放器,查看实验台直播
系统搭建
阿里云服务器:笔者云服务器在华东2区,全国访问都很快。

云服务器的安全组规则,要增加一条开放 1935端口,流媒体服务需要使用此端口。

流媒体服务,选用SRS,是个人开发的流媒体集群,支持RTMP/HLS/WebRTC/SRT/GB28181多种格式,高效、稳定、易用。

此软件从2013年发布至今,已经开发6,7年,迭代了三个大版本,很成熟,使用起来也很简单稳定
在阿里云上搭建直播服务器:
登录阿里云,克隆代码:

git clone https://gitee.com/winlinvip/srs.oschina.git srs

更换源

https://club.1-c.cn/wp-admin/options-general.php?page=pure-highlightjs-config

更新代码

git pull

因为github网速慢,先克隆gitee代码,然后更换github源,再更新代码,就和github 项目代码一摸一样了。
配置:

编译:

编译完成给出很多帮助连接。
后台运行:

流媒体服务器搭建完成。
记住阿里云服务器IP和SRS端口号:1935,稍后推流到这个服务器,拉流也从这个服务器拉。
NanoPC-T4 推流:

ffmpeg –re –I /dev/video10 –f flv rtmp://server_ip:1935/robe/stream

拉流使用VLC media player 播放器:

电脑端,手机端安装 VLC media player,打开网络流媒体,输入直播服务器地址:

手机端,电脑端,多个用户都可以同时拉流看直播

流服务器在公网,手机端4G网络也可以看直播的:

这套直播系统几乎没有什么依赖,阿里云服务器增加一个直播服务后台运行,对系统没啥影响,服务器端一运行就不用管了。
随便一个linux板,带有摄像头连上网络,能推流就可以,需要的时候推流,不用的时候撤掉,随用随推。
很多客户端都支持流媒体播放,手机,电脑,内外网都可以看直播,全天候提升你的工作效率。
直播会有一定延迟,大概4-10秒不等,实时性没有那么好,但是用来查看实验还是足够的。
自己还可以再调整推流的参数,视频帧率不必那么高,分辨率高一点,或者换更高像素的摄像头,画面会更清晰
整个系统全部是自己的,独立可控,安全性有保证,用起来也很实用很方便。