Nx WebRTC support feature

Answered

Comments

19 comments

  • Avatar
    Andrey Terentyev

    Hi,

    2) The Directr download interface has been deprecated. It won't be supported and is not recommended for using.

    Use the /media/{deviceId}.{format} interface instead.

    3) The Server will return the nearest in the future recording available, i.e. the one starting at 3 pm.

    0
    Comment actions Permalink
  • Avatar
    Tagir Gadelshin

    Hey, I'm a Product Manager at Nx.

    We added WebRTC support in 5.1, which reached Beta. Please, check it out: https://meta.nxvms.com/downloads/betas

    there is no solid documentation on it yet, but here is some hint on how you can construct an URL that returns a simple player based on webRTC

    https://172.20.1.236:7001/webrtc/?camera_id=084419f6-ec75-6b41-f668-2d8285e9d445&position=1674240507000000

     

    Also, the speed parameter is available and the server should return data accordingly. But the player on this page does not support this, so you'll have to develop/use a player that supports this.

    Please, let us know if you will be able to use speed parameter

    0
    Comment actions Permalink
  • Avatar
    Tagir Gadelshin

    Xand

     

    0
    Comment actions Permalink
  • Avatar
    Thomas

    Tagir Gadelshin I am very happy with the update regarding WebRTC. I have recently been investigating other tools, but those might not be relevant anymore.

    Two questions:

    1. How much longer untill version 5.1 is production ready?

    2. How big of a risk would using version 5.1 in production today be? (Documentation excluded, we can reverse-engineer the example web-page)

    0
    Comment actions Permalink
  • Avatar
    Tagir Gadelshin

    5.1 is Q1, Q2 2023 latest. 

    It's not recommended for production use, it's Beta. But you can start developing for sure, it's recommended to start now so that you're ready when 5.1 is released.

    That being said, we expect enthusiasts to use Beta in production at their own risk, which is why we have Beta -- to let people test it and report issues to us so that we can fix them before the release. So it means we do not expect major issues with it

    0
    Comment actions Permalink
  • Avatar
    Xand

    Tagir Gadelshin   Will the Nx beta and future Nx version be supporting WebRTC in browser Chrome?

    Is there any resource that can assist to develop a player for testing the speed parameter? Do you have any existing WebRTC player to suggest?

    0
    Comment actions Permalink
  • Avatar
    Tagir Gadelshin

    Xand
    yes, Chrome will be supported.

     

    There are no resources as of right now describing this, as it is a new feature. Also we cannot recommend any player as of right now

    0
    Comment actions Permalink
  • Avatar
    Thomas

    @Tagir Gadelshin few related questions:

    When will WebRTC documentation be available, will this be included in the 5.1 release?

    Will WebRTC streams include RTP timestamps (I want to create a browser video timeline with time-ticker for which a rtp timestamp would be ideal)

    Will WebRTC streams allow the "position" query parameter?

    Will WebRTC allow connections over both UDP and TCP? (TCP is more reliable for high resolution streaming while UDP is generally the standard with lower latency)

    Is customizable Turn and ICE server support included?

    0
    Comment actions Permalink
  • Avatar
    Tagir Gadelshin

    hey, Thomas

    I encourage you to test yourself. You can start working on it right now, as there is a publicly available Beta. I'm not sure if documentation will be available right away, so it's better to check the example webpage and see how it works. Most likely it will answer a good portion of your questions. 


    Will WebRTC streams include RTP timestamps (I want to create a browser video timeline with time-ticker for which a rtp timestamp would be ideal)

    Will WebRTC streams allow the "position" query parameter?

    I will double-check what is in 5.1 (I will double-check). But this will be available at some point, as our (Nx) players will also have this experience as you describe. 

    I will also double-check about UDP vs TCP. 

    Also, can you elaborate -- why you need customizable TURN and ICE server support? As you would need to change them on each server. What are you planning to build?
    Probably it's relatively easy to add on our side, but we need to understand why and what is your goal so we better understand priorities.

    Thank you!

    0
    Comment actions Permalink
  • Avatar
    Thomas

    Thanks for your quick response. We have not started development due to the server application not being compatible with our M1 macbooks. We do not want to run 5.1 in production due to the risks of a beta version. Unexpected behavior could have us drive cross county for direct server-access. I will look into getting something up and running to start development.

    We do not currently have a need for turn, stun is however necessary to setup the peer-connection in our case. I do suspect however that we might need turn when we want to connect from a mobile connection to the streams behind a NAT. I am not totally sure about this.

    An advantage I see in customisibility in stun and turn is configurability in fallback servers.

    I am happy with your responses as they suggest NX is working on setting up a proper, feature-rich WebRTC system and not just a quick fix for the existing latency issues.

     

    Thank you for your responses so far.

    0
    Comment actions Permalink
  • Avatar
    Xand

    Tagir Gadelshin 

    rtsp://127.0.0.1:7001/<cameraid>?pos=<pos>&speed=<10-32> 

    1. Is there an API/method to retrieve the current timestamp in a RSTP/WebRTC(future) stream when the RSTP stream speed can be accelerated up to 32x?

    This is for function Rewind and Fast forward to calculate the move to the correct timestamp marker.

    0
    Comment actions Permalink
  • Avatar
    kadam nayak

    I cant view camera on webrtc

    https://localhost:7001/webrtc/?camera_id=8c4cae59-054e-21d4-8b55-8d4e6fe47c41

    it returns - 401 Unauthorized

    0
    Comment actions Permalink
  • Avatar
    Andrey Terentyev

    Hello kadam nayak ,

    I suppose, the account you're trying to authenticate with from your player has token authentication schema enabled.
    The recommended way for accessing media interfaces of the Server is creating an account with digest authentication schema enabled.

    0
    Comment actions Permalink
  • Avatar
    Thomas

    Tagir Gadelshin earlier in this post you mentioned WebRTC would be out of Beta in Q1/Q2 2023. Is this still the current timeline? We are nearing end of Q2.

    0
    Comment actions Permalink
  • Avatar
    Tagir Gadelshin

    Thomas
    yes, it should be out in June

    0
    Comment actions Permalink
  • Avatar
    Jasper

    Hi,
    I have a few questions about the WebRTC feature.

    First of all, great that you implemented this!

    - It works on a desktop browser but not on Safari or Chrome on IOS. Is this normal or am I doing something wrong? 
    https://192.168.0.200:7001/webrtc/?camera_id=camID

    - Can I make it work via NX Cloud? I get a white screen with just a mute/unmute button but can't see the stream. 
    https://cloud_id.relay.vmsproxy.com/webrtc/?camera_id=camID

    0
    Comment actions Permalink
  • Avatar
    Andrey Terentyev

    Hello Jasper,

    https://cloud_id.relay.vmsproxy.com/webrtc/?camera_id=camID

    I double-checked. The WebRTC is working via the relay URL. Please, try with testcamera

    https://support.networkoptix.com/hc/en-us/articles/360018067074-Testcamera-IP-Camera-Emulator

     

    0
    Comment actions Permalink
  • Avatar
    Jasper

    Hello Andrey Terentyev

    I probably did something wrong at first. Indeed it works via the relay URL.

    But no support for IOS browsers i guess?

    0
    Comment actions Permalink
  • Avatar
    Shaum Chen

    Andrey

    I had tested the cloud webRTC but got the same results with Jasper, if I changed the cloud relay information to the static IP, I could get the WebRTC stream.

    The test Nxversion is 5.1.0.37512

     

    0
    Comment actions Permalink

Please sign in to leave a comment.