自己实现一个简单的直播只需三步
首先这里就不讲一些原理,大家可以抽时间去学习,去了解,搜《雷神》
第一步:先配置好nginx流服务,这里是用RTMP协议服务。
RTMP流服务配置是这样:
终端指令
1,brew tap homebrew/nginx
最近搭建基于RTMP的本地Nginx服务器,没想到第一步克隆就报错:homebrew/nginx was deprecated. This tap is now empty as all its formulae were migrated.具体如下:
出现的原因是homebrew/nginx的git路径变了(貌似是2018年3月更新)
查找得到把克隆到本地的命令更改后可解决,更改为:
2, brew tap denji/homebrew-nginx
// denji 这个可以自己命名
克隆成功之后开始下载nginx-full (最好有个vpn) 这样安装比较方便点
3,brew install nginx-full --with-rtmp-module
安装成功之后 输入
4,brew info nginx
配置文件的路径(/usr/local/etc/nginx/nginx.conf)
cd /usr/local/etc/nginx/ 用文本编辑器打开或者 vim /usr/local/etc/nginx/nginx.conf 。
添加RTMP协议服务 (简单的方式) 后期可以在研究
rtmp {
server {
listen 5920; // RTMP 端口号
application rtmplive {
live on;
record off;
}
}
}
以上nginx 服务算是配置好了
打开浏览器查看一下,http://localhost:8080 返回404 的话 查看nginx 进程处理。这里就不说了,
第二步:可以利用ffmpeg的推流方式来推流,或者利用code方式来推流。
集成ffmpeg 可以参考之前的三步骤:
https://www.jianshu.com/p/49e6124d6d9e
code方式:git 上下载 LFLiveKit pod 到项目中 (注意的地方 这个地方的不要写成localhost:5920,而是要写成你ip地址 : 5920)端口号是RTMP协议服务端口号 ,后面的room是可以随便改变,但是要匹配。
rtmp://xxxx.xxxx.xxxx.xxxx:5920/rtmplive/room
ffmpeng 方式:ffmpeg -re -i /Users/liuxy/Desktop/xxxx.mp4 -vcodeccopy -f flv rtmp://localhost:5920/liveApp/room
第三步:拉流播放
拉流播放 为了看效果
1,安装mac播放器 VLC,选择File -> open Network 输入URL,如果弹出链接失败,则需要检查配置的流服务,
2,可以利用开源框架ijkplayer。
鄙人互联网开发爱好者,iOS,golang, 微信:lxy838385444 有问题一起讨论。