Originally Posted by: fwieland Originally Posted by: Pepsi(~) It can be done. At least I’ve done it with one system that runs vmix.
But I will not say that it is easy..
you need to have knowledge of routing tables on computers and persistent routes.
Also the destination service need to be in a fixed IP space.
Normally the streaming address would be a domain name, not an ip adress. Also, I would assume that the domain would be the same for both main and backup stream. But it would not be a reasonable way of solving this issue, since I can't be sure that the technician on site is going to be able to handle routing tables just because I can. So I don't think it's a reasonable solution.
You're quite right - the streaming address is normally a domain name, and it would be very bad practice to replace this with an IP address in general, since the streaming provider probably uses multiple servers around the world and frequently changes the IP address - there is no guarantee that any particular address will always be available. Unfortunately easily managed URL based routing is generally only available in high-end firewalls, so you're not going to be able to do this on your PC running vMix. If you want to risk using IP addresses, you can do this by having the two independent routers for main and backup connections connected to the same switch as the vMix PC (just remember to turn off DHCP on one of them!)
Unfortunately this will not work for Facebook - the main and backup streams both go to rtmps://live-api-s.facebook.com:443/rtmp/ - the "backup" here is not achieved by having two routes on one computer - it's achieved by having two separate machines both sending out the same stream (i.e. you're providing a backup in case your streaming machine fails - not in case your internet connection fails).
You could potentially provide a solution by having a second computer running OBS (or if you want, the single input license for vMix), which is on a separate logical network, using a separate router and internet connection. The easy but expensive way of connecting them is using SDI (you now need to buy a capture card for the second computer). The cheap (free!) method is to put two addresses on the computers and use NDI to transfer the programme output between the two computers. (so for example, the main PC is 192.168.1.2 and has gateway 192.168.1.1. It also has a secondary address 192.168.2.100. The other PC has 192.168.2.2 as it's address and gateway 192.168.2.1, and has a secondary address 192.168.1.100. For computer 2, the source of NDI is 192.168.2.100).
If you
really wanted to do it in one machine, you could run OBS on a Virtual PC, which has a different gateway from the host machine, but I wouldn't recommend that for a whole host of reasons! :)
For YouTube the URLs are rtmp://a.rtmp.youtube.com/live2 and rtmp://b.rtmp.youtube.com/live2?backup=1 and since the a and b URLs resolve to different addresses, you could do it all in one machine using static routes, but for the reasons given above, I wouldn't try it.
If you want to give it a try though, let's say you have your two internet routers, one on 192.168.1.0 and the other on 192.168.2.0, both using the .1 as their gateway address.
If your computer primary address is manually set to 192.168.1.2 with gateway 192.168.1.1, and the secondary to 192.168.2.2 (there should NOT be a gateway address for the second LAN in WIndows, even if you have two network cards).
Then at an elevated command prompt you do -
ROUTE ADD 173.194.190.137 MASK 255.255.255.255 192.168.2.1 -P
where 173.194.190.137 is the address of the backup streaming server. The -P means "persistent" and keeps the route in place across restarts. If you're just experimenting, leave it off!