好久没写文章,又来开始整活儿了~很早之前写过一篇关于手摸手教你使用srs服务搭建毫秒级延时直播的博客,里面详细记录了使用srs开源服务部署搭建自己的视频流服务器,经常买服务器的小伙伴知道,高带宽的服务器成本是一笔不小的开销,那能不能用自己手上闲置的资源搭建一个高效且几乎0成本的视频服务器呢?看着家里吃灰的小米5s手机,再看看每年要交几千块钱的云服务器,于是乎有了一个大胆的想法,把小米5s手机改成视频服务器,本着“敢想敢干,不行再看”的原则动手搞起来!
经常玩开发的小伙都知道,安卓手机底层本身就是linux的内核,那它当服务器就有天然的优势,我的小米5s是正式版并没有完整的获取root权限,但这并不妨碍它运行linux系统,借助于Termux这个强大的app,可以实现部分的linux系统功能,但是你别指望它真的能像一台linux服务器一样工作,先把ssh、git、vim、nginx、wget、curl这些常用的服务安装上,安装之前最好换成国内的清华源,以减轻各位在安装过程中等待的痛苦~
换源的方法看这里:
sed -i 's@^\\(deb.*stable main\\)$@#\\1\\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main@' $PREFIX/etc/apt/sources.list
apt update && apt upgrade
光有Termux还不够,还需要安装proot-distro,它可以虚拟出一个linux系统,
安装方法看这里:
pkg install proot-distro
# 或者
apt install proot-distro
proot-distro list # 列出你能下载镜像
proot-distro install <alias> # 这里使用的是列出的别名进行安装,我这里选的是ubuntu24.04
proot-distro login <alias> # 现在就可以登录到虚拟出来的linux系统里了
最开始我想着听从srs官方文档的强烈建议,使用docker来部署服务,但是我无论如何都无法安装docker,看来小小的手机还是装不下一docker啊,没办法还是走了老路——源码编译,这也是我心里最没底的,小小的手机,虚拟出来的linux系统,要编译srs源码,有点不可思议。硬着头皮也得干!先把源码弄下来,同样推荐使用gitee,如果你对自己的网速有信心,那请移步github,
怎么弄看这里:
git clone -b develop https://gitee.com/ossrs/srs.git
令人惊喜的是,srs官网的文档中真的有写在Arm上部署srs服务,详情请参考这个链接ARM and CrossBuild | SRS,绝望的是,你按照文档里安装依赖时是无法完成的……在这里我折腾了两天 🙁 此时在你的路径下会多出一个srs的文件夹
进入到srs/trunk文件夹后你会看到
如果是常规的linux服务器,那你直接./configure然后make就成功了,但是别忘了你现在是在手机里,所以这里需要加上很多参数,来关闭掉一些无法在手机上完成编译的依赖库。
如何写参数看这里:
./configure –use-sys-ssl –extra-flags='-D__aarch64__' –srtp-nasm=off –sys-srtp=on –srt=off –sys-srt=on –ffmpeg-fit=off –sys-ffmpeg=on –backtrace=off
相信我,加上它们,我不想让你们走我的老路(当然这会丧失srs一些服务能力)。最后请执行make命令,你的心情一下就舒畅了,成就感产生的内啡肽会占据你的大脑皮层,尽情去体验这样的感觉吧!
接下来就是在内网测试了,首先要启动srs服务,在trunk这个路径下,执行这个命令
./objs/srs -c conf/srs.conf
然后获得手机上的的ip地址,例如在这里我的是192.168.1.108,用另外一个手机去下载“IP摄像头”这个app,可能应用商店里并没有这款神奇的app,需要你自行搜索,在app的设置里找到RTMP推流地址,写上rtmp://192.168.1.108/live/livestream,这里的/live/livestream是srs服务默认的,当然你可以修改srs服务的配置文件,这个请参考官方wiki。然后就可以进行推流了,拉流我使用的是VLC媒体播放器,在打开网络串流写上播放地址rtmp://192.168.1.108/live/livestream,请忽略本人的老脸~
到此在内网的推流已经实现了,接下来就是内网穿透,端口映射,使其能在公网上实现视频传输,敬请期待!
评论前必须登录!
注册