视频直播是近些年特别火的技术栈,一直想学习如何实现视频直播。初期也了解了一些协议相关的知识,苦于都是 c++相关学习起来比较难以理解,学习了 Go 语言之后突然想找一找是否有 Go 语言实现的直播服务,惊奇的发现,Livego 这个开源直播服务端,自此展开了 Go 直播实践之路,由于工作繁重,只能抽时间搞,耽误了好几天的更新,话不多说直入正题。
ffmpeg -re -i test.mp4 -c copy -f flv
rtmp://192.168.112.20:1935/live/movie
总结:服务端是较为简单的没有任何难点
对于一个服务端来说,客户端编码是最让人头疼的。我选取的 h5 客户端流解析工具flv.js
题外话 对于前端工具真的很烦,npm 安装可把我搞惨了,我是虚拟机+共享目录,我在虚拟机中 npm install 它居然不认识我的共享目录,总是在 rename 的时候,提示权限有误无法操作,致使我在构建 flv.js 客户端环境上花了大量的时间,把一个两天搞定的事,一周才搞定。我是通过在虚拟机其他目录进行 install 在将安装好的文件拷贝到共享目录,最终还是搞定了。还有吐槽一下哔哩哔哩这么一个厉害的前端同学才给 5000 的工资真的说不过去。给做开源的各位大大点赞。
go build
./livego
ffmpeg -re -i test.mp4 -c copy -f flv rtmp://192.168.112.20:1935/live/movie
等等视频直播是一个大的技术栈不是像我这种简单的玩一下的,如果想深入做还是需要一定的功力和精力。只是供大家学习和体验。 转自: https://xiangdong1987.github.io/go/live/2019/04/16/Go_live-1.html