Video Programming


MarkoeZ

arr matey?
Joined
May 21, 2008
Messages
1,183
Age
44
Website
projectinfinity.org.uk
Hey guys and girls, in another topic i was brainstorming, and i thought it deserved it's own thread.


First the quote from the other topic, that about explains it all:

....
Hope that the parts arrive before the end of June. Got a VJ show then, and im thinking about writing a little program that plays video's, and uses the touchscreen x/y values for live adjusting of the framerate (from pause till hyperrr) and some other variable, dunno yet.


Anyone have ideas on how to implement this? I'm using c++ and hardly did any video programming before, only a resolume plugin. So if there are any good libraries, or links to information, that would be welcome. If not, i will figure it out probably, usually do, just might save some time And i don't mind converting the clips i use on the pandora into a particular format, i'd still be using my main pc with resolume for the main output, it's more for an extra output to mess with, and just general coolness ofcourse


hmm, was typing while thinking, and i'll start a separate thread for the paragraph above, but wanted to tell why im anxious


Looking forward to the pm!


MarkoeZ

So main question, what would be the best road if i want to display an avi and adjust the framerate live. Use mplayer/external lib/anything?? No sound, not needed.


Cheers!
 
Last edited by a moderator:
Excellent, been reading through the docs, and i think that's exactly what i need.


Thanks guys :)


And if i get anything in a usable state, i'll post it here.


Cheers!
 
hmm ok, trying to get something to compile, i wanted to start with the helloworld code. But ofcourse the pandora needs the lib first.


But when i do: sudo opkg install gstreamer


I get 5 errors: failed to open //usr/lib/opkg/info/libproxy.list: No such blabla


failed to open //usr/lib/opkg/info/libsoup-gnome-2.4-1.list


failed to open //usr/lib/opkg/info/libgles-omap3-rawdemos.list


failed to open //usr/lib/opkg/info/popplers.list


failed to open //usr/lib/opkg/info/pandora-lcd-state.list


This is the first time i'm trying to use libs that are not installed on the pandora yet, so all new to me :S


help?
 
Last edited by a moderator:
hmm ok, trying to get something to compile, i wanted to start with the helloworld code. But ofcourse the pandora needs the lib first.


But when i do: sudo opkg install gstreamer


I get 5 errors: failed to open //usr/lib/opkg/info/libproxy.list: No such blabla


failed to open //usr/lib/opkg/info/libsoup-gnome-2.4-1.list


failed to open //usr/lib/opkg/info/libgles-omap3-rawdemos.list


failed to open //usr/lib/opkg/info/popplers.list


failed to open //usr/lib/opkg/info/pandora-lcd-state.list


This is the first time i'm trying to use libs that are not installed on the pandora yet, so all new to me :S


help?
I don't have a pandora so I can't try.


Have you made sure to update your repository lists and such? More details here.


Other than that, I don't really know, the leading double forward slash looks a bit off, not sure what that is about.
 
hmm ok, trying to get something to compile, i wanted to start with the helloworld code. But ofcourse the pandora needs the lib first.


But when i do: sudo opkg install gstreamer


I get 5 errors: failed to open //usr/lib/opkg/info/libproxy.list: No such blabla


failed to open //usr/lib/opkg/info/libsoup-gnome-2.4-1.list


failed to open //usr/lib/opkg/info/libgles-omap3-rawdemos.list


failed to open //usr/lib/opkg/info/popplers.list


failed to open //usr/lib/opkg/info/pandora-lcd-state.list


This is the first time i'm trying to use libs that are not installed on the pandora yet, so all new to me :S


help?
I don't have a pandora so I can't try.


Have you made sure to update your repository lists and such? More details here.


Other than that, I don't really know, the leading double forward slash looks a bit off, not sure what that is about.

Ok, im in linux hell now.


Pakage seems installed, but when i try: gcc -Wall $(pkg-config --cflags --libs gstreamer-0.10) helloworld.c -o helloworld


it gives me an error telling tht the package gstreamer-0.10 is not found in the pkg-config search path. Also, i can't find a gstreamer.pc file, and the headers are not installed. Now i can get the gst.h files. but where to install them then... oh man, i love linux....


p.s. i tried searching, but every article assumes the user has extensive linux knowledge, and i, well, dont


Update: tried to build gstreamer from source, but now it's complaining about glib-genmarshal not being available. Sigh
 
Last edited by a moderator:
Did you also install the gstreamer-dev package? It seems you are missing the gstreamer configuration for pkg-config, not gstreamer itself.


You can try searching using find. For example, to search the /usr branch for gstreamer.pc type: "find /usr -name gstreamer.pc".


Breathe in... breathe out... I know this can be somewhat frustrating (I've been trying to compile Qt 4.7 for pandora for most of yesterday), but in the end it's almost always simpler than one fears. After you find out what was wrong.
 
Aaahh, thanks for your patience man, getting gstreamer-dev did the trick.


But found loads of interesting pages while i was looking in completely the wrong direction, that will be of use when porting other stuff ;)


But i now have a working commandline audio player that i can hack away at, so only have to convert it to video, add loader, add controls, add framerate, add... well you get it, the fun stuff :D


Thanks again, and Cheers!
 
Great that you got it working :) . GStreamer is one great tool to learn, the only thing I don't like about it is the GObject system, but for what it does it's the best B) . I recommend trying components out with gst-launch, it's a very nice command line gstreamer pipeline tool. Awesome for general usage too. There's also a graphical version available IIRC. Have fun!
 
I am hoping I can get FreeJ or perhaps Puredata (and pdp/pidip .. possibly GEM with GLES?) ported in the future.


The developer of FreeJ at least showed great interest in the Pandora. So who knows! :D
 
I am hoping I can get FreeJ or perhaps Puredata (and pdp/pidip .. possibly GEM with GLES?) ported in the future.


The developer of FreeJ at least showed great interest in the Pandora. So who knows! :D

Hmm looking at FreeJ, and although it seems quite useful, i doubt the pandora has the processing power to live mix 2 or more video's (with optional effects?) without hardware acceleration. I see only SDL dependencies in the documentation so im guessing only software processing on the cpu at his point.


The line below in particular worries me (quote from the freej site):

FreeJ has started being developed on a dual-core CPU already in 2001 and has grown with emphasis on multi-threading to run efficiently on modern multi-core computers.

BUT (!!) i am kind of a noob in this field (programming/porting video software that is, pretty decent VJ i think : ) so don't mind at all if im proved completely wrong and have some more nice software to work with :)


Cheers,


MarkoeZ


p.s. found some more gstreamer example source code, hacked around a bit, now got a command line avi player that plays avi files of various formats (not all ofc, depending on codecs installed), and hacked out the the audio, giving a slight performance boost. Next up: figuring out how to alter the framerate of the live playing video


p.p.s. tried a quick compile of freej on the pandora, and it does an architecture check somewhere (that fails, because armv7l is not a known architecture)


Too many projects atm to dive into another source though, time...
 
Last edited by a moderator:
Is there a way to use gstreamer visualisations from linux commandline with mplayer? I notice the pandora has a program called gst-visualise-0.10, and I wanted to use the monoscope visualisation when I listen to music.
 
Back
Top