Unity实现直播功能(采集并传输视频流)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/leemu0822/article/details/100778108

相信直播对于大家来说都不陌生,今天我来给大家讲一下如何在unity中实现直播,这样可以把我们做的场景或者游戏分享给别人看了,希望大家认真看完,因为过程会比较长,但是无需写一行代码即可实现。废话就不多说了,直播需要一个服务器吧,先来讲讲服务器的搭建,我采用的是github一个开源的node.js的库来实现服务器:

地址是https://github.com/iizukanao/node-rtsp-rtmp-server

首先我们把它下载下来,可以通过git clone或者zip直接下来

其实大家可以自行根据readme来自行部署,但是我还是给大家讲一下,快速搭建起来:

第一步:下载node.js,到node.js官网下载即可,官网链接https://nodejs.org/en/

下载完成后安装,一步步安装就好

第二步:打开命令行通过cd切换到下载的库的目录,如下:

也可以通过找到下载的目录,然后安装shift键,然后鼠标右键,打开命令行窗口,这样就不用通过cd切换了

接着就是如上图所示,输入命令  

npm install -d

然后回车安装即可,完成后通过下面的命令安装coffeescript,上面是单单为这个项目安装,下面是全局安装,建议全局安装

# Install locally for a project:
npm install --save-dev coffeescript

# Install globally to execute .coffee files anywhere:
npm install --global coffeescript

最后,输入命令

coffee server.coffee

 成功后,会看到这样的画面

这样服务器就算搭建完成了。

然后我们需要一个在unity采集视频流的插件,video capture免费的插件,在官方资源商店可以找到

导入插件后,打开这个场景

我们直接在demo上面测试

首先选择模式是直播流的模式,然后地址填入这个,demo是我自己自定义的,前面的localhost也可以是别的ip,具体看你自己使用,我现在就在本机给大家演示,然后运行:

+

点击按钮开始采集画面,并推送到我们的服务端了

看到这样的打印证明已经推送成功,下面我们通过一个常用的播放视频流的软件来测试一下,VLC软件,大家也可以用我上节讲的unity读取视频流的插件  https://blog.csdn.net/leemu0822/article/details/100512233

我们看看效果,VLC中选择打开网络串流,输入以下地址:

最后效果如下:

会有几秒的延迟,大家可以在unity  scene场景拖动一下相机或者cube,再观看视频的变化就知道了

最后跟大家说一下,这个支持采集多个视频流,不过性能会有损耗,支持采集全景画面,还有就是在不同的端访问视频流的地址可能不一样,具体大家看看github的库的readme

希望这篇文章对大家有用,关注公众号,后台回复关键字“直播”获取服务器库文件以及unity采集视频流插件

遇到问题可以给我留言

猜你喜欢

转载自blog.csdn.net/leemu0822/article/details/100778108