• 1
  • 15
  • 16
  • 17(current)
  • 18
  • 19
  • 24
Web Browser integrated into XBMC - HTML Layout Engine with a GUI embedded into XBMC?
Doing in core as a patch is probably a sane starting point at any rate, chances are you can reuse most of it when you move it to an addon later Smile Might help us identify what you need in the addon interface also. So, a bit more work now to get it cleaner later, always the better approach IMO.
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
Temar Wrote: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.

Out of curiosity, how large is the delay?
Reply
maruchan Wrote:Out of curiosity, how large is the delay?

Depends on what you do: 500ms-2000ms. It is most annoying when entering text into an input field.

However I have to add the following: Part of the huge delay is probably due to a bug in berkelium. For all my tests I used the pre-compiled packages and these packages seemed to have a problem with my setup as they used 100% of my CPU most of the time. This should not be the case and can probably be fixed by recompiling the package. However as I only wanted to test basic navigation and the loading of web pages, I never bothered with recompiling the libraries.

Overall the library works quite well (at least on Linux) but you can still see that it is in an early stage of development. Nevertheless I like the concept of Berkelium as you don't really have to bother with any widget libraries. It is a nice concept with a good rendering engine. Basically it fits perfect for XBMC. The only drawback is that it only supports flash content atm. Other browser plugins are not (yet) supported and maybe they never will.
Reply
What happened to motd2k's work here:

http://forum.xbmc.org/showthread.php?tid=55093

Did it just die?

Sounds like there was at least a beginning there...

-Wes
Reply
Hi all,

Strangely I was looking to do this myself too. Maybe we could all band together?

I've already started looking into embedding Gecko/Firefox. Waiting on a message post at the Mozilla forums to see what their opinion was. The obvious main issue is how to interact with the user. We'll want similar functionality to a mobile browser such as skipping between form fields using direction keys, mouse wheel scrolling, virtual keryboard when hitting select on a text field etc.

In addition to that must really be a book mark managing system also. Preferably a way to get them onto the Programs list. E.g. Google Search would actually load the web browser full screen and open that book mark. Not sure how best to do this, only just started looking at XBMC plugin development.

I need to understand for myself how to draw a pane into the XBMC interface. I'm still working through the plugin docs so hopefully it will be in there. If not, I'll figure it out and add it in myself. Big Grin

It looks like previous efforts have stalled due to people not maintaining them, or people not using them because they're not the 'best' solution. (WebBrowser plug in doesn't work on my system installed using the LiveCD install to disk option, for example).

If we get enough people together and host the project somewhere perhaps we'll be able to keep it going.

What do we think?

Serp.
Reply
waldo22 Wrote:What happened to motd2k's work here:

http://forum.xbmc.org/showthread.php?tid=55093

Well, I didn't really know it existed. As I said, I mainly started my project for myself.


serp Wrote:Strangely I was looking to do this myself too. Maybe we could all band together?

Sounds like a very good idea.

Quote:I've already started looking into embedding Gecko/Firefox. Waiting on a message post at the Mozilla forums to see what their opinion was. The obvious main issue is how to interact with the user. We'll want similar functionality to a mobile browser such as skipping between form fields using direction keys, mouse wheel scrolling, virtual keryboard when hitting select on a text field etc.

Well, the biggest issue I see with Firefox, is that you need to draw the browser window into an OpenGL texture to get a real smooth XBMC integration. How did you plan to solve that problem?

Quote:In addition to that must really be a book mark managing system also.

I wanted to do it similar to apple safari or the "FastDial" firefox extension. As people will probably not use that browser for their daily browsing, a few bookmarks (which can easily selected with the remote) should be enough. I think Opera has such a system too where you see some thumbnails of your favourite pages in the main browser window.

Quote:If we get enough people together and host the project somewhere perhaps we'll be able to keep it going.

What do we think?

I think that is a very goog idea. However we should first think about how to solve the integration problem. I do not prefer any browser engine so I'm perfectly fine with firefox. Still I think it is probably quite hard to render the firefox browser window into an OpenGL texture. Especially when it comes to plugins.
Reply
To render firefox stuff in gl you can use XULRunner, but I would recommend going for webkit instead. Overall webkit is the better solution and is usually easier to bundle (less strict dependencies). webkit however is usually very coupled with the dependencies it has (unless you build it yourself, in which case you could use xbmc vfs and such but it would probably be a huge undertaking) i.e. Qt, GTK, efl etc.
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
topfs2 Wrote:To render firefox stuff in gl you can use XULRunner, but I would recommend going for webkit instead. Overall webkit is the better solution and is usually easier to bundle (less strict dependencies). webkit however is usually very coupled with the dependencies it has (unless you build it yourself, in which case you could use xbmc vfs and such but it would probably be a huge undertaking) i.e. Qt, GTK, efl etc.

Hmm, from this post it seems that a proper integration of Webkit would need porting of a widget library first. If this is the case, Berkelium would be the much better choice to get results soon. Porting the widget library is a big task for itself. I'm not sure if I can spend that much time in the near future. For me the whole project started out to get fast results which integrate nicely into XBMC.

Supporting a widget library in XBMC is probably the best implementation you can get, however this would mean we are months away from a first working browser version.
Reply
Yeah, which is why I said its a huge task Smile

Still, Qt could get it running fast but would have giant dependencies, which is probably "fine" for addons but not core.
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
The main issues I see with Berkelium are that it lacks Javascript bindings and only supports Flash at the moment. While Flash video comprises most of the video on the web, it would be great to have Silverlight support so we could have a functioning Netflix plugin.

Also, does anyone have an idea of how Boxee deals with fullscreening? From what I've seen with the Boxee Box, you're often required to use a mouse to hit the 'fullscreen' button on the player, however in the PC versions it has some sort of automated "Zoom" functionality that detects where the embedded player is and crops/re-sizes the texture to fit fullscreen.
Reply
maruchan Wrote:The main issues I see with Berkelium are that it lacks Javascript bindings...

What do you mean by JS bindings? JS bindings in the sense of event bindings or bindings in the sense of callbacks to the C++ code? At least the latter seems to be supported.

Quote:...and only supports Flash at the moment.

That indeed is a disadvantage. For me however the main concern is how fast a working version can be implemented. I really don't care if we use firefox, webkit or any other library. The problem is that projects which require huge prerequisites mostly never get finished because people tend to underestimate the amount of work required. That's why I would prefer a library which allows us to concentrate on the main feature (the browser) and the integration into XBMC.

I asked motd2k in the other thread if we can get our hands on his source code, as he already has a more or less working version of a webkit implementation.
Reply
I mentioned this in another thread. Last I checked, berkelium is a heavily modified version of Google chrome. To use it requires shipping the entire binary (all of google chrome) plus it's own version of ffmpeg libs. This is a major reason why using an implementation of webkit from one of the widget libraries like Qt or GTK is better.

One can search for llqtwebkit to see how to use qtwebkit inside an opengl app like xbmc. What I think should be done is implement support for Qt widgets inside xbmc. Then implementing a qtwebkit widget (a web browser) should be easy.

Implementing support for Qt widgets is not a trivial task however.
Reply
ceros Wrote:What I think should be done is implement support for Qt widgets inside xbmc. Then implementing a qtwebkit widget (a web browser) should be easy.

I totally agree with you, that this would be the best solution. However, speaking for myself only, I do not have that amount of time available. I'm in between jobs atm, so I have some time for a little project, but as soon as I start my new job things will look different. Overall it makes no sense for me to start such a huge project as I already know that I will probably never finish it.

So if anyone wants to take a lead on that project, I'm willing to help but I will probably drop off halfway (or at least won't be able to contribute that much).
Reply
I think the Boxee browser would be a good start. How do they do it?
Reply
FishOil Wrote:I think the Boxee browser would be a good start. How do they do it?

As far as I'm aware, their implementation is closed source.
Reply
  • 1
  • 15
  • 16
  • 17(current)
  • 18
  • 19
  • 24

Logout Mark Read Team Forum Stats Members Help
Web Browser integrated into XBMC - HTML Layout Engine with a GUI embedded into XBMC?2