Stream From an IP Camera to Your Website or Social Media
Find out how to stream from an IP camera to your website using either the Wowza Streaming Engine software or the Wowza Streaming Cloud service. Easily publish live content wherever you need to by repackaging, or transmuxing, the incoming stream into a more common protocol.
Most IP cameras use the RTSP protocol to pull data to the media server. From surveillance to conferencing, IP cameras work great when you want to live stream from one location without getting too fancy. But you’ll need a stream packaging solution in place to convert the video feed for playback on a wide variety of endpoints.
Watch this video or check out our docs to learn more.
Full Video Transcript:
IP cameras have become a standard today for surveillance, monitoring, and even event production. They use the RTSP protocol to stream through either an Ethernet cable or Wi-Fi on a private network. If you know the IP address, it’s easy view the stream locally or even use switching software to access multiple cameras. But when it comes to sending the stream to social media or for viewing on your own website, things get a little more complicated.
Let’s look at how this can be done using a media server. With Wowza Streaming Engine, you can simplify the process by running a local instance. With your media server running inside your network, multiple cameras can be accessed easily without each of them having a separate public static IP address.
To get started, go to Server and set up the connection to the IP camera under Stream Files by adding a stream file. We’ll name this appropriately and use the RTSP URL as defined by the IP camera. Once the stream file has been added, Return to Stream Files, then connect to the stream by using the default application live to stream.
Once we’re finished, we can access the application live and verify the stream is working under Incoming Streams. We should see our stream with the status listed as active. By default, the stream is being converted into multiple protocols for playback, and to test it locally, click on the stream and use the Test Player option to see the stream running.
If you are using Chrome, you can test the MPEG-DASH stream by hitting start. To test from a local hosted HTML page, we’ll go to the Mobile tab and copy the iOS link provided, which is how to access the HLS stream. For playback, we’ll use THEOplayer. Select SDKs from the side menu, and then click on Create. I’ll choose to use this with HTML5. I’ll name it something unique, and next I’ll scroll down and choose HLS as my media server.
Now, I’ll paste in the URL we copied earlier, load the code, and next we’ll Accept all domains for now and then Publish. It may take some time for the code to be generated. Once it has, we’ll select How to embed my THEOplayer HTML5 SDK. And while we could go to the step-by-step, instead, we’ll go to Full Sample Page and download the HTML file.
Then you can open up the file in your browser and click the play button on the video to see it working. A static IP address is required on Wowza Streaming Engine if you want to see this working outside your own private network. To send your stream to specific targets back in Wowza Streaming Engine, go to Stream Targets and Add Stream Target. You can target Wowza CDN from here, send the stream to Facebook and even YouTube, or — using RTMP — simulcast to other targets like Twitch or Periscope.
As an alternative to Wowza Streaming Engine, Wowza Streaming Cloud is a great cloud-hosted solution to stream your IP camera, but it does require that your camera has a public static IP address so it can be accessed beyond the private network. First, we’ll go to Live Streams and Add a Live Stream. We’ll name this as appropriate, then select the location closest to it.
Next, we’ll choose IP Camera, and we’ll enter the public static IP address for the camera as the source with any other information necessary for that specific IP camera. For now, we’ll also bypass all the other settings and continue to click Next through everything until we get to Finish. Once the live stream has been created, we can then click Start Live Stream and confirm it.
Now, it may take a few seconds for the live stream to start running, but once it is working, we can view it in a number of ways. We can use the hosted page URL to select and view the stream on a hosted page, although this option will only appear if you choose to create a hosted page. We can also use the player embed code to embed the player for playback into a website. Another option we can do is copy the HLS playback URL to use in a player like THEOplayer.
For a quick test of this, go to theoplayer.com/demo-zone. Using the test link, enter the field player playback statistics page and paste the URL that you copied into the field. Now, you can load your stream and then click the play button to see it live. If you want to simulcast this live stream, go back into Wowza Streaming Cloud and Stop Live Stream first before making this change.
Go to the top menu to Advanced and choose Transcoders from the dropdown. Pick the transcoder for this stream, and then select the Outputs & Targets tab. It’s from this top pass-through stream that you’ll want to add a target stream. Facebook Live and LinkedIn Live are defaults, but for YouTube and other social media, you’ll need to choose Custom. You can set up as many target streams as you want.
Well, that’s it for streaming IP cameras to websites and social media. For more information, please contact us at Wowza.
Search Wowza Resources
About Traci Ruether
Traci Ruether is a Colorado-based B2B tech writer with a background in streaming and network infrastructure. Aside from writing, Traci enjoys cooking, gardening, and spending quality time with her kith and kin. Follow her on LinkedIn at https://www.linkedin.com/in/traci-ruether/ or learn more at https://traci-writes.com/.