Products

GIGA Video Streamer

Best Universal Video Streamer to Send and Receive Realtime Picture for Unity.

GIGA Video Streamer

– Scene Camera Streaming Demo
– Device Camera Streaming Demo
– Video File Streaming Demo
– Open, Extendable C# Code
– Fast UDP protocol
– Super Lightweight
– Developer friendly API

F.A.Q.

1. Is this plugin works for me?

Try this Demo combinations of .exe Server and .apk / .exe Client. DOWNLOAD
Launch both apps connecting to Local Network. Wait until they see each other (Tap on Client App screen to restart finding if needed).
NOTE: Every combination of Client and Server for different platforms can be build from Unity Package.
If you had any questions during testing of the product please write to biz@giganeo.com
Also please see GettingStarted Documentation before buying. VIEW

2. Which platforms are supported?

There is No Platforms limitation at all. However algorithm is uses Threading for best performance, so Web GL won’t work with Threads. Anyway the Source Code is opened in written in C# and can be customized special for Web GL.

3. What are the advantages of using streaming media?

“Streaming media” refers to listening to or viewing digital media (audio or video) on your computer in real time as it comes across the Internet. Originally, people had to wait up to an hour to hear or see a few minutes of downloaded audio and video. Internet media via the download-and-play method means your computer downloads a compressed media file, such as .mov, from the Internet to your hard drive. Once that file has downloaded completely, the media starts to play. With streaming media, you can view content and information instantly on anything from an ordinary dial-up line to a broadband connection or here on campus. Real time streaming broadcasts directly to your computer from our server and is played back as the information is received.

4. What is the purpose of compression? 

The way to reduce file size is through compression. All media files streamed across the Internet have been compressed considerably. The goal is to make the original raw material more compact and transportable. In the process, you need to remove something from the raw material. In working with media, the raw material consists of your captured or digitized audio and video files, often referred to as raw media. Raw media files are normally very large and need to be compressed for better transport across various Internet bandwidths.

5. Is there significant reduction in quality? 

During compression, what is taken out can never fully be restored. Hence, the quality of highly compressed media files will never look and sound as good as the original media. When you compress audio and video files for streaming, you will always lose some quality. As you make file sizes smaller and smaller to accommodate lower bandwidths, loss of quality is more noticeable. This is especially true for video media. However, current compression software enables us to cut down these obstacles, providing a superior stream.

6. How can I make sure that my audio/video will look good when streaming?

There are several things you can do to ensure that your final product leaves an impact. Though these are not binding rules, they can save your final product from looking cumbersome and sloppy.

Good Lighting – More light means better detail. Compression will take away some very fine points; be sure to over-compensate in darker areas.

Fixed Camera – The more movement the image has, the bigger the file size will be. Unnecessary, erratic movement is harder on the compressor software and can cause problems while streaming.

Close-Ups – The tighter your image is on the subject, the better the stream will appear. The compressor will encode every movement. If the image has only one source of movement, there will be less loss in quality while streaming.

7. Does GIGA Video Streamer automatically link my files to my Project?

No. GIGA Video Streamer is an Application Level stream solution. You have to include it to your code.
Please see GettingStarted Documentation above.

8. How to use GIGA Video Streamer with my custom Client / Sever?

You can specify every possible End Point in the EndPointProvider.cs class.


Good luck and have a Happy coding,
Sincerely yours GigaNeo.

11 comments to GIGA Video Streamer

  • Hank Hong

    Hi there,

    I am an indie developer in Hong Kong. I am looking for a video streaming solution then I found the GIGA VIDEO STREAMER on Unity asset store, looks cool for me. But I am not sure if the package supports what I need, hope you can help.

    I requirement is that I want a device camera streaming from one device to another (say from an android device to a PC), but in the meantime I also want a voice chat between two devices. Do you think the GIGA VIDEO STREAMER can support this?

    Thanks.

    Reply
    • GigaAdmin

      Hi Hank

      We are glad to read from You.
      Yes GIGA Video Streamer is designed special for this use case.
      Except Sound Streaming. It’s supports only Run-time Picture Transferring.
      For Sound Streaming You should use dedicated Asset Store Packages.
      There are some.

      Good luck with a project and have a happy coding!
      Sincerely Yours,
      GigaNeo

      Reply
  • Riccardo

    Hi, I bought your plugin for a project wherein I should create a sort of “VR mirror”, that is an application receiving a scene stream from a VR device – specifically an Oculus Go – so people can watch in real time what a VR-goggles user is doing. I’ve a couple of question about your product:

    1. From my first tests I was able to transmit the scene stream from a pc TO an Android device but never succeeded to do the reverse, namely to stream FROM an Android device to an another device (pc or Android). In this latter case the Android receiver stays indefinitely waiting for a server connection. Is there maybe some settings/permissions I should enable to do that? Consider that in my tests I also tried to simply build your StreamerDemo scene targeting for Android.

    2. Besides the previous problem, should I expect some specific trouble streaming from an Oculus VR scene? Or should it work naturally despite the stereo view?

    Thanks

    Reply
    • GigaAdmin

      Hi Riccardo

      It’s good to read from you.

      1. EndPointData.HOST is edited in PreBuild.cs during Build process.
      It’s automatically sets builtin IP of Receiver to work in Demo (EndPointForReceiver ). That is why mobile build has IP of your Desktop device but not vice versa.

      To change Demo behavior and stream to every device you can change End Points in this file:
      Assets/GIGAVideoStreamer/Scripts/EndPointProvider.cs

      Properties of EndPointProvider can be edited as you need.

      public static string LocalHost – returns IP of Receiver, to which Frames should be sent.
      public static IPEndPoint EndPointForReceiver – returns IP of Sender.

      2. Plugin sends Realtime Picture from Camera where Sender script is attached. You can send view from one “eye” or write custom effect to merge both views into single.

      Good luck with a project and have a happy coding!
      Sincerely Yours,
      GigaNeo

      Reply
      • Riccardo

        Hi and thank you for your answers.

        I did some more test with EndPointProvider.EndPointForReceiver returning the Android device IP and now it works, so I was able to stream from a mobile device to a pc, both with your StreamerDemo (built for Android) and my Oculus Go app.

        Unfortunately, however, it happened what I was afraid of, that is the mobile streamer is very, very slow, both using your simple demo – in all three versions: scene, video and webcam stream – and my VR app too, that even crashes after a few moments.

        Is it the normal performance I should expect on a mobile device?

        Thanks,

        Riccardo

        Reply
        • GigaAdmin

          Hi Riccardo

          Speed of the stream is ok.
          Optimize content of the application usually is enough to have good performance.
          The framework is open coded, so it’s easy to add changes you need.

          Good luck with a project!
          Best Regards,
          GigaNeo

          Reply
  • Lee

    4K resolution,how many devices can be use.need quality.

    Reply
    • GigaAdmin

      One to one device connection by default. You can extend to several devices via code. CPU is important to Encode frames.

      Reply
  • Thibault

    I hardcoded both localhost and EndPointForReceiver to be “127.0.0.1”. I built both receiver and streamer on my pc and this worked. This is the only success i had

    Reply
    • GigaAdmin

      Hi Thibault

      There is so wide variety of things you can check.
      We can’t know for sure.
      Try to check was original IP packaged on Unity PostBuild Event.
      This is how it works in Demo.

      Probably you should try more.
      If no luck – try another package.

      Sincerely yours,
      GigaNeo

      Reply
      • Thibault

        Ok. I finally find out how to make it worked. If anyone has this problem, here is what i did:

        1) In EndPointProvider.cs : change ExternalHost to return the ip of the device which will stream the video. (line 58)

        2) In Receiver.cs : in the UdpReconect function (line 85) you need to replace every “EndPointForReceiver” with “ExternalEndPoint”.

        I was able to stream from my mobile phone to my tablet.

        Reply

Leave a Reply

Comment
Name*
Mail*
Website*