IRC Log Viewer » #firebreath » 2013-01-28

IRC Nick Time (GMT-7) Message
Guest98628 00:01 i need to create that download video from web page and when download complete play that video automatically
amt 01:01 can we develop video render plugin using firebreath?
Wanno 06:01 Hi there, this is my first time using Firebreath (love the concept). I'd like to get it installed on my Windows 7 PC (VS Express, CMake, and Python 3.3 installed). I'm following the Windows setup video step-by-step and when I get the point where I have to run "python fbgen.py" I get the following error:
File "fbgen.py", line 48 print "Parent of %s is %s" % (dirName, parentDir) SntaxError: invalid syntax
the arrow is pointing the the 2nd quotation mark: "Parent of %s is %s"
jshanab_OSX 07:01 Wanno. Try python 2.7x Python 3.x is a different animal
Wanno 07:01 will do cheers :-)
Wanno 09:01 Unistalling Python 3.3 and installing Python 2.7 did the trick. Now I can continue with the setup. Huge thanks :-)
jshanab_OSX 09:01 NP
taxilian 09:01 amt: Many people have done video rendering plugins with firebreath
amt 09:01 taxilian: can you suggest a the right procedure to do so, I just want to know, how is the raw video out on html, Is it memcpy from source buffer to a buffer from fb window?
taxilian 09:01 depends on your platform
on windows you get either a HWND or a hDC, depending on whether you're windowed or windowless (you can control that)
we just blit a bitmap to the screen using windows drawing calls, but that doesn't perform as well as other options
people who are really concerned about performance usually use opengl or directx on windows
on Mac you can use CoreGraphics or CoreAnimation, including OpenGL CoreAnimation
amt 09:01 Is it as performing as the native video display (say google chrome rendering mp4, i mean only the rendering part). I also require other html tag to overlay on top of the video.
taxilian 09:01 Linux you can either use linux drawing stuff or opengl, though I don't personally have any experience using opengl on linux
amt 09:01 Would be doing on linux
taxilian 09:01 if you need it on linux I really can't help you
and no, it will probably not perform as well as the native video tag
because that likely is going to use hardware acceleration and to the best of my knowledge there is no way to use hardware acceleration on a windowless linux plugin; in point of fact, I don't actually know how to make windowless work on linux, and firebreath does not currently support it
though you're welcome to add support
if you want it to participate in the DOM zordering you need windowless
jshanab_OSX 09:01 I have a video player based on firebreath. My solution is to get an opengl context on each platform. Once I have that I draw a quad, attach a texture and update the texure with the video data. This lets me also draw a "control", another textured quad on top if necessary.
taxilian 09:01 however you can't layer html elements over your video that way
jshanab_OSX 09:01 No, not at all. My elements on top are opengl elements
amt 09:01 yeah, that the problem, Infact i want to overlay html over video, just like the native video playback.
taxilian 09:01 jshanab_OSX: even on windows?
oh, wait, sorry
jshanab_OSX 09:01 I did not see the Original post from amt. Ah.
taxilian 09:01 you're agreeing with me
:-P
misunderstood
amt: sorry, you can't use hardware acceleration, then
amt 09:01 That is ok, i just want it to be as good as native implimentation on chrome or firefox. I thaink they too do not use hardware acceleration, as html can be overlayed on their video surface.
jshanab_OSX 09:01 I tried the html overlay and ran into to many issues, so I feel back to opengl and just gritted my teeth when I wanted an icon. I just load them with tinyImage library and upload them to a texture. Since my video had to zoom and pan behind my control, it works out pretty good.
taxilian 09:01 amt: there is no way you'll possibly be as good as the native implementation on chrome or firefox
unlike you, they *can* use hardware acceleration and still layer things over the top
because they control the whole stack
jshanab_OSX 09:01 Trying to tap into that resulted in dissapearing context and black screens for me :-(
amt 09:01 Hmm, so only one option for me is to make my own mp4 muxer and use the native playback support :-(, or hack into their source an recompile the whole browser :-( :-(
jshanab_OSX 09:01 What exactly do you want to overlay on the video?
amt 09:01 lots of stuff, not fixed
lots of buttons, text if required, boxed, input ..
jshanab_OSX 10:01 There are lots of ways to render these to an image and put on a texture. input is fun but it just a wrapper around events and update of texture. We all ned a nice opengl widget library. :-) I have seen a few online
Maybe GLUI ?
amt 10:01 so any suggestions for a wrapper which can provide memory rendering (with rgba) for either mozilla or chrome on linux?
jshanab_OSX 10:01 "memory rendering" ?
amt 10:01 not rendering to video memory, but to a background memory buffer
awesomium is one, but not really maintained.
taxilian: as you said there were other video plugin, were they usable? hopefully not a performance hit for rendering 720p frames at 20-30fps?
jshanab_OSX 10:01 amt. I have not tested with 720p in a while because my focus is security cameras 720x480 at 10 fps, but I do put 10 or more a page.
taxilian 10:01 amt: I've used plugins that rendered 1080p at 30fps
but they didn't do windowless
amt 10:01 windowless means no native window is used and hence html overlay can be done?
jshanab_OSX 10:01 In windows windowed gives you a handle to a window windowsless gives you a handle to a drawing context. But I discovered windows 7 can do a shallow copy without changing the window handle and reset the winproc.
Mac is windowless,
Linux is windowed and windowless but the windowed creates a drawing context already, even though you get the handle to the window, it already has a drawing context.
amt 10:01 ok,
Since i can not get that free access as native implimentation has, Ill try with mp4 conatiner (already done 80%, but was stuck at getting SPS from codec),
it that does not work, Ill try lookin in detail some video plugins, like vlc, totem and see what they are doing and do the same. hope it works
taxilian: Thanks for the info that native video rendering is 'quite' native, good or bad, thats what i wanted to know before starting in depth with fb.