logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Xyless  
#1 Posted : Saturday, April 29, 2017 3:27:36 AM(UTC)
Xyless

Rank: Newbie

Groups: Registered
Joined: 4/29/2017(UTC)
Posts: 2
Location: Chicago

Hi, my broadcast company would like to transition from XSplit to xMix, but we've run into a problem. We use HTML for our game overlays, and these have worked fine for both OBS and XSplit. However, switching to xMix we ran into an issue. Both OBS/XSplit use a web browser that allows for Same-Origin Policy (which prevents a website to be able to access files outside of its origin) to be ignored. However, because VMix's browser uses Chromium, it is unable to, as far as I'm aware. This is because Chrome/Chromium refuses sites that are hosted on the computer (aka opening index.html in a folder on your computer) to access other files. With Chrome itself, you type this in Chrome's folder to ignore it: "chrome.exe --disable-web-security". I don't believe this works with vMix though.

So, basically, is there a work-around to let us have web files mingle with each other in their own folder? I'm doing research into it, but I figured I'd also ask in case someone has already run into this issue and found a solution. It's sort of like this, but I'm not sure how to apply it to vMix.

Thanks!
DWAM  
#2 Posted : Saturday, April 29, 2017 4:06:30 AM(UTC)
DWAM

Rank: Advanced Member

Groups: Registered
Joined: 3/20/2014(UTC)
Posts: 2,721
Man
France
Location: Bordeaux, France

Thanks: 243 times
Was thanked: 794 time(s) in 589 post(s)
Hi Xyless

I just tried to use a local html file in a WebBrowser input in vMix, it works...

You can also use local Desktop Capture to do this, it also works (some browsers require to deactivate Hardware Acceleration though).

You can also use NDI Desktop Capture for a remote computer.

I understand you are trying to reproduce what you were obliged to do before with Xsplit or OBS. IMHO, this is the worst method to use in vMix to use graphics for overlays.

Guillaume
thanks 1 user thanked DWAM for this useful post.
mjgraves on 6/30/2017(UTC)
Xyless  
#3 Posted : Monday, May 1, 2017 1:48:32 AM(UTC)
Xyless

Rank: Newbie

Groups: Registered
Joined: 4/29/2017(UTC)
Posts: 2
Location: Chicago

The issue isn't loading a website in particular, it's loading a local file that's trying to access a JSON/XML file that's in the same folder. This is something called "Same Origin Policy", which is a thing with all browsers, but Chrome in particular takes it to another level by also blocking local files from shaking hands with themselves. Chrome.exe can let you ignore that with a certain line of code when opening the exe file through Command Prompt, but we can't use that for vMix.

I also personally disagree with the idea that HTML encoding is worse than Flash, and in my eyes, Flash is inferior just because it's such a processor hog.



This is the kind of thing we do with HTML. Easing in text, images, and updating data live with StreamControl, which is a system that updates XML and/or JSON files on the fly with a very clean and customizable interface. We really don't want to transition away from it if we can help it, since it's also basically one of the industry standards for when we do commissions.
DWAM  
#4 Posted : Monday, May 1, 2017 7:28:06 AM(UTC)
DWAM

Rank: Advanced Member

Groups: Registered
Joined: 3/20/2014(UTC)
Posts: 2,721
Man
France
Location: Bordeaux, France

Thanks: 243 times
Was thanked: 794 time(s) in 589 post(s)
I didn't mention Flash. vMix uses XAML for graphics.
Besides vMix integrates natively JSON and XML as datasource, making it possible to produce overlay titles with dynamic data without using an external browser or a webbrowser input.
I saw nothing in your video that couldn't be done by vMix only.
sacc  
#5 Posted : Saturday, May 13, 2017 9:33:33 AM(UTC)
sacc

Rank: Newbie

Groups: Registered
Joined: 5/13/2017(UTC)
Posts: 1
Location: Mexico

Did you manage to find a solution? I'm also transitioning my team from xSplit to Vmix and this is the only issue I've run into. I need to enable our overlays at least as a stopgap while I learn a better more native way to do this stuff in Vmix.

My overlays don't even need overriding same origin policy because of the way I engineered them but they don't function on Vmix anyway, the JavaScript just doesn't seem to run.
Speegs  
#6 Posted : Sunday, May 14, 2017 7:01:41 PM(UTC)
Speegs

Rank: Advanced Member

Groups: Registered
Joined: 8/3/2013(UTC)
Posts: 405
Location: Gold Coast, Australia

Thanks: 27 times
Was thanked: 76 time(s) in 58 post(s)
Xyless wrote:
Hi, my broadcast company would like to transition from XSplit to xMix, but we've run into a problem. We use HTML for our game overlays, and these have worked fine for both OBS and XSplit. However, switching to xMix we ran into an issue. Both OBS/XSplit use a web browser that allows for Same-Origin Policy (which prevents a website to be able to access files outside of its origin) to be ignored. However, because VMix's browser uses Chromium, it is unable to, as far as I'm aware. This is because Chrome/Chromium refuses sites that are hosted on the computer (aka opening index.html in a folder on your computer) to access other files. With Chrome itself, you type this in Chrome's folder to ignore it: "chrome.exe --disable-web-security". I don't believe this works with vMix though.

So, basically, is there a work-around to let us have web files mingle with each other in their own folder? I'm doing research into it, but I figured I'd also ask in case someone has already run into this issue and found a solution. It's sort of like this, but I'm not sure how to apply it to vMix.

Thanks!


https://developer.mozill...ess-Control-Allow-Origin

Look for CORS and headers on google search. It's complex for sure, but it's to protect uses basically from bad stuff.

If the web server header responds correctly it will give chrome the permission it needs.

The process is different depending on who makes the web server IIS (Microsoft), Ngnix, Apache etc.. You are not using a web server from what I read, so can't really set the header. Most people use a web server to deliver a web page. Sure you can do it from a local file, but I'm guessing that is blocked by chrome as default to be more secure. Sounds like a great loophole to download a "virus" if the security wasn't in place.

Rather than disable the security on chrome, it might be easier to add the correct header to the web server you are polling information from. Therefore Chrome will work just fine.

Speegs  
#7 Posted : Sunday, May 14, 2017 7:18:24 PM(UTC)
Speegs

Rank: Advanced Member

Groups: Registered
Joined: 8/3/2013(UTC)
Posts: 405
Location: Gold Coast, Australia

Thanks: 27 times
Was thanked: 76 time(s) in 58 post(s)
So the workaround you are looking for might involve setting up a web server, setting the correct Allow-Origin headers. Confirming it works outside Vmix without errors. Then just using it from within Vmix. Update your files as per normal and the web server should serve the files. Hope that works out.

Another workaround, maybe less elegant. Would be easy to do.

Run Chrome with the security disabled how you like it. Use desktop capture to bring that chrome instance in as a camera. Then you can just capture the pixels from your chrome configured how you like it rather than the "safe" configuration Vmix uses.
Longur  
#8 Posted : Friday, June 30, 2017 11:33:20 AM(UTC)
Longur

Rank: Member

Groups: Registered
Joined: 6/13/2017(UTC)
Posts: 25
Location: Vancouver

Thanks: 8 times
Was thanked: 1 time(s) in 1 post(s)
Did you ever find a workaround for this? I'm currently stuck in the same situation.
Users browsing this topic
Guest (4)
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.