[jitsi-dev] Jitsi videobridge and native libraries


#1

Hi,

I did some testing with jitsi and the videobridge. I was always wondering
why the videobridge includes native libraries, because the videobridge does
not need to capture any sound or video device, it just relays the stream
that is received from a client and sends it remotely to another client

I made a test where I started the videobridge without -Djava.library.path
specification
like this, from jvb.sh:

mainClass="org.jitsi.videobridge.Main"
cp=$(JARS=($SCRIPT_DIR/jitsi-videobridge.jar $SCRIPT_DIR/lib/*.jar); IFS=:;
echo "${JARS[*]}")
libs="$SCRIPT_DIR/lib/native/linux-64"

java -cp $cp $mainClass $@

so I removed -Djava.library.path=$libs from the java startup command

Jitsi videobridge did the job with no issues. I tested with jitsi and I was
able to stream both audio and video. So I am a bit confused, maybe I am
missing something...

Thanks,
Mircea


#2

Jitsi Videobridge mixes audio so it needs the native code to handle
codecs such as opus, g.722 and speex.

Emil

···

On Wed, Oct 9, 2013 at 12:18 PM, Mircea Carasel <mirceac@ezuce.com> wrote:

Hi,

I did some testing with jitsi and the videobridge. I was always wondering
why the videobridge includes native libraries, because the videobridge does
not need to capture any sound or video device, it just relays the stream
that is received from a client and sends it remotely to another client

I made a test where I started the videobridge without -Djava.library.path
specification
like this, from jvb.sh:

mainClass="org.jitsi.videobridge.Main"
cp=$(JARS=($SCRIPT_DIR/jitsi-videobridge.jar SCRIPT\_DIR/lib/\*\.jar\); IFS=:; echo &quot;{JARS[*]}")
libs="$SCRIPT_DIR/lib/native/linux-64"

java -cp $cp mainClass @

so I removed -Djava.library.path=$libs from the java startup command

Jitsi videobridge did the job with no issues. I tested with jitsi and I was
able to stream both audio and video. So I am a bit confused, maybe I am
missing something...

Thanks,
Mircea

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
https://jitsi.org FAX: +33.1.77.62.47.31


#3

I did some testing with jitsi and the videobridge. I was always wondering
why the videobridge includes native libraries

Because Videobridge performs content mixing (limitted to audio at the
time of this writing) in addition to RTP translation i.e. it needs the
decoders and encoders and some of them leverage native libraries.

Additionally, parts of the network-related functionality relies on
native libraries.

because the videobridge does
not need to capture any sound or video device

Videobridge does currently ship with native libraries to support
capture and playback. I noticed it yesterday and removed them in my
local development tree so they should disappear from the Videobridge
source repository and binary distribution soon.

it just relays the stream
that is received from a client and sends it remotely to another client

As stated above, Videobridge does relaying AND content mixing.

···

2013/10/9 Mircea Carasel <mirceac@ezuce.com>:


#4

It makes sense.. thank you all for your quick answers!

Mircea

···

On Wed, Oct 9, 2013 at 1:29 PM, Lyubomir Marinov <lyubomir.marinov@jitsi.org > wrote:

2013/10/9 Mircea Carasel <mirceac@ezuce.com>:
> I did some testing with jitsi and the videobridge. I was always wondering
> why the videobridge includes native libraries

Because Videobridge performs content mixing (limitted to audio at the
time of this writing) in addition to RTP translation i.e. it needs the
decoders and encoders and some of them leverage native libraries.

Additionally, parts of the network-related functionality relies on
native libraries.

> because the videobridge does
> not need to capture any sound or video device

Videobridge does currently ship with native libraries to support
capture and playback. I noticed it yesterday and removed them in my
local development tree so they should disappear from the Videobridge
source repository and binary distribution soon.

> it just relays the stream
> that is received from a client and sends it remotely to another client

As stated above, Videobridge does relaying AND content mixing.