Discussion on FarSight
Duncan Mac-Vicar P.
duncan at kde.org
Wed Jun 8 14:33:22 BST 2005
There is a discussion ongoing on farsight (gstreamer based) for Kopete.
I am passing this for whose are interested in discussion (which can also touch
other issues about a video framework for KDE for other apps, ie: kwintv)
I am mailing all possible interested people, as I am not of the multimedia
area, I am trying to coordinate efforts so we don't duplicate stuff or import
random libraries in Kopete tree (like libmimic). Whose interested can
subscribe to fasight-devel at sf.net.
Rob Taylor offered all his help on this. Taupter is already coding a video
framework / Kopete cfg module, Bille is interested in this stuff at a wider
level (desktop), and Engin have a GStreamer GUI wrappers (mail already posted
on KDE-Multimedia). Please forward this mail to those who are interested on
discussing this topic.
cheers
Duncan
Here is a copy of the informal talk that happened when Rob joined #kopete.
[08:51] <robtaylor> duncanmv: you wanted to chat gstreamer an qcelp?
[08:51] <domme> hello :)
[08:52] <duncanmv> robtaylor: what?
[08:52] <duncanmv> yes, we are evaluating farsight for our needs
[08:52] --> EricCartman has joined this channel. (~engin at EricCartman.user)
[08:53] <duncanmv> I think taupter (not here now) and Engin Aydogan, and Gof
are the guys to discuss this.
[08:53] <robtaylor> afaik, noone has written an open source qcelp codec. the
standard is available, and we should be able to mangle speex to fit the task,
given the information. thats kinda a seperate issue and we can work together
on that anyhow ;)
[08:53] <duncanmv> what is qcelp?
[08:53] <robtaylor> you probably dont want to reimplement gstreamer, thats
hard
[08:53] <duncanmv> we don't know nothing axcept we are not going to import
libmimic in our tree :-)
[08:54] <robtaylor> duncanmv: sorry. i miss read my logs
[08:54] <robtaylor> =)
[08:54] <robtaylor> (you'll need qcelp if you want to do ichat , you see ;))
[08:54] <duncanmv> we will have probably to use farsight, but at what point?
[08:54] <duncanmv> robtaylor: qcelp is AIM video encoding?
[08:55] <robtaylor> duncanmv: audio
[08:55] <domme> ah ok :)
[08:55] <duncanmv> robtaylor: well, we will need all of them at same point
[08:55] <domme> aim does support audiochat?
[08:55] <robtaylor> duncanmv: i'd like to see kopete as the first im app to
use farsight ;)
[08:55] <duncanmv> robtaylor: I tried to compile FS yesterday
[08:55] <robtaylor> duncanmv: probably borken in cvs atm
[08:55] <duncanmv> and it didn't compile because missing header #ifndef
THISHEADER_H #define THISHEADER_H #endif missings
[08:56] <robtaylor> =/
[08:56] <domme> duncanmv: what is farsight?
[08:56] <duncanmv> anyway, the problem of FS we don't know how much of it are
we forced to use
[08:56] <robtaylor> duncanmv: oh? which file?
[08:56] <duncanmv> farsight-plugin.h IIRC
[08:56] <domme> http://sourceforge.net/projects/farsight/ this?
[08:56] <duncanmv> yes
[08:57] <robtaylor> duncanmv: well, the interface is ridculously simple, and
i'd be happy to write a c++ wrapper ifyou want that
[08:57] <duncanmv> robtaylor: we probably want to use the codecs stuff, but
probably we want to do our own video4linux grabbing
[08:57] <robtaylor> why?
[08:57] <duncanmv> probably we want the codecs stuff, but we want to send the
data using KDE socket classes, etc
[08:57] <duncanmv> if you make FS flexible enough, sure we will use it.
[08:57] <robtaylor> why?
[08:57] <robtaylor> it uses gstreamer
[08:57] <robtaylor> thats fundamental
[08:58] <duncanmv> I said not sure, because it is not discussed yet ;-)
[08:58] <robtaylor> i dont see where you'd want to use kde socket classes =)
[08:58] <duncanmv> robtaylor: does it detect the video4linux device?
[08:58] <duncanmv> robtaylor: sending webcam?
[08:58] <robtaylor> duncanmv: farsight returns back a gst bin
[08:58] <duncanmv> what is a "bin"?
[08:58] <robtaylor> you then connect that up to your available devices
[08:59] <robtaylor> a partially constructed pipeline
[08:59] <duncanmv> robtaylor: taupter is coding a avdevice framework for
Kopete
[08:59] <duncanmv> right now it detects video4linux devices and have a config
module to configure it
[08:59] <robtaylor> to do what bit?
[08:59] <robtaylor> cool
[09:00] <-- Bille has left this server. (Remote closed the connection)
[09:00] <duncanmv> I think you can help him to integrate it with farsight
[09:00] <robtaylor> ok, well the bext way (i see) to do this is use your
avdevice framowork to choose the ciorrect gstreamer elements
[09:00] <duncanmv> and Engin Aydogan, have a Qt widget to show
farsight/gstreamer image
[09:00] <robtaylor> and connect it up to the bin returned by farsight
[09:00] <robtaylor> duncanmv: i've chatted to EricCartman a lot ;)
[09:01] <duncanmv> yes, with correct wrapping we can avoid mixing uggly glib C
code in Kopete
[09:01] <duncanmv> and keep it as a compile time / runtime dependancy
[09:01] <robtaylor> heh, yeah, we need some nice qtish wrappers for gstreamer.
[09:01] <duncanmv> robtaylor: do you use Kopete?
[09:01] <robtaylor> nope
[09:01] <duncanmv> gaim ;-)
[09:01] <robtaylor> for my sins
[09:01] --> Bille has joined this channel. (~wstephens at charybdis-ext.suse.de)
[09:01] <duncanmv> well, but are you interested in Kopete using farsight?
[09:02] <duncanmv> in that case I suggest you, Engin and Taupter, exchange a
couple of mails that help to make video roadmap more clear
[09:02] <robtaylor> i'm actually working on a nice desktop wide im framwork
for gnome at the meomtn, hopefully i can replace gaim. maybe you guys will be
inetrsted in it if it comes about :)
[09:02] <robtaylor> duncanmv: you're the closest to being able to use it
[09:03] <robtaylor> duncanmv: what timezone is taupter?
[09:03] <duncanmv> robtaylor: well, current Kopete avdevice could turn in a
framework which could moved to kdelibs later if we design it correctly
[09:03] <duncanmv> but fot that we will need your help
[09:03] <robtaylor> duncanmv: well, i beleive that gst 0.9 will have libs for
automatic device detection :/
[09:03] <duncanmv> Engin AYDOGAN <engin at bzzzt.biz>
[09:03] <duncanmv> and taupter is...
[09:04] <Bille> robtaylor: desktop wide IM framework eh? want to talk about
it? I work on same for KDE.
[09:04] <duncanmv> Cláudio da Silveira Pinheiro <taupter at gmail.com>
[09:05] <duncanmv> Bille: we are discussing the use of farsight in Kopete,
which requires gstreamer.
[09:05] <robtaylor> Bille: ooh :) very much so... see
http://farsight.sourceforge.net/convframework.dia
[09:05] <duncanmv> robtaylor: talk to Bille too, I hope you could so some kind
of mail exchange between you 4
[09:05] <Bille> duncanmv: i saw. not my area of expertise. but i'd be
interested in hearing how robtaylor is approaching the same problems we have
in kimproxy
[09:06] <robtaylor> Bille: if you dont have dia, i can convert to svg for you
[09:06] <robtaylor> Bille: the idea is to unify IM and voip
[09:06] <duncanmv> Bille: I am worried about tauper coding duplicate stuff,
and that probbably we will realize somemoment we will need to implement a
gstreamer clone ;-)
[09:07] <Bille> duncanmv: yes - and there is already equiv code in kwintv that
george staikos says is intended for kdelibs
[09:07] <robtaylor> duncanmv: a gstreamer clone would be silly indeed. its a
complictated task
[08:51] <robtaylor> duncanmv: you wanted to chat gstreamer an qcelp?
[08:51] <domme> hello :)
[08:52] <duncanmv> robtaylor: what?
[08:52] <duncanmv> yes, we are evaluating farsight for our needs
[08:52] --> EricCartman has joined this channel. (~engin at EricCartman.user)
[08:53] <duncanmv> I think taupter (not here now) and Engin Aydogan, and Gof
are the guys to discuss this.
[08:53] <robtaylor> afaik, noone has written an open source qcelp codec. the
standard is available, and we should be able to mangle speex to fit the task,
given the information. thats kinda a seperate issue and we can work together
on that anyhow ;)
[08:53] <duncanmv> what is qcelp?
[08:53] <robtaylor> you probably dont want to reimplement gstreamer, thats
hard
[08:53] <duncanmv> we don't know nothing axcept we are not going to import
libmimic in our tree :-)
[08:54] <robtaylor> duncanmv: sorry. i miss read my logs
[08:54] <robtaylor> =)
[08:54] <robtaylor> (you'll need qcelp if you want to do ichat , you see ;))
[08:54] <duncanmv> we will have probably to use farsight, but at what point?
[08:54] <duncanmv> robtaylor: qcelp is AIM video encoding?
[08:55] <robtaylor> duncanmv: audio
[08:55] <domme> ah ok :)
[08:55] <duncanmv> robtaylor: well, we will need all of them at same point
[08:55] <domme> aim does support audiochat?
[08:55] <robtaylor> duncanmv: i'd like to see kopete as the first im app to
use farsight ;)
[08:55] <duncanmv> robtaylor: I tried to compile FS yesterday
[08:55] <robtaylor> duncanmv: probably borken in cvs atm
[08:55] <duncanmv> and it didn't compile because missing header #ifndef
THISHEADER_H #define THISHEADER_H #endif missings
[08:56] <robtaylor> =/
[08:56] <domme> duncanmv: what is farsight?
[08:56] <duncanmv> anyway, the problem of FS we don't know how much of it are
we forced to use
[08:56] <robtaylor> duncanmv: oh? which file?
[08:56] <duncanmv> farsight-plugin.h IIRC
[08:56] <domme> http://sourceforge.net/projects/farsight/ this?
[08:56] <duncanmv> yes
[08:57] <robtaylor> duncanmv: well, the interface is ridculously simple, and
i'd be happy to write a c++ wrapper ifyou want that
[08:57] <duncanmv> robtaylor: we probably want to use the codecs stuff, but
probably we want to do our own video4linux grabbing
[08:57] <robtaylor> why?
[08:57] <duncanmv> probably we want the codecs stuff, but we want to send the
data using KDE socket classes, etc
[08:57] <duncanmv> if you make FS flexible enough, sure we will use it.
[08:57] <robtaylor> why?
[08:57] <robtaylor> it uses gstreamer
[08:57] <robtaylor> thats fundamental
[08:58] <duncanmv> I said not sure, because it is not discussed yet ;-)
[08:58] <robtaylor> i dont see where you'd want to use kde socket classes =)
[08:58] <duncanmv> robtaylor: does it detect the video4linux device?
[08:58] <duncanmv> robtaylor: sending webcam?
[08:58] <robtaylor> duncanmv: farsight returns back a gst bin
[08:58] <duncanmv> what is a "bin"?
[08:58] <robtaylor> you then connect that up to your available devices
[08:59] <robtaylor> a partially constructed pipeline
[08:59] <duncanmv> robtaylor: taupter is coding a avdevice framework for
Kopete
[08:59] <duncanmv> right now it detects video4linux devices and have a config
module to configure it
[08:59] <robtaylor> to do what bit?
[08:59] <robtaylor> cool
[09:00] <-- Bille has left this server. (Remote closed the connection)
[09:00] <duncanmv> I think you can help him to integrate it with farsight
[09:00] <robtaylor> ok, well the bext way (i see) to do this is use your
avdevice framowork to choose the ciorrect gstreamer elements
[09:00] <duncanmv> and Engin Aydogan, have a Qt widget to show
farsight/gstreamer image
[09:00] <robtaylor> and connect it up to the bin returned by farsight
[09:00] <robtaylor> duncanmv: i've chatted to EricCartman a lot ;)
[09:01] <duncanmv> yes, with correct wrapping we can avoid mixing uggly glib C
code in Kopete
[09:01] <duncanmv> and keep it as a compile time / runtime dependancy
[09:01] <robtaylor> heh, yeah, we need some nice qtish wrappers for gstreamer.
[09:01] <duncanmv> robtaylor: do you use Kopete?
[09:01] <robtaylor> nope
[09:01] <duncanmv> gaim ;-)
[09:01] <robtaylor> for my sins
[09:01] --> Bille has joined this channel. (~wstephens at charybdis-ext.suse.de)
[09:01] <duncanmv> well, but are you interested in Kopete using farsight?
[09:02] <duncanmv> in that case I suggest you, Engin and Taupter, exchange a
couple of mails that help to make video roadmap more clear
[09:02] <robtaylor> i'm actually working on a nice desktop wide im framwork
for gnome at the meomtn, hopefully i can replace gaim. maybe you guys will be
inetrsted in it if it comes about :)
[09:02] <robtaylor> duncanmv: you're the closest to being able to use it
[09:03] <robtaylor> duncanmv: what timezone is taupter?
[09:03] <duncanmv> robtaylor: well, current Kopete avdevice could turn in a
framework which could moved to kdelibs later if we design it correctly
[09:03] <duncanmv> but fot that we will need your help
[09:03] <robtaylor> duncanmv: well, i beleive that gst 0.9 will have libs for
automatic device detection :/
[09:03] <duncanmv> Engin AYDOGAN <engin at bzzzt.biz>
[09:03] <duncanmv> and taupter is...
[09:04] <Bille> robtaylor: desktop wide IM framework eh? want to talk about
it? I work on same for KDE.
[09:04] <duncanmv> Cláudio da Silveira Pinheiro <taupter at gmail.com>
[09:05] <duncanmv> Bille: we are discussing the use of farsight in Kopete,
which requires gstreamer.
[09:05] <robtaylor> Bille: ooh :) very much so... see
http://farsight.sourceforge.net/convframework.dia
[09:05] <duncanmv> robtaylor: talk to Bille too, I hope you could so some kind
of mail exchange between you 4
[09:05] <Bille> duncanmv: i saw. not my area of expertise. but i'd be
interested in hearing how robtaylor is approaching the same problems we have
in kimproxy
[09:06] <robtaylor> Bille: if you dont have dia, i can convert to svg for you
[09:06] <robtaylor> Bille: the idea is to unify IM and voip
[09:06] <duncanmv> Bille: I am worried about tauper coding duplicate stuff,
and that probbably we will realize somemoment we will need to implement a
gstreamer clone ;-)
[09:07] <Bille> duncanmv: yes - and there is already equiv code in kwintv that
george staikos says is intended for kdelibs
[09:07] <robtaylor> duncanmv: a gstreamer clone would be silly indeed. its a
complictated task
[08:51] <robtaylor> duncanmv: you wanted to chat gstreamer an qcelp?
[08:51] <domme> hello :)
[08:52] <duncanmv> robtaylor: what?
[08:52] <duncanmv> yes, we are evaluating farsight for our needs
[08:52] --> EricCartman has joined this channel. (~engin at EricCartman.user)
[08:53] <duncanmv> I think taupter (not here now) and Engin Aydogan, and Gof
are the guys to discuss this.
[08:53] <robtaylor> afaik, noone has written an open source qcelp codec. the
standard is available, and we should be able to mangle speex to fit the task,
given the information. thats kinda a seperate issue and we can work together
on that anyhow ;)
[08:53] <duncanmv> what is qcelp?
[08:53] <robtaylor> you probably dont want to reimplement gstreamer, thats
hard
[08:53] <duncanmv> we don't know nothing axcept we are not going to import
libmimic in our tree :-)
[08:54] <robtaylor> duncanmv: sorry. i miss read my logs
[08:54] <robtaylor> =)
[08:54] <robtaylor> (you'll need qcelp if you want to do ichat , you see ;))
[08:54] <duncanmv> we will have probably to use farsight, but at what point?
[08:54] <duncanmv> robtaylor: qcelp is AIM video encoding?
[08:55] <robtaylor> duncanmv: audio
[08:55] <domme> ah ok :)
[08:55] <duncanmv> robtaylor: well, we will need all of them at same point
[08:55] <domme> aim does support audiochat?
[08:55] <robtaylor> duncanmv: i'd like to see kopete as the first im app to
use farsight ;)
[08:55] <duncanmv> robtaylor: I tried to compile FS yesterday
[08:55] <robtaylor> duncanmv: probably borken in cvs atm
[08:55] <duncanmv> and it didn't compile because missing header #ifndef
THISHEADER_H #define THISHEADER_H #endif missings
[08:56] <robtaylor> =/
[08:56] <domme> duncanmv: what is farsight?
[08:56] <duncanmv> anyway, the problem of FS we don't know how much of it are
we forced to use
[08:56] <robtaylor> duncanmv: oh? which file?
[08:56] <duncanmv> farsight-plugin.h IIRC
[08:56] <domme> http://sourceforge.net/projects/farsight/ this?
[08:56] <duncanmv> yes
[08:57] <robtaylor> duncanmv: well, the interface is ridculously simple, and
i'd be happy to write a c++ wrapper ifyou want that
[08:57] <duncanmv> robtaylor: we probably want to use the codecs stuff, but
probably we want to do our own video4linux grabbing
[08:57] <robtaylor> why?
[08:57] <duncanmv> probably we want the codecs stuff, but we want to send the
data using KDE socket classes, etc
[08:57] <duncanmv> if you make FS flexible enough, sure we will use it.
[08:57] <robtaylor> why?
[08:57] <robtaylor> it uses gstreamer
[08:57] <robtaylor> thats fundamental
[08:58] <duncanmv> I said not sure, because it is not discussed yet ;-)
[08:58] <robtaylor> i dont see where you'd want to use kde socket classes =)
[08:58] <duncanmv> robtaylor: does it detect the video4linux device?
[08:58] <duncanmv> robtaylor: sending webcam?
[08:58] <robtaylor> duncanmv: farsight returns back a gst bin
[08:58] <duncanmv> what is a "bin"?
[08:58] <robtaylor> you then connect that up to your available devices
[08:59] <robtaylor> a partially constructed pipeline
[08:59] <duncanmv> robtaylor: taupter is coding a avdevice framework for
Kopete
[08:59] <duncanmv> right now it detects video4linux devices and have a config
module to configure it
[08:59] <robtaylor> to do what bit?
[08:59] <robtaylor> cool
[09:00] <-- Bille has left this server. (Remote closed the connection)
[09:00] <duncanmv> I think you can help him to integrate it with farsight
[09:00] <robtaylor> ok, well the bext way (i see) to do this is use your
avdevice framowork to choose the ciorrect gstreamer elements
[09:00] <duncanmv> and Engin Aydogan, have a Qt widget to show
farsight/gstreamer image
[09:00] <robtaylor> and connect it up to the bin returned by farsight
[09:00] <robtaylor> duncanmv: i've chatted to EricCartman a lot ;)
[09:01] <duncanmv> yes, with correct wrapping we can avoid mixing uggly glib C
code in Kopete
[09:01] <duncanmv> and keep it as a compile time / runtime dependancy
[09:01] <robtaylor> heh, yeah, we need some nice qtish wrappers for gstreamer.
[09:01] <duncanmv> robtaylor: do you use Kopete?
[09:01] <robtaylor> nope
[09:01] <duncanmv> gaim ;-)
[09:01] <robtaylor> for my sins
[09:01] --> Bille has joined this channel. (~wstephens at charybdis-ext.suse.de)
[09:01] <duncanmv> well, but are you interested in Kopete using farsight?
[09:02] <duncanmv> in that case I suggest you, Engin and Taupter, exchange a
couple of mails that help to make video roadmap more clear
[09:02] <robtaylor> i'm actually working on a nice desktop wide im framwork
for gnome at the meomtn, hopefully i can replace gaim. maybe you guys will be
inetrsted in it if it comes about :)
[09:02] <robtaylor> duncanmv: you're the closest to being able to use it
[09:03] <robtaylor> duncanmv: what timezone is taupter?
[09:03] <duncanmv> robtaylor: well, current Kopete avdevice could turn in a
framework which could moved to kdelibs later if we design it correctly
[09:03] <duncanmv> but fot that we will need your help
[09:03] <robtaylor> duncanmv: well, i beleive that gst 0.9 will have libs for
automatic device detection :/
[09:03] <duncanmv> Engin AYDOGAN <engin at bzzzt.biz>
[09:03] <duncanmv> and taupter is...
[09:04] <Bille> robtaylor: desktop wide IM framework eh? want to talk about
it? I work on same for KDE.
[09:04] <duncanmv> Cláudio da Silveira Pinheiro <taupter at gmail.com>
[09:05] <duncanmv> Bille: we are discussing the use of farsight in Kopete,
which requires gstreamer.
[09:05] <robtaylor> Bille: ooh :) very much so... see
http://farsight.sourceforge.net/convframework.dia
[09:05] <duncanmv> robtaylor: talk to Bille too, I hope you could so some kind
of mail exchange between you 4
[09:05] <Bille> duncanmv: i saw. not my area of expertise. but i'd be
interested in hearing how robtaylor is approaching the same problems we have
in kimproxy
[09:06] <robtaylor> Bille: if you dont have dia, i can convert to svg for you
[09:06] <robtaylor> Bille: the idea is to unify IM and voip
[09:06] <duncanmv> Bille: I am worried about tauper coding duplicate stuff,
and that probbably we will realize somemoment we will need to implement a
gstreamer clone ;-)
[09:07] <Bille> duncanmv: yes - and there is already equiv code in kwintv that
george staikos says is intended for kdelibs
[09:07] <robtaylor> duncanmv: a gstreamer clone would be silly indeed. its a
complictated task
[09:08] <Bille> duncanmv: pmax has already told taupter about that, i'm fairly
sure
[09:08] <robtaylor> Luckily, as gstreamer is all about binary compatible
modules, a c++ wrapping would actuially be pretty straight forward. you only
need to wrap the core
[09:08] <Bille> duncanmv: pmax has already told taupter about that, i'm fairly
sure
[09:08] <robtaylor> Luckily, as gstreamer is all about binary compatible
modules, a c++ wrapping would actuially be pretty straight forward. you only
need to wrap the core
[09:11] <duncanmv> sure, and thats all about coordaination, thats why I
suggest a mail exchange. Kopete using farsight could help making it more
stable, and even could help gstreamer adoption in KDE
[09:11] <robtaylor> yes, its would rock :)
[09:11] <robtaylor> actually , shall i just start a kde-gstreamer mailing
list?
[09:12] <duncanmv> where?
[09:12] <robtaylor> good question. fd.o? or i could ask the gstreamer guys to
set on up, i'm sure they'll be willing. or maybe at kde.o ?
[09:13] <robtaylor> whatever you guys prefer. maybe kde.o is sensible
[09:13] <Bille> robtaylor: looking at convframework now. the solid line boxes
are definitely single processes, yeah?
[09:14] <robtaylor> Bille: not necessarily. the large dotted line boxes show
other process layout
[09:14] <robtaylor> duncanmv: as far as farsight stuff goes, lets just do that
on farsight-devel
[09:15] <robtaylor> thats the right place as far as i;m concerned..
More information about the kde-multimedia
mailing list