vMix Forums
»
General
»
General Discussion
»
Web Browser Input: Overriding Same-Origin Policy?
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!
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,721 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
|
1 user thanked DWAM for this useful post.
|
|
|
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.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,721 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.
|
|
|
|
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.
|
|
|
|
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-OriginLook 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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
vMix Forums
»
General
»
General Discussion
»
Web Browser Input: Overriding Same-Origin Policy?
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.
Important Information:
The vMix Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close