Kodi Community Forum
Web Browser integrated into XBMC - HTML Layout Engine with a GUI embedded into XBMC? - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Discussions (https://forum.kodi.tv/forumdisplay.php?fid=222)
+--- Forum: Feature Requests (https://forum.kodi.tv/forumdisplay.php?fid=9)
+--- Thread: Web Browser integrated into XBMC - HTML Layout Engine with a GUI embedded into XBMC? (/showthread.php?tid=25)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24


- ubuntuf4n - 2010-11-22

At least not an official (xbmc) one, afaik.


- HenryFord - 2010-11-22

The devs made a clear statement to this one: There will be no official XBMC Webbrowser since this is just designed to be a media-center, not a fully functional OS.
I am pretty sure that someday there will be an add-on for this one, but this could take a while...


- hotlobster - 2010-11-22

Quote:There will be no official XBMC Webbrowser since this is just designed to be a media-center

If you consider web as not be a media. For me it is. Wink

Anyway, you can already achieve this if you want, using executor plugin or web browser plugin.

It will open your browser ( Firefox, webkit ... ) in front of xbmc. Xbmc will deactivate keyboard/mouse/remote control while it stays on the background.
When you close the brower, xbmc come back on the foreground.

That's a not perfect but efficient solution.


- topfs2 - 2010-11-22

hotlobster Wrote:If you consider web as not be a media. For me it is. Wink

Web has media noone argues about that, a web browser on the other hand has nothing to do with that. That argument is like saying windows is music, it certainly is a subset of it but not entirely true.

Getting media from the web in a nice fashion doesn't necessarily need a browser, which is the teams stand for the most part. When binary addons is true a webbrowser addon is probably possible for those willing to code though.

Cheers,
Tobias


- grassmunk - 2010-11-24

I think what would be really interesting is adding support for 50ft website interfaces that are popping up.

- Youtube Leanback - http://www.youtube.com/leanback
- Vimeo Couchmode - http://www.vimeo.com/couchmode

But as always you need a mouse or something like this Lenovo device to use it.


- scadden - 2010-11-24

A web browser would have been handy last night. I wanted to watch a program I miss on telly. It was been shown on TV3, an Irish TV station that hasn't much on it. I didn't want to watch it on my computer. So I have to wait until to night for the repeat.

The browser will be useful for websites that have something good on, now and again. But isn't good enough to make an xbmc app for.

I would like to control the browser, by using my laptop and pushing the url to xbmc.


- thefourthdoctor - 2010-11-28

scadden Wrote:The browser will be useful for websites that have something good on, now and again. But isn't good enough to make an xbmc app for.

I second that. It also neatly sidesteps the arms-race with those apps (constantly updating them as a result of the web sites making breaking changes). I was trying to create an app for CBC programs but couldn't invest the time to learn how to get the streams. Now I'm looking at using a browser plugin plus a custom page with big links to CBC and other sites that I'm interested in and I'll just watch the streams from there. So, while I agree that we don't want to start extending XBMC beyond media, I'd say web browsing is close enough that it warrants inclusion.


- Soju - 2010-11-28

+1

The browser is the silver bullet for web content on set tops. Long term there just isn't a viable alternative method- what's Hulu et al going to do... block Firefox or Chrome?


- topfs2 - 2010-11-28

Soju Wrote:+1

The browser is the silver bullet for web content on set tops. Long term there just isn't a viable alternative method- what's Hulu et al going to do... block Firefox or Chrome?

They block on IP and user-agent, nothing of that means browser. XBMC can stream as a plugin but set user agent as chrome and they can't see it so no, browser is NOT required in regards to that argument.

However, I strongly believe we shouldn't need to do user-agent tricks, they should learn to accept it Smile


- thefourthdoctor - 2010-11-29

Ideally yes, but until the day comes when big content sees the light, a simple browser-type plugin is the an acceptable stopgap. Anything that the XBMC team can do to make things easier in that regard (e.g. integrate a light-weight/stripped-down browser that can handle flash video) would be welcome.


- topfs2 - 2010-11-29

I dont think you realize how hard it is to make a "little" browser plugin.... Its easier to make hundreds of plugins probably than to make a proper webbrowser plugin.

If anyone wants to make one we would for sure add it to the repo if its good.


- thefourthdoctor - 2010-11-29

topfs2 Wrote:I dont think you realize how hard it is to make a "little" browser plugin.... Its easier to make hundreds of plugins probably than to make a proper webbrowser plugin.

If anyone wants to make one we would for sure add it to the repo if its good.

You're right - I have no idea how easy/hard it is. I was thinking along the lines of just adapting something like webkit and figured it probably wouldn't be too different than using the webbrowser control in Windows. But maybe it isn't that simple. If it's too hard, it's too hard.

The other option is to develop a framework that does most of the heavy lifting in getting these website streams. Something that others could adapt to individual sites without having to figure out all of the intricacies of RTMP.

Though, as I said earlier, using something like the launcher with firefox is a decent stop-gap. I was more reacting to the comment that a browser didn't belong in a media player. I'm not entirely sure that's true.


- Temar - 2010-11-29

thefourthdoctor Wrote:You're right - I have no idea how easy/hard it is. I was thinking along the lines of just adapting something like webkit and figured it probably wouldn't be too different than using the webbrowser control in Windows. But maybe it isn't that simple. If it's too hard, it's too hard.

I was looking into this. The main problem is that you need a widget library (something that draws buttons, checkboxes, input fields, etc.) which is plattform independent. Of course there are some libraries like i.e. Qt, but these libraries have a lot of dependencies, which always is a bad thing.

As the XBMC developers probably won't accept anything that pulls in a lot of dependencies, I was looking into the rendering engine Berkelium, which is based on Google Chrome. This seems like a very nice solution at the first look, but it has some shortcomings which need to be addressed. First of all it is very slow. Rendering the browser into a texture and then displaying the texture gives you a delay for all your inputs which is at the least very annoying.

Still I thought it would be worth a try, so I made some local tests with non-XBMC code to see how the whole thing could work out when rendered directly into a OpenGL window. Overall it seems possible to implement a browser on that engine but still there are lots of things that need to be implemented. As the main goal should be to be able to navigate webpages with your remote, you have to find a way to jump from one widget (input field, button,...) to the next one and also be able to navigate the page when there are no widgets. I thought about implementing it like the Android web browser where you can navigate the page with your scroll wheel by jumping from one widget to the next one.

Navigating the page when there are no widgets at all is actually the easy part, as you can just send normal mouse-scroll-wheel events. Navigating the page by jumping from one widget to the next one is hard, as it requires Javascript code with hooks that link back to your C++ source. Implementing and testing this could take a long time.

However the first version of the browser could just require a mouse, so that there is at least a browser available. So I started looking at the XBMC code to find the optimal solution to implement a widget which can load its texture from memory (the browser window). I got kind of stuck and asked for some advice on the forums but did not get any answer. Since then I didn't have the time to do my own experiments.

Quote:I was more reacting to the comment that a browser didn't belong in a media player. I'm not entirely sure that's true.

I totally agree with you, a browser would be a great thing to have. The Firefox solution is not very nice at all.


- topfs2 - 2010-11-29

As stated here, we don't want it in core if it has huge dependencies. However if its an addon we really don't care Smile If anyone could make an addon that did it that would be awesome and we could use it. We are still missing some extention points to make it perfect though, i.e. it is possible to render an image in a script but streaming changing ones (i.e. updating fast for scroll and such) isn't really. You can probably work around it but it wouldn't be perfect.

Also a webbrowser addon probably needs to be binary which we hopefully will add for eden.


- Temar - 2010-11-29

topfs2 Wrote:Also a webbrowser addon probably needs to be binary which we hopefully will add for eden.

That's why I started implementing it as a core feature. I knew that it would probably not be accepted but it was mainly a project for myself anyway. I didn't realize that there is such a huge demand until I stumbled upon this thread.

As I'm not much of a python developer I certainly will not write an addon until binary addons are implemented. I might finish my core implementation though if I find an elegant solution for the rendering problem.