[jitsi-dev] Jitsi Meet bitrate constraints?


#1

Hi,

Is it possible to hard limit upload bitrate of jitsi meet clients (say 800
for video and 200 for audio)?
Is someone working on it (jitsi-meet-new ?)
Are the API available (it seems possible for chrome at least)?

Thanks,
Etienne


#2

Hi,

responding to myself,
i'm testing tc to limit traffic
for now it's working but it's introducing too much delay

#install
modprobe ifb numifbs=1
ip link set dev ifb0 up
tc qdisc add dev ifb0 root handle 1: htb

for num in {1..1025}
do
  tc class add dev ifb0 parent 1: classid 1:$num htb rate 1200kbit
done
tc filter add dev ifb0 parent 1: handle 1 prio 10 flow map key
nfct-proto-src divisor 1024

tc qdisc add dev eno16780032 handle ffff: ingress
tc filter add dev eno16780032 parent ffff: protocol ip u32 match ip dport
10000 0xffff action mirred egress redirect dev ifb0
tc filter add dev eno16780032 parent ffff: protocol ip u32 match ip dport
443 0xffff action mirred egress redirect dev ifb0

#clean
tc qdisc del dev eno16780032 ingress
tc qdisc del dev ifb0 root
ip link set dev ifb0 down

:

···

2016-01-14 16:17 GMT+01:00 Etienne Champetier <champetier.etienne@gmail.com>

Hi,

Is it possible to hard limit upload bitrate of jitsi meet clients (say 800
for video and 200 for audio)?
Is someone working on it (jitsi-meet-new ?)
Are the API available (it seems possible for chrome at least)?

Thanks,
Etienne


#3

Hello Etienne,

I don't think there's a practical way to hard limit the upload bitrate.
There are some IETF drafts and RFCs that describe how to do it at the
signaling level with SDP, but none of them are supported as far as I know.

That said, the client is supposed to dynamically adapt its bitrate to the
network conditions by running a congestion control algorithm known as the
GCC (Google Congestion Control) algorithm.

Furthermore, features like simulcast and adaptive last N that are
implemented in the bridge can help with congestion control. You can have a
look here https://github.com/jitsi/jitsi-videobridge/tree/master/doc for
documentation.

I hope this helps.

Best,
George

···

On Fri, Jan 15, 2016 at 11:15 AM, Etienne Champetier < champetier.etienne@gmail.com> wrote:

Hi,

responding to myself,
i'm testing tc to limit traffic
for now it's working but it's introducing too much delay

#install
modprobe ifb numifbs=1
ip link set dev ifb0 up
tc qdisc add dev ifb0 root handle 1: htb

for num in {1..1025}
do
  tc class add dev ifb0 parent 1: classid 1:$num htb rate 1200kbit
done
tc filter add dev ifb0 parent 1: handle 1 prio 10 flow map key
nfct-proto-src divisor 1024

tc qdisc add dev eno16780032 handle ffff: ingress
tc filter add dev eno16780032 parent ffff: protocol ip u32 match ip dport
10000 0xffff action mirred egress redirect dev ifb0
tc filter add dev eno16780032 parent ffff: protocol ip u32 match ip dport
443 0xffff action mirred egress redirect dev ifb0

#clean
tc qdisc del dev eno16780032 ingress
tc qdisc del dev ifb0 root
ip link set dev ifb0 down

2016-01-14 16:17 GMT+01:00 Etienne Champetier <
champetier.etienne@gmail.com>:

Hi,

Is it possible to hard limit upload bitrate of jitsi meet clients (say
800 for video and 200 for audio)?
Is someone working on it (jitsi-meet-new ?)
Are the API available (it seems possible for chrome at least)?

Thanks,
Etienne

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


#4

Hi all,

command that i sent are buggy
classid are hex number, so flow map classifier can't do his job if between
19 and 20 there is no 1a, 1b, ...

#install
modprobe ifb numifbs=1
ip link set dev ifb0 up
tc qdisc add dev ifb0 root handle 1: htb
for num in {10..1034}
do
  tc class add dev ifb0 parent 1: classid 1:$(printf "%x" $num) htb rate
1200kbit
  tc qdisc add dev ifb0 parent 1:$(printf "%x" $num) handle $(printf "%x"
$num): codel
done
tc filter add dev ifb0 parent 1: handle 5 prio 1 flow map key proto-src
divisor 1024 baseclass 1:a

tc qdisc add dev eno16780032 handle ffff: ingress
tc filter add dev eno16780032 parent ffff: protocol ip u32 match ip dport
10000 0xffff action mirred egress redirect dev ifb0
tc filter add dev eno16780032 parent ffff: protocol ip u32 match ip dport
443 0xffff action mirred egress redirect dev ifb0

#clean
tc qdisc del dev eno16780032 ingress
tc qdisc del dev ifb0 root
ip link set dev ifb0 down

it need some more testing but chrome dynamically adaptjust fine

···

2016-01-19 17:31 GMT+01:00 George Politis <gp@jitsi.org>:

Hello Etienne,

I don't think there's a practical way to hard limit the upload bitrate.
There are some IETF drafts and RFCs that describe how to do it at the
signaling level with SDP, but none of them are supported as far as I know.

That said, the client is supposed to dynamically adapt its bitrate to the
network conditions by running a congestion control algorithm known as the
GCC (Google Congestion Control) algorithm.

Furthermore, features like simulcast and adaptive last N that are
implemented in the bridge can help with congestion control. You can have a
look here https://github.com/jitsi/jitsi-videobridge/tree/master/doc for
documentation.

I hope this helps.

Best,
George

On Fri, Jan 15, 2016 at 11:15 AM, Etienne Champetier < > champetier.etienne@gmail.com> wrote:

Hi,

responding to myself,
i'm testing tc to limit traffic
for now it's working but it's introducing too much delay

#install
modprobe ifb numifbs=1
ip link set dev ifb0 up
tc qdisc add dev ifb0 root handle 1: htb

for num in {1..1025}
do
  tc class add dev ifb0 parent 1: classid 1:$num htb rate 1200kbit
done
tc filter add dev ifb0 parent 1: handle 1 prio 10 flow map key
nfct-proto-src divisor 1024

tc qdisc add dev eno16780032 handle ffff: ingress
tc filter add dev eno16780032 parent ffff: protocol ip u32 match ip dport
10000 0xffff action mirred egress redirect dev ifb0
tc filter add dev eno16780032 parent ffff: protocol ip u32 match ip dport
443 0xffff action mirred egress redirect dev ifb0

#clean
tc qdisc del dev eno16780032 ingress
tc qdisc del dev ifb0 root
ip link set dev ifb0 down

2016-01-14 16:17 GMT+01:00 Etienne Champetier <
champetier.etienne@gmail.com>:

Hi,

Is it possible to hard limit upload bitrate of jitsi meet clients (say
800 for video and 200 for audio)?
Is someone working on it (jitsi-meet-new ?)
Are the API available (it seems possible for chrome at least)?

Thanks,
Etienne

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

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