[jitsi-dev] [jitsi-videobridge] Simulcast implementation. (#92)


#1

You can view, comment on, or merge this pull request online at:

  https://github.com/jitsi/jitsi-videobridge/pull/92

-- Commit Summary --

  * Reverts almost entirely 65982cb. SSRC rewriting is moved into libjitsi.

-- File Changes --

    D src/main/java/org/jitsi/videobridge/rewriting/SsrcRewriter.java (256)
    D src/main/java/org/jitsi/videobridge/rewriting/SsrcRewritingEngine.java (211)
    M src/main/java/org/jitsi/videobridge/transform/RtpChannelTransformEngine.java (31)

-- Patch Links --

https://github.com/jitsi/jitsi-videobridge/pull/92.patch
https://github.com/jitsi/jitsi-videobridge/pull/92.diff

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/92


#2

Merged #92.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/92#event-479174726


#3

way to go, george! is simulcast in a good state to start trying out?

···

On Tue, Dec 1, 2015 at 8:49 AM, George Politis <notifications@github.com> wrote:

Merged #92 <https://github.com/jitsi/jitsi-videobridge/pull/92>.


Reply to this email directly or view it on GitHub
<https://github.com/jitsi/jitsi-videobridge/pull/92#event-479174726>.

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


#4

Hi Brian, we're still fixing a few remaining issues so I would not
recommend to enable it in a production environment. Otherwise, feel free
to play with it!

···

On 12/01/2015 11:25 AM, Brian Baldino wrote:

way to go, george! is simulcast in a good state to start trying out?

On Tue, Dec 1, 2015 at 8:49 AM, George Politis <notifications@github.com > <mailto:notifications@github.com>> wrote:

    Merged #92 <https://github.com/jitsi/jitsi-videobridge/pull/92>.

    —
    Reply to this email directly or view it on GitHub
    <https://github.com/jitsi/jitsi-videobridge/pull/92#event-479174726>.

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


#5

Thanks George...is there somewhere that describes all the config necessary
to enable simulcast? I see there is a doc in the repo, but it's 4 months
old...is that up-to-date with the new simulcast implementation?

···

On Tue, Dec 1, 2015 at 11:34 AM, George Politis <gp@jitsi.org> wrote:

Hi Brian, we're still fixing a few remaining issues so I would not
recommend to enable it in a production environment. Otherwise, feel free
to play with it!

On 12/01/2015 11:25 AM, Brian Baldino wrote:
> way to go, george! is simulcast in a good state to start trying out?
>
> On Tue, Dec 1, 2015 at 8:49 AM, George Politis <notifications@github.com > > <mailto:notifications@github.com>> wrote:
>
> Merged #92 <https://github.com/jitsi/jitsi-videobridge/pull/92>.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/jitsi/jitsi-videobridge/pull/92#event-479174726
>.
>
>
> _______________________________________________
> dev mailing list
> dev@jitsi.org <mailto:dev@jitsi.org>
> Unsubscribe instructions and other list options:
> http://lists.jitsi.org/mailman/listinfo/dev
>
>


#6

Hi Brian,

Unfortunately, the documentation hasn't kept up with the implementation
but we will update it soon. Here's what we have on beta.meet.jit.si
(simulcast is activated there as of today):

org.jitsi.videobridge.rtcp.strategy=org.jitsi.impl.neomedia.rtcp.termin
ation.strategies.BasicRTCPTerminationStrategy
org.jitsi.service.neomedia.VideoMediaStream.REQUEST_RETRANSMISSIONS=tru
e
org.jitsi.videobridge.DISABLE_NACK_TERMINATION=false

Then the endpoint needs to be configured to stream simulcast. This is
done through SDP signaling. In your local description you need an ssrc-
group:SIM A B C, and then the appropriate ssrc lines that configure A,
B and C, as it's described in the simulcast document (this hasn't
changed). In your remote description you need to add this line "x-
google-flag:conference".

It's magic, but it works :slight_smile: We have all the client side logic
contained here https://github.com/jitsi/sdp-simulcast/, if you want to
have a look.

The bridge also needs to have this information through COLIBRI (or
through the rest API).

I hope this helps!

Best,
George

···

On Wed, 2015-12-02 at 14:55 -0800, Brian Baldino wrote:

Thanks George...is there somewhere that describes all the config
necessary to enable simulcast? I see there is a doc in the repo, but
it's 4 months old...is that up-to-date with the new simulcast
implementation?

On Tue, Dec 1, 2015 at 11:34 AM, George Politis <gp@jitsi.org> wrote:
> Hi Brian, we're still fixing a few remaining issues so I would not
> recommend to enable it in a production environment. Otherwise, feel
> free
> to play with it!
>
> On 12/01/2015 11:25 AM, Brian Baldino wrote:
> > way to go, george! is simulcast in a good state to start trying
> out?
> >
> > On Tue, Dec 1, 2015 at 8:49 AM, George Politis <notifications@git > > hub.com > > > <mailto:notifications@github.com>> wrote:
> >
> > Merged #92 <https://github.com/jitsi/jitsi-videobridge/pull/9
> 2>.
> >
> > —
> > Reply to this email directly or view it on GitHub
> > <https://github.com/jitsi/jitsi-videobridge/pull/92#event-479
> 174726>.
> >
> >
> > _______________________________________________
> > dev mailing list
> > dev@jitsi.org <mailto:dev@jitsi.org>
> > Unsubscribe instructions and other list options:
> > http://lists.jitsi.org/mailman/listinfo/dev
> >
> >
>


#7

Awesome, thanks so much for putting that all together, George. We've been
really excited to try it out.

···

On Wed, Dec 2, 2015 at 8:28 PM, George Politis <gp@jitsi.org> wrote:

Hi Brian,

Unfortunately, the documentation hasn't kept up with the implementation
but we will update it soon. Here's what we have on beta.meet.jit.si
(simulcast is activated there as of today):

org.jitsi.videobridge.rtcp.strategy=org.jitsi.impl.neomedia.rtcp.termin
ation.strategies.BasicRTCPTerminationStrategy
org.jitsi.service.neomedia.VideoMediaStream.REQUEST_RETRANSMISSIONS=tru
e
org.jitsi.videobridge.DISABLE_NACK_TERMINATION=false

Then the endpoint needs to be configured to stream simulcast. This is
done through SDP signaling. In your local description you need an ssrc-
group:SIM A B C, and then the appropriate ssrc lines that configure A,
B and C, as it's described in the simulcast document (this hasn't
changed). In your remote description you need to add this line "x-
google-flag:conference".

It's magic, but it works :slight_smile: We have all the client side logic
contained here https://github.com/jitsi/sdp-simulcast/, if you want to
have a look.

The bridge also needs to have this information through COLIBRI (or
through the rest API).

I hope this helps!

Best,
George

On Wed, 2015-12-02 at 14:55 -0800, Brian Baldino wrote:
> Thanks George...is there somewhere that describes all the config
> necessary to enable simulcast? I see there is a doc in the repo, but
> it's 4 months old...is that up-to-date with the new simulcast
> implementation?
>
> On Tue, Dec 1, 2015 at 11:34 AM, George Politis <gp@jitsi.org> wrote:
> > Hi Brian, we're still fixing a few remaining issues so I would not
> > recommend to enable it in a production environment. Otherwise, feel
> > free
> > to play with it!
> >
> > On 12/01/2015 11:25 AM, Brian Baldino wrote:
> > > way to go, george! is simulcast in a good state to start trying
> > out?
> > >
> > > On Tue, Dec 1, 2015 at 8:49 AM, George Politis <notifications@git > > > hub.com > > > > <mailto:notifications@github.com>> wrote:
> > >
> > > Merged #92 <https://github.com/jitsi/jitsi-videobridge/pull/9
> > 2>.
> > >
> > > —
> > > Reply to this email directly or view it on GitHub
> > > <https://github.com/jitsi/jitsi-videobridge/pull/92#event-479
> > 174726>.
> > >
> > >
> > > _______________________________________________
> > > dev mailing list
> > > dev@jitsi.org <mailto:dev@jitsi.org>
> > > Unsubscribe instructions and other list options:
> > > http://lists.jitsi.org/mailman/listinfo/dev
> > >
> > >
> >