Search Unity

[Release] FMETP STREAM: All-in-One GameView + Audio Stream + Remote Desktop Control(UDP/TCP/Web)

Discussion in 'Assets and Asset Store' started by thelghome, Apr 30, 2019.

  1. rlarbwla113

    rlarbwla113

    Joined:
    Aug 26, 2022
    Posts:
    5
    When I talk, if I say "Ah~" and make a long sound, the other person will say "Ah...Ah...Ah...The sound is not smooth in this way
    I can't understand what the other person is saying
     
  2. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    Usually you may reduce the sample rate of MicEncoder.
    For the quick test, we suggest that you may simply build and test our example scene "Demo_FMNetworkStreamingMainCam" and enabled the Mic toggle.
     
  3. rlarbwla113

    rlarbwla113

    Joined:
    Aug 26, 2022
    Posts:
    5
    Thank you very much for your reply
    I'm still testing it, but thanks to your kind response, I think it'll go smoothly
    Thank you so much
     
    thelghome likes this.
  4. Herculeus_Davin

    Herculeus_Davin

    Joined:
    Apr 9, 2023
    Posts:
    2
    We want to control the remote computer desktop and realize data interaction through the VR device. Is this tool open source and can it be developed again?
     
  5. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    This is a paid asset, not open source.
    You can develop your own apps based on our SDK, but you are not allowed to expose, or resell our source codes/modified version.
     
  6. Herculeus_Davin

    Herculeus_Davin

    Joined:
    Apr 9, 2023
    Posts:
    2
    thank you for your reply.I have researched your tool, we are interested in remote desktop control, but you have very little display of this. Please, do you have a detailed example about it
     
  7. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    Thanks for your interest too, it's a new add-ons feature which we released this year.
    The package itself includes all the demo scenes, very straight forward solution to achieve remote desktop control result, like teamviewer, anydesk...etc.

    The remote client can be cross-platforms, including VR like Quest 2. (template on github)
    PS: What you see is what you get :)
     
  8. artpologabriel

    artpologabriel

    Joined:
    Aug 7, 2013
    Posts:
    6
    Is this working already on version 3? looking forward on this
     
  9. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    Not fully compatible yet, still working in progress.
    *The old method is routing the FMETP Stream as mjpeg(udp) through ffmpeg on computer, then redirect it to Youtube.
    https://frozenmist.com/docs/apis/fmetp-stream/unity-to-ffmpeg/
     
  10. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    They are running in different node.js server scripts, the data structure is completely different too in the backend.
    Please review your use case, and see if you can migrate the node.js server too, which you can get the best benefit in performance improvement.
     
  11. Mashimaro7

    Mashimaro7

    Joined:
    Apr 10, 2020
    Posts:
    727
    Hello, i have a strange issue with the plugin, seems to not work on a Windows UWP build? The Websocket classes can't be found
     
  12. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    Do you have screenshot of the error?
    Websocket has been tested and verified on UWP, as it's a very common protocol.
     
  13. Mashimaro7

    Mashimaro7

    Joined:
    Apr 10, 2020
    Posts:
    727
    upload_2023-6-19_2-23-50.png
    Yeah, i get about 20 errors, most related to WebSocket or WebSocketSharp. They only appear if i switch to UWP and try to build.
     
  14. wechat_os_Qy02fzyOGnzWoIhqek1ZhmB5s

    wechat_os_Qy02fzyOGnzWoIhqek1ZhmB5s

    Joined:
    Aug 6, 2020
    Posts:
    4
    Hello, can I do video compression when transmitting video, such as ffmpeg and h264, etc. How to add video compression function to FMETP STREAM? Thank you very much!
     
  15. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    Could you please check if "websocket-sharp" is existed in your folder?
    And make sure UWP platform is enabled for this common library.
     
  16. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    This is a work-in-progress feature, not available in the current version.
     
  17. Mashimaro7

    Mashimaro7

    Joined:
    Apr 10, 2020
    Posts:
    727
    There's no option for UWP, i just enabled "Any platform" and it's still not letting me build. upload_2023-6-19_15-59-15.png
     
  18. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    Seems likely you are using Photon's websocket-sharp, you may consider removing our FMWebSocket folder completely if not in use.
     
    Mashimaro7 likes this.
  19. Mashimaro7

    Mashimaro7

    Joined:
    Apr 10, 2020
    Posts:
    727
    Oh, weird. Deleting that folder fixed it. Thanks
     
  20. unity_BrxFzWPOtiHIvg

    unity_BrxFzWPOtiHIvg

    Joined:
    Jun 17, 2021
    Posts:
    3
    Hi, I recently set up my application to stream from Quest (client) to another mobile/android application (Server) on a local connection, and everything was working all right.

    Today, doing some tests, the server app stoped receiving any textures from the client, even though the server app recognizes the client connection.

    Just to be sure, I tried your's quest tutorial version and the same thing happen, server says I'm connected, but I just don't get any texture from the stream.

    Any ideas about what is happening?
     
  21. eteaminfo

    eteaminfo

    Joined:
    Feb 18, 2021
    Posts:
    1
    Hi there, I've bought your asset but I couldn't add the components (i.e. FMWebSocketManager) because the script class is not found. Were the scripts completely updated? I did not expect to encounter such errors.

    EDIT: Even in the demo scenes all my scripts are missing the reference, what is going on?
     
  22. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    Do you have screenshots of the errors?
    The most common situation is due to duplicated libraries like websocket-sharp from PUN2. If that’s the case, you can simply remove the duplication one.
     
  23. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    If everything working in local machine but not in other devices. It’s 99% due to firewall on PC or router.

    The quest 2 demo scenes are verified by many customers, it should be very stable.

    Are you testing in public wifi, like guest or university wifi?(those will block unknown udp stream)
     
  24. unity_BrxFzWPOtiHIvg

    unity_BrxFzWPOtiHIvg

    Joined:
    Jun 17, 2021
    Posts:
    3
    No, i'm using my home local wifi... The strange thing is that it seen to connect, but the stream wont work
     
  25. unity_BrxFzWPOtiHIvg

    unity_BrxFzWPOtiHIvg

    Joined:
    Jun 17, 2021
    Posts:
    3
    Still not working, but it seens tha the client is failling to find my server ip. I checked and the "Auto Network Discovery" is marked
     
  26. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    For troubleshooting on connection issue, please reach us for technical support via email: thelghome@gmail.com
    It will be easier for us to follow your case.
     
  27. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    I want to stream an android camera to an android vr headset like Pico4 / Quest1/2. Can I do that with your plugin? So I already have a unity app running on the android phone that displays the front camera on a rawimage. I just want that to be streamed to another unity app running on the headset displaying the camera of the phone on the rawimage in the headset. That is all I want to do, so can this be done or do you know of another solution? Thanks in advance.
     
  28. Jom000

    Jom000

    Joined:
    Aug 21, 2015
    Posts:
    8
    Hello.
    I have a question about the video call feature, I purchased the plugin and I want to use it to make a video call feature on Hololens, is this possible?2 devices in different networks.
     
  29. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    Yes, in fact, you can stream Android webcam to any platforms(including VR) with FMETP STREAM 3.0.
     
  30. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    It's possible. If you've already tested with FMNetwork system, you should simply following the FMWebSocket guide and setup for Internet stream. The only different is the network manager, with an extra node.js server hosting.
    https://frozenmist.com/docs/apis/fmetp-stream/fm-websocket-stream/
     
  31. Jom000

    Jom000

    Joined:
    Aug 21, 2015
    Posts:
    8
    Thank you for your reply, I am a non-native English speaker and a beginner Unity student, so I may not be expressing the meaning or phrasing accurately.
    Does this mean I need 2 different servers and 4 different ports? Or is it one server running 2 server programs?
     
  32. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    Technically, the structure is very straightforward like this:
    Unity Server -> node.js server -> Other Unity Clients

    Our example node.js server script is designed as Server-Clients structure, which supports only one Unity Server in your case.

    Depending on your project structure:
    1) you can setup multiple node.js servers with different ports, for multiple Unity servers.
    2) Or, some users modify our example script to support multiple Servers or Rooms with single node.js server hosting only.
    3) Or, you can collect all the Websocket IDs and build your own Room system.

    The first option is easier, while the option 2 & 3 will be a bit advanced.
     
  33. Jom000

    Jom000

    Joined:
    Aug 21, 2015
    Posts:
    8
    Thank you very much for your explanation and help.;)
     
  34. Evaveo_Mathis

    Evaveo_Mathis

    Joined:
    Jul 11, 2022
    Posts:
    2
    so @thelghome, I'm thinking of going for the second option you mentioned, but I don't know how to go about it. Do you have any advice/code starts/roadmap to give me?

    ps: the tool is incredible
     
  35. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    Okay thanks. I couldn’t find any example of this in your documentation. Is there an example in the asset itself? What kind of resolution would I be able to stream in a local 5Ghz network? I am looking to stream the camera of a galaxy s8 to a Pico4 to the best quality possible with as little latency as possible.
     
  36. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    Have you also thought of adding USB camera support for Android? Or can you do that already with FMETP?
     
  37. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    For option 2, you can firstly remove the checking of "require Unity Server" in node.js index.js file.
    In the node.js server part, each connected user has unique websocket id(wsid). Then, you can create your own routing logic from there, based on wsid.
    (since there are too many use cases with websocket, we only provide this simple Unity Server-Clients minimal setup as an example)
     
    Evaveo_Mathis likes this.
  38. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    You can simply follow this guide and build our example scenes:
    https://frozenmist.com/docs/apis/fmetp-stream/

    There is a toggle to enable webcam in our example scenes.
     
  39. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    FMETP STREAM is accessing the webcam via Unity's Webcam class, it depends on Unity3D.
    In other words, whatever items visible in Unity 3D space, they can be all streamed.
     
  40. Herise

    Herise

    Joined:
    Mar 27, 2020
    Posts:
    1
    I got the lastest version and run scene with "Demo_FMWebSocketNetwork", when click server or client button, ws tried to connect and will triggerd "onClose" at the same time, could you tell me what happened?
     

    Attached Files:

  41. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    Is your node.js server running and reachable?
    ref: https://frozenmist.com/docs/apis/fmetp-stream/fm-websocket-stream/
     
  42. JudahMantell

    JudahMantell

    Joined:
    Feb 28, 2017
    Posts:
    476
    Hi! I've been using this for a long time now to send camera image from one Unity app to another, but I want to expand my platform and am considering rebuilding the receiving app (currently the Server) as a web application that can be accessed via a browser. Rather than using Unity WebGL, I would build it using regular web tech.

    Is there a way to send picture, byte, and string data back and forth between a Unity app, and a website over the local network?
    I don't need any type of fancy internet networking, only over local network, I basically want to mimic the existing Unity-to-Unity functionality, but with one of them being accessed via a browser, which is displaying the sent camera view and sending back a byte[].

    Any help would be appreciated, as well as any resources on how to best achieve this.
    Thank you!
     
  43. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    There is a demo html when you are running node.js script, for FMWebSocket.
    There are some example javascript for sending byte[] and string in that html file, which you may refer to.
     
    JudahMantell likes this.
  44. JudahMantell

    JudahMantell

    Joined:
    Feb 28, 2017
    Posts:
    476
    Thank you, I will look into those!
    Is there a way of doing this without an additional node.js server?
    Ideally, the web app would just be a website the user can go to and connect over UDP/local wifi to the Unity app.
    Thank you!
     
  45. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    UDP is not allowed on web browser, you can only choose either WebSocket or WebRTC, both require server hosting.
     
    JudahMantell likes this.
  46. Augin

    Augin

    Joined:
    Apr 20, 2021
    Posts:
    1
    what if i only want to use audio, on the same network, UDP, over wifi, what is expected the delay?
     
  47. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    In local network, the expected delay of audio would be between 0.5~1.0 seconds.
    The data arrive in realtime, but the Unity audio playback causes delay.

    *If you playback via HTML demo via javascript, it's almost realtime then.
     
  48. matching_doi

    matching_doi

    Joined:
    Mar 13, 2021
    Posts:
    1
    Could you please teach me how to send only a specific area image from the device to the PC, instead of sending everything from the MainCamera of Quest 2 to the PC?
     
  49. thelghome

    thelghome

    Joined:
    Jul 23, 2016
    Posts:
    744
    You may consider using RenderCam mode.
    1) duplicate your CenterEyeCamera, remove the "MainCam" tag and set the target eyes to none.
    2) set the GameViewEncoder mode as RenderCam
    Then you should have freedom to stream whatever area you wants.
     
  50. doikeiji

    doikeiji

    Joined:
    Apr 21, 2022
    Posts:
    2
    Thank you very much.
    I was able to specify the display area using RenderCam.
     
    thelghome likes this.