What c++ lib for codecs and video

A place for Ogre users to discuss non-Ogre subjects with friends from the community.
User avatar
madmarx
OGRE Expert User
OGRE Expert User
Posts: 1671
Joined: Mon Jan 21, 2008 10:26 pm
x 50

What c++ lib for codecs and video

Post by madmarx »

I am trying to read mpeg 4 video & things like that over the internet in c++.
It seems extremely hard to find something that work with a meaningfull documentation. Either to do the RTSP, or to do the H264 decoding part.

Directshow is a kind of tentacular absurdity when it comes to its msdn documentation..
Live555 does not decode things, just forward them...

And apparently, under windows, everybody is using VLC code (under the GPL), even microsoft' MVPs recommend it.

Do you know anything that work (even commercial) for decoding h264 buffers in c++, and for rtsp communication ?

As a 'side rant', I am amazed that many standards are so stupidly complicated that there are no working full implementation for them (like x3d, collada, mpeg2 -it is supposed to support multiview -, even svg).

Pierre
Tutorials + Ogre searchable API + more for Ogre1.7 : http://sourceforge.net/projects/so3dtools/
Corresponding thread : http://www.ogre3d.org/forums/viewtopic. ... 93&start=0
User avatar
tuan kuranes
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2653
Joined: Wed Sep 24, 2003 8:07 am
Location: Haute Garonne, France
x 4

Re: What c++ lib for codecs and video

Post by tuan kuranes »

I used ffmpeg lib several times successfully, very easy to use (harder to compile though, but perhaps it has changed since)
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: What c++ lib for codecs and video

Post by dermont »

Maybe take a look at GStreamer and rtspsrc / rtph264depay / ffdec_mpeg4.

http://gstreamer.freedesktop.org/data/d ... spsrc.html

http://gstreamer.freedesktop.org/docume ... ugins.html

There is also a gst-rtsp-server for GStreamer with a number of examples including examples/test-video.c.

You can quickly test your pipelines using gst-launch rtspsrc ... or gst-launch-0.10 -v playbin2 ...

GStreamer is in C but you can easily integrate it into your C++ project, there is an example on the wiki.

GStreamer rocks.
Last edited by dermont on Wed Apr 20, 2011 8:53 am, edited 1 time in total.
jonim8or
Goblin
Posts: 287
Joined: Mon Dec 08, 2008 4:49 pm
x 10

Re: What c++ lib for codecs and video

Post by jonim8or »

I'm using webm (mainly due to the permissive license)
http://www.webmproject.org/
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 538

Re: What c++ lib for codecs and video

Post by Kojack »

I tried gstreamer once, but it seemed a bit too large and confusing (the sdk comes as 105 libs and 1377 headers). Maybe it can be cut down, but in the end I gave up (at least for now).

I've found the easiest to use is Video For Windows. Ancient (since before DirectShow), but incredibly easy to use and it still works in win 7. I could never get good codec support on it though, just really primitive ones.
User avatar
madmarx
OGRE Expert User
OGRE Expert User
Posts: 1671
Joined: Mon Jan 21, 2008 10:26 pm
x 50

Re: What c++ lib for codecs and video

Post by madmarx »

Ok :) , thanks to all of you for these answers.
Tutorials + Ogre searchable API + more for Ogre1.7 : http://sourceforge.net/projects/so3dtools/
Corresponding thread : http://www.ogre3d.org/forums/viewtopic. ... 93&start=0