Page 1 of 1

Introducing myself and already asking a question :)

Posted: Sun Jul 24, 2011 9:30 pm
by adilson
Hello all

My name is Adilson Oliveira, currently working for Canonical (of Ubuntu fame) as a technical account manager. As a way to keep my coding skills from rusting, I've decided to learn a new language, Lua. Looking for more information about the language landed me here and I am amazed by Löve.
Imediatelly, I tought about using it to scratch an itch I have for quite some time: the lack of a good-looking mame frontend for Linux but there's one missing piece (or at least I think it's missing as I can't find it) that I need for my project: is there any way to play videos inside a Löve application?
Thanks in advance.

Adilson.

Re: Introducing myself and already asking a question :)

Posted: Sun Jul 24, 2011 9:32 pm
by bartbes
Unfortunately it's impossible for us at the moment to implement video playback without adding dependencies the size of emacs.

Re: Introducing myself and already asking a question :)

Posted: Sun Jul 24, 2011 11:54 pm
by adilson
I don't know if this makes any sense but I was able to do it easily in SDL using libvlc and the dependencies were minimal.

Re: Introducing myself and already asking a question :)

Posted: Tue Jul 26, 2011 8:03 am
by Taehl
Technically, you could convert your video's frames to individual images, load them in Love, then flip through them while playing your video's audio. This isn't a terribly good solution, however, and gets worse the longer the video is. A better idea would be to recreate the video in Love itself, if at all possible.

Re: Introducing myself and already asking a question :)

Posted: Tue Jul 26, 2011 9:46 am
by nevon
Taehl wrote:Technically, you could convert your video's frames to individual images, load them in Love, then flip through them while playing your video's audio.
Imagine loading 30 seconds of 800x600 video (padded to 1024x1024) at 30 frames per second into memory.

Re: Introducing myself and already asking a question :)

Posted: Wed Jul 27, 2011 12:35 am
by Jasoco
Pretend it's the 90's and make sure the "video" frames are only the size of a postage stamp blown up to 4x and padded with an ugly green border. Don't forget to index the colors to less than 16 Windows compatible colors for each frame and make sure it's only 15 frames per second.

Then you'll be good to go. :joker:

Re: Introducing myself and already asking a question :)

Posted: Tue Aug 09, 2011 2:36 am
by LuaWeaver
nevon wrote:
Taehl wrote:Technically, you could convert your video's frames to individual images, load them in Love, then flip through them while playing your video's audio.
Imagine loading 30 seconds of 800x600 video (padded to 1024x1024) at 30 frames per second into memory.
DAHHH! THE LAG!

Re: Introducing myself and already asking a question :)

Posted: Tue Aug 09, 2011 7:40 am
by T-Bone
I guess the best way would be to have a sort of add-on system for LÖVE. So that when you distribute your game, you would distribute LÖVE, your .love file and whatever add-ons your project uses, like video playback. The video player might be pretty large if it were to contain everything it would need in binary, but that wouldn't be a big issue as long as it wasn't forced into LÖVE games that doesn't use it.

Also, on the subject of loading every frame as a picture and displaying it, don't worry about performance, we'll just use AnAL :crazy:

Re: Introducing myself and already asking a question :)

Posted: Tue Aug 09, 2011 4:51 pm
by TechnoCat
T-Bone wrote:I guess the best way would be to have a sort of add-on system for LÖVE. So that when you distribute your game, you would distribute LÖVE, your .love file and whatever add-ons your project uses, like video playback. The video player might be pretty large if it were to contain everything it would need in binary, but that wouldn't be a big issue as long as it wasn't forced into LÖVE games that doesn't use it.

Also, on the subject of loading every frame as a picture and displaying it, don't worry about performance, we'll just use AnAL :crazy:
You can already do this. It just requires you to distribute each library compiled for each OS.