CX350, Streaming and NDI...

Hello,


I have some questions about using this camera in streaming environments. It is clear to me that a proper NDI switching setup is straight forward and what the interface was designed for. What I ma having questions with is the more consumer type setups like - "can we stream your camera to our Facebook account"?

I tried to do a Facebook Live stream the other day for a client and we could not get it to work. This was using the LAN streaming approach. Of course this was right before a concert and the laptop would not recognize the camera etc... If I decide to invest in the $300 NDI license, will this help me with Facebook or YouTube type streaming setups? I wanted to just plug the camera directly into a laptop's ethernet port and go, but that was pretty complicated. Even after watching Barry's great video!

Does NDI help with more of a plug and play style easy setup for consumer live streaming?

Basically, I do not want to be an IT guy and only be paid for being a video guy. This stuff is deceptively complicated and can generate a negative impression on your company when it eventually does not work. I think it is worth the $300 if I can easily make a camera to laptop connection and go. Thanks for your help.
 
No, NDI won't help with Facebook streaming. You should be able to do it directly from the Ethernet port. I don't know why it didn't work for you, but try again; once you do it successfully once, it should be a cakewalk every subsequent time.
 
Thanks Barry. So would it be wise to bring my own laptop so I know the equipment and just get the destination info (Facebook or YouTube) and go from there? I want to eliminate as many variables but do not want clients to be expected to give me their Facebook login info etc... This client had a MAC and I use PCs, so we were in the hole to begin with.

Hate that this is where it is going but we can't stop it...
 
NDI can definitely make field streaming setups easier, especially for multi-camera shoots. It is an extremely low latency zero configuration IP streaming protocol. With NDI switching and acquisition software on the PC and NDI enabled sources, it is plug and play over an IP network. Camera goes live it is automatically recognized as a source just as if you connected it to a production switcher via SDI or HDMI, no IP address configuration needed. Each source sets up its own VPN connection to the destination.
IP connections directly between cameras and laptops can be problematic if the laptop doesn't support detection and switching of T568A to B wiring inversion. The best way to avoid this is to use an inexpensive unmanaged gigabit Ethernet switch between the two. Then standard T568B patch cables are all you need.

PS: Open Broadcaster Software has a free NDI plugin available.
 
Last edited:
Thanks. I have been doing some research and it looks like bringing my own laptop, having NDI from the CX350(s) and basically running the stream with OBS is the best and easiest way forward. My only question is - how do I get the client's Facebook or YouTube stream key? Do I need to be in their account to make the stream happen? Or can they get the stream key (using their phone onsite) and send it to me? Allowing my feed to be broadcast on their page?

Thanks for the help so far. I am seeing a way forward with OBS that can create a more polished product as long as I can easily send it to other social media accounts.
 
475
Thanks. I have been doing some research and it looks like bringing my own laptop, having NDI from the CX350(s) and basically running the stream with OBS is the best and easiest way forward. My only question is - how do I get the client's Facebook or YouTube stream key? Do I need to be in their account to make the stream happen? Or can they get the stream key (using their phone onsite) and send it to me? Allowing my feed to be broadcast on their page?

Thanks for the help so far. I am seeing a way forward with OBS that can create a more polished product as long as I can easily send it to other social media accounts.

Your client should be able to log into their page and get a stream key for you.

If you plan on doing this often for multiple clients, it might be worth signing up for ViMEO's live streaming service. The will host and forward live streams to social media accounts and YouTube channels. It is $75 a month for unlimited events and unlimited streaming, but the catch is you have to pay a full year in advance.
 
Thanks for your help. I think there is a market for adding streaming services to existing event jobs as well as streaming as the lead role, but it has to be something that is repeatable and dependable. My laptop and gear will take a lot of the question marks out of the hardware side so the connection would be the main unknown.

What would be the benefit of using Vimeo over a direct connection to the client's Facebook or YouTube?
 
I was messing around with OBS tonight and trying to get the camera connected without an NDI license over ethernet. Is this possible with the CX350 without a stream to upload to? I just wanted to see if I could get signal directly into my laptop, no router or network, just a video source seen by OBS. I seem to be networking challenged! Thanks.
 
I was messing around with OBS tonight and trying to get the camera connected without an NDI license over ethernet. Is this possible with the CX350 without a stream to upload to? I just wanted to see if I could get signal directly into my laptop, no router or network, just a video source seen by OBS. I seem to be networking challenged! Thanks.

You need a network switch between ethernet devices for most laptops, or you need a T568a to T568b cross wired cable. You will need to manually set up the network and assign network addresses for the laptop and camera.
A wireless home router with DHCP will assign addresses to attached devices automatically.
You don’t need an internet access to connect your camera to OBS and record video to the laptop, just the local network. A wireless router is useful if the camera(s) support WiFi streaming.

If you have a WiFi setup at home, work out the setup on that network, then duplicate it for field.
 
Last edited:
Hey, thank you so much. I have an extra router I can dedicate to this. I appreciate the info and will setup the network and see how it goes.
 
I was messing around with OBS tonight and trying to get the camera connected without an NDI license over ethernet. Is this possible with the CX350 without a stream to upload to? I just wanted to see if I could get signal directly into my laptop, no router or network, just a video source seen by OBS. I seem to be networking challenged! Thanks.
If you are using RTMP on the camera, which is most commonly a push-based protocol, then you will need some destination server to connect to. So this is the best option to use if streaming directly to an online streaming platform like YouTube or Facebook Live.

If you want to add the stream as a video source into streaming software like OBS, then you are probably better off using RTSP on the camera (as this is more commonly used as a pull-based protocol). In that case you should be able to use the Media Source to add the stream to OBS (although I've never actually tried this with the CX350, it does work with RTSP feeds from other cameras). A second option would be to use NDI, in which case you will need to purchase the NDI license for the camera, and on the computer you are using you'll need to install the NDI Runtime (from NewTek) and the OBS NDI plugin.

There is some information about configuring both an RTSP and NDI input to OBS here (they are using different cameras, but the OBS setup part should be similar):
https://live.ptzoptics.com/rtsp/streaming-obs

As Razz mentioned earlier, I would suggest connecting the camera and computer to a router or Ethernet switch and get things working in that configuration first. Connecting the camera directly to a computer with a single Ethernet cable is trickier and may require a crossover cable to work correctly. And the IP address configuration may also be more complicated as you wouldn't necessarily have DHCP for assigning IP addresses like you would have with a router.

Keep in mind that if you do send the camera's feed through OBS, you will effectively be recompressing the video twice. Once in-camera, and then OBS will re-encode the video a second time when you stream from OBS to the final destination server (YouTube, Facebook, etc.). This is necessary so that OBS can manipulate the video, add overlays, etc. But whenever you have multiple encodes like this, you always want to make sure that the quality of the first encode meets or exceeds the quality of any subsequent encodes. So for example, if you plan to stream to YouTube at 1080p30 @ 5 Mbps, you would want to make sure that the streaming bitrate on the camera is at least this high if not higher.

This also means that if you don't have any need to add overlays, or switch between multiple camera angles, or the other kinds of things that OBS is capable of, you are probably better off streaming directly from the camera to the streaming platform (using RTMP). This will be simpler to set up, and have fewer moving parts, so is likely to be a bit more foolproof.
 
Thank you Dave. Awesome information for the community. I did not know OBS would be re-compressing. Do all of the software switcher/streamer packages do this? Like Wirecaster etc...
 
Yes, I believe all of the streaming software packages re-compress the video; I don't think they really have a lot of alternatives. In order to do any kind of compositing with the video (overlays, etc.), you really need access to the full set of pixel values for each frame. Which means that if the input video is in some kind of compressed format, you need to first decompress it, then do the compositing, then recompress the result (for streaming or recording purposes). I think all of the streaming packages use a similar imaging pipeline, in this regard.

From an image quality standpoint, multiple re-compression steps usually isn't a huge problem as long as each step starts with more data than is needed for the target rate (after compression). And the compression that happens in the streaming software isn't even the last compression of the video that happens. The major streaming platforms usually re-compress at least one more time so that they can make the video available in different resolutions and bitrates (for desktop, mobile, slower connections, etc.). Now of course, once you throw away data you can never get it back. So if you go from 24 Mbps to 12 Mbps to 6 Mbps you probably wouldn't notice much of a difference between that sequence and going directly from uncompressed to 6 Mbps. But if you go from 24 Mbps to 6 Mbps to 12 Mbps, the quality of the end result is still going to look like 6 Mbps. But as long as you know what your final quality target is, and set things properly at each earlier step of the way, you should be ok from a quality standpoint.

Where this need to de-compress and re-compress the incoming video can actually be more of a problem is from a performance standpoint. Decoding H.264 video can be fairly resource intensive, especially at higher resolutions (4K) and frame rates (60 fps). So while you might be able to handle a single compressed stream as a video source without any problems, if you have multiple compressed streams being ingested into your streaming software or are pushing higher resolutions and frame rates, things might start to bog down in the streaming software. You'd likely end up needing a faster computer than you would for multiple uncompressed video sources coming in through a video capture card.

The other potential issue to be aware of when compression is involved is that it usually increases the latency of a video stream (how much latency varies based on the compression codec and implementation). If you just have a single video stream with embedded audio, this may not be much of a concern. But if you have multiple video sources (from different cameras), one that is coming in via a compressed format, and a second that is coming in uncompressed, you might find that the compressed video source is a few frames behind the uncompressed source. And if you have a separate audio source that you are feeding into your streaming setup independently of the video sources, you might find that the audio is out of sync with the compressed video source (since the video has latency the audio does not). A lot of the streaming packages have audio delay settings to correct for this, but this isn't effective if you have multiple video sources with differing amounts of latency.
 
Thanks again for all of your information. It is a lot to keep track of. I have broadened my view to compare an HDMI based setup (Atem mini + Wired/Wireless HDMI) and an NDI based setup. I realized that whatever way I go, a laptop will probably be involved to send the finished stream. So this kind of diminishes the need for the networking/streaming capability to be built into the camera. At $300 per NDI license and wired only, the HDMI approach gains traction as any camera can be used.

After not being successful in connecting my CX350 to my home network via ethernet cable, (which should be plug and play...) I see HDMI as a little less complicated.
 
Back
Top