The method I’m using currently hasn’t been tested at scale, so I can’t speak to how things will behave for you. As with many things like this, your mileage may vary. FWIW, our setup powers four displays so far with more to be installed soon. I’d be happy to address any major discrepancies, though, so let me know if you see something.
We’ve recently begun using Xibo at Zenoss to promote employee achievements & announcements on a series of screens throughout our corporate headquarters. The powers that be requested the ability to stream live video from a news network to some of the displays. Using a combination of Nginx, Open Broadcast Software, and Video.js, we’re now able to stream said video content to each of our displays.
Note: I have the Nginx streaming server running on the same box as Xibo CMS. If your streaming load is significant, might want to use a separate box for streaming.
- Streaming source capable of running Open Broadcaster Software
- We have a small computer connected to our video source)
- Streaming server
- We use a virtual machine that runs Ubuntu Server 14.04 LTS, Nginx from source, and Video.js)
- We run our Xibo CMS on this same server using Nginx & PHP-FPM. I won’t go into this configuration in this guide, but I just wanted to let you know it was a possiblity.
- Install nginx & nginx-rtmp from source (https://github.com/arut/nginx-rtmp-module).
- Configure nginx-rtmp according to instructions at above link. You should be able to now stream to this server using the information you configure in the afforementioned instructions.
- Figure out a way to stream your cable box to a computer. I’ll leave this up to you to determine what works best for your setup. We ended up getting a StarTech.com USB3 video capture device & used RCA outputs to capture the video. HDMI (and other digital connections) would fail due to the cable box’s DRM.
- Download Open Broadcaster Software (or any other video streaming software that handles RTMP) and configure it to point at your streaming server.
- Create a video source in OBS based on your cable box’s feed. If everything is set up correctly, you should now be able to click the “Start Streaming” button.
- Create an HTML file that will run a Video.js player. Have it use your RTMP stream as the source. https://github.com/videojs/video.js/blob/stable/docs/guides/tech.md
- We use the minimum configuration for Video.js. Feel free to make the player as fancy as you like.
- Place that HTML file in your nginx “html” directory (will probably be
- In your Xibo layout, embed an HTML widget in the content region & use an iframe to embed your video page
Assuming all the moving parts are in place, this should put a video feed in your Xibo layout. You may need to tinker with the HTML page to ensure it runs in IE or Chrome, depending on how your Xibo CMS is configured).
Let me know if you have any questions, comments, or concerns!