[请益] unity中即时网络连续传送texture的方式

楼主: doasgloria (青柳立夏)   2021-03-02 15:49:04
各位大大好
最近小鲁在尝试用socket
将unity的webcamtexture即时传送到另一台电脑
(电脑对电脑成功的话未来想尝试用手机对手机)
目标暂时为demo而已 会使用局域网路
使用unity的原因是因为之后这功能会配合一些其他unity特效~
作者: newyellow (newyellow)   2021-03-02 17:04:00
说不定可以参考古早电视的做法?分开送单数列和双数列
楼主: doasgloria (青柳立夏)   2021-03-02 17:18:00
意思是说 一张图真的没办法用单一笔资料传送囉QQ这样就得设计传送跟接收的模式了~~
作者: oopFoo (3d)   2021-03-02 17:21:00
你有设Socket.ReceiveBufferSize?如果没有你需要检查recvLen然后loop把资料读完。
作者: LayerZ (無法如願)   2021-03-02 21:27:00
update里面做的话,每frame里面资料还没传完就更新然后炸
作者: damody (天亮damody)   2021-03-02 21:31:00
请用串流压缩
作者: oopFoo (3d)   2021-03-02 22:33:00
https://reurl.cc/9Zv1ex你需要检查totalSize 跟 recvLen。
作者: newyellow (newyellow)   2021-03-03 00:00:00
如果只是想要单纯塞在一笔资料里 应该也是可以但如果你不是一次性传送档案 而是想串流的话那重点应该就是每个 frame 的网络流量限制的问题为什么当初电视会分单双数列 就是因为频宽不够
楼主: doasgloria (青柳立夏)   2021-03-03 09:15:00
oo大的方法确实查出问题了 发送端显示出去的每笔资料都是固定长度 但是接收到的每笔都是不同的 比较小统计接收到的资料笔数也比发送的多的样子这是由于网络品质造成的还是软件可以设定优化呢QQ
作者: oopFoo (3d)   2021-03-03 10:16:00
Socket就是这样。ReceiveBufferSize可以加大,不过加大有加大的问题。你在Windows上可以考虑用IOCP不要用Socket,效能好很多,也是未来的趋势。640x480x3x60帧,每秒50+MB的资料,GB网卡是ok,但可考虑转成jpeg再传送,资料小很多。
楼主: doasgloria (青柳立夏)   2021-03-03 12:16:00
可是之后可能要转移平台到手机上 Q_Q 应该还是得用现在方式去慢慢弄 现在可以完整显示每一frame了只是会lag 不过只是我在合并资料慢造成的~~ 真感谢OO大 !!^0^
作者: darkflier (我很懒)   2021-03-06 04:13:00
用udp传,然后记得压缩图档,一包不要超过64k超过要分割

Links booklink

Contact Us: admin [ a t ] ucptt.com