Video Unity 5-流式Unity摄像头至智能手机

Video Unity 5-流式Unity摄像头至智能手机,video,unity3d,video-streaming,unity5,smartphone,Video,Unity3d,Video Streaming,Unity5,Smartphone,我目前正在Unity 5中开发一个无人机模拟器,我的场景中有4个Unity摄像头。我现在正在研究一个解决方案,将Unity中的一个虚拟摄像机的屏幕实时传输到我的android智能手机上。 我在考虑这些步骤: 使用Texture2D.ReadPixels将屏幕像素读取到空的Texture2D 使用EncodeToJPG或EncodeToPNG对纹理2D进行编码 3。将编码的字节发送到设备(通过套接字发送到设备;或使用解决方案) 在设备上:将字节读入图像(例如使用ByteArrayInputStre

我目前正在Unity 5中开发一个无人机模拟器,我的场景中有4个Unity摄像头。我现在正在研究一个解决方案,将Unity中的一个虚拟摄像机的屏幕实时传输到我的android智能手机上。 我在考虑这些步骤:

  • 使用Texture2D.ReadPixels将屏幕像素读取到空的Texture2D

  • 使用EncodeToJPG或EncodeToPNG对纹理2D进行编码

  • 3。将编码的字节发送到设备(通过套接字发送到设备;或使用解决方案)

  • 在设备上:将字节读入图像(例如使用ByteArrayInputStream和BitmapFactory的组合)
  • 我已经完成了前两步。现在我不知道如何使用套接字,所以我使用WebRTC。但是如何在Unity项目中实现JavaScript代码呢?有人能帮我吗

    我在论坛上也发现了一个WebRTC API,但我的网络技能还不够好。也许有人能告诉我,在这段代码中我在哪里创建了点对点连接

    论坛:


    代码(Unity的WebRTC API):

    您将无法使用Unity流式传输编码的JPG。一个主要原因是,JPEG解码过程会阻塞主线程,直到JPEG解码并将生成的像素数据上载到GPU上-这会导致所有平台上的主要性能问题。此外,目前还没有从任何类型的视频接收器传输视频的完整防弹变体

    如果你的Android应用程序不依赖于Unity,你可以使用HLS或MPEG Dash作为流媒体变体——不管怎样,你都需要一个视频缓冲区,它可以小到5-10帧。一种变体是直接将视频帧汇集到FFMPEG,这允许您将其解复用为HLS流。如果源设备和android设备之间没有很长的距离,那么其他变体将是RTC或RTSP流

    如果你仍然坚持在Android上使用Unity,你可能会幸运地拥有这项资产:(他们为你提供免费和精简版)-我们在生产中大量使用它,它使你能够在Unity中使用系统默认编码器


    根据您的使用情况,JPEG2000可以工作,然后只需要一个浏览器链接即可。JPEG2000基本上允许您保留一个抛出jpeg数据的开放式套接字。(Unity也不支持这一点。)

    读到您的问题时,我想到的第一件事是制作一个简单的客户端/服务器应用程序。因此,您的客户端应用程序只需连接到服务器并共享服务器摄像头。你用的是什么样的相机应该更容易制作?如果您有通过WiFi传输视频的动作摄像机,您可能可以使用商店提供的任何视频播放器(如search VLC)或5.6 beta版中提供的传入视频播放器直接读取视频流。感谢您的回答@万塞特你是什么意思,哪部相机?在我的场景中,目前有4个Unity摄像头,其中一个,我想同时发送,这样我的智能手机就可以了。@murcoder你能实现摄像头撒布吗?如果是,你能告诉我你采用了什么方法吗?我也在寻找从一个unity应用程序到另一个unity应用程序的摄像头流媒体。@chetanrane有一个带FMETP的跨平台流媒体解决方案。你可以查看他们的论坛。