[gst-devel] Is gstreamer what I need?
Ken Seehart
ken at seehart.com
Thu Apr 26 22:16:17 CEST 2007
Sayamindu Dasgupta wrote:
> Hi,
> I am a bit busy this week (I have a project deadline on the 1st of
> May) - however, I have some experience with at least a part of what
> you are trying. See inline for the rest of my mails:
>
Well, I can wait till around March 7. I really want to find someone who
is completely confident that all of these requirements are trivial
(including multi-platform) and can be done in a week. Obviously this is
impossible unless there is an easy to use library that already has
everything, or a person who already has 90% of the job done already.
Unfortunately, I don't have time for research.
>
> On 4/26/07, Ken Seehart <ken at seehart.com> wrote:
>>
>> BTW, if it would help, I can post a $2000 bounty on a wxPython
>> application
>> that demonstrates the functionality listed below by May 1, 2007. The
>> result
>> would be open source. If you are interested, I can provide you with a
>> simple wxPython demo application that displays video from a frame buffer
>> connected to VideoCapture (a Windows-only webcam capture library). My
>> wxPython demo app could easily be made to display any flat RGB frame
>> buffer,
>> so you don't need to worry about GUI development. If that schedule
>> is a bit
>> tight, we can negotiate a little.
>>
>> Anyone interested?
>>
>> - Ken Seehart
>>
>> Ken Seehart wrote:
>> What I need :
>>
>> - multi-platform (Linux, Windows, Mac OSX)
>
> I would recommend GTK+, basically for the reason, you'll get tons of
> code out there in the web - showing how to bind together Gstreamer and
> GTK+. I could find only one wxWidgets based Gstreamer application.
> GTK+ is cross platform, and has a pretty large developer community
> behind it.
>
For various reasons not related to video, we've already committed to
wxPython (wxWidgets). Video/streaming is only one small part of our
application. Also, I don't think there will be much complexity in the
interaction between GUI and video streaming (even at first glance it
would seem otherwise). Basically, I already have the ability to display
video if something puts video data in a frame buffer. So really GUI
implementation is trivial.
>
>> - python bindings
>
> Bindings for (your application/framework - or for the libraries) ?
Python bindings for the audio/video streaming library.
>
>> - streaming download from our server to our client (I need to
>> develop both
>> the client and the server)
>
> I would recommend that you take advantage of already existing Open
> Source Software to do this - use Icecast (version 2 is capable of
> streaming Theora video), along with a custom made Icecast "source"
> (the program which actually captures and encodes the video).
> Any client capable of playing Theora streams would be able to handle
> the Icecast stream - if you want a custom developed client - that can
> also be easily done.
> For a icecast source, take a look at a hobby project of mine
> (developed in C) at
> http://sayamindu.randomink.org/ramblings/hippopotamus/
Thanks, I will take a look.
>
>> - simple audio/video conferencing (one source to many viewers)
>
> Do you mean broadcast ? Or to be clear - will the viewers be also
> participating (ie, speaking to the main speaker) in the conference ?
All viewers will be speaking. Alternatively, the main speaker can pass
a mike around so only one viewer can speak at a time.
>
>> - ability to play videos (only need one format, and it doesn't
>> matter which
>> one)
>
> Easily done.
>
>
>> - ability to go to a specified time index during video playback (to
>> within
>> a 500ms)
>
> In a streaming video ?
>
There are two use cases that pertain to streaming:
1. Streaming download of a video from a library. The user should be
able to queue to a time index in either an already downloaded video or a
video that is in the process of being downloaded. It would be very nice
if these cases were not handled separately by the library. A streaming
video is really just a video that is in the process of being downloaded.
2. Video conferencing. In this case, jumping to a time index is not
relevant.
It would be a nice extra bonus if the video conference could be recorded
by the client. If so, cases 1 and 2 conceptually merge a little.
>
>> - ability to know the current time index during video playback (to
>> within a
>> 500ms)
>
> In a streaming video ?
>
>> - interface to webcam devices on all target platforms (Linux,
>> Windows, Mac
>> OSX)
>
> In Linux - it is easily done - however, in Windows and Mac OS X, it
> might be a problem. You may want to look at VLC as an alternative
> (http://wiki.videolan.org/PythonBinding).
>
bummer. Windows and Mac OSX are a requirement for me.
> The Windows binaries for Gstreamer is actively being developed and
> maintained by the Songbird developers (IIRC) - the URL is
> http://perso.orange.es/moutte983/gstreamer/
>
Thanks. I will take a look.
> Thank you,
> Sayamindu
>
>
More information about the gstreamer-devel
mailing list