Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BW_INFINITE (1 Gbps) affects higher bitrates #552

Open
2 tasks
maxsharabayko opened this issue Feb 4, 2019 · 8 comments
Open
2 tasks

BW_INFINITE (1 Gbps) affects higher bitrates #552

maxsharabayko opened this issue Feb 4, 2019 · 8 comments
Labels
[core] Area: Changes in SRT library core Priority: Medium Type: Maintenance Work required to maintain or clean up the code
Milestone

Comments

@maxsharabayko
Copy link
Collaborator

maxsharabayko commented Feb 4, 2019

SRT v1.3.2 and lower had the default maxbw value is 30 Mbps. Since v1.3.3 the default value is 1 Gbps (#760).

The limitaion is not obvious for the end user.
v1.3.2 and earlier

const int64_t BW_INFINITE =  30000000/8;         //Infinite=> 30Mbps

Since v1.3.3

const int64_t BW_INFINITE =  1000000000/8;         //Infinite=> 1Gbps

This value affects the sending period of the packets.

void updatePktSndPeriod()
{
   // packet = payload + header
   double pktsize = m_iSndAvgPayloadSize + CPacket::SRT_DATA_HDR_SIZE;
   m_dPktSndPeriod = 1000*1000.0 * (pktsize/m_llSndMaxBW);
}
  • Suggested default value: -1. Zero packet send period.
  • If the sender skips packet due to the bandwidth, a proper message should be shown to the user, that the packet is dropped due to MAXBW is less the sending rate tries to use.
@maxsharabayko maxsharabayko added Priority: Medium Type: Maintenance Work required to maintain or clean up the code labels Feb 4, 2019
@maxsharabayko maxsharabayko added this to the v.1.3.3 milestone Feb 4, 2019
@maxsharabayko maxsharabayko pinned this issue Mar 11, 2019
@maxsharabayko maxsharabayko added the [core] Area: Changes in SRT library core label Mar 12, 2019
@rmsoto
Copy link

rmsoto commented May 9, 2019

Hello @maxlovic

I´m facing a problem when I try to send more than 80Mbps into one SRT session. DEspite of I´ve changed some parameters inside core.cpp file to avoid crashes in srt-live-transmit with high bandwidht streams:

m_iFlightFlagSize = 100000;
m_iSndBufSize = 100000;
m_iRcvBufSize = 98000;

I can´t find where it is const int64_t BW_INFINITE = 30000000/8;

Can you tell me where I can find it?

thanks!

@maxsharabayko
Copy link
Collaborator Author

@rmsoto
With srt-live-transmit you can simply specify the maximum bandwidth in the URI like
srt://ip:port?maxbw=bytes&sndbuf=bytes&rcvbuf=bytes
All this parameters are configurable via SRT socket options (SRTO_MAXBW, etc.).

@rmsoto
Copy link

rmsoto commented May 10, 2019

@maxlovic

But....where is this sentence written?

const int64_t BW_INFINITE = 30000000/8; //Infinite=> 30Mbps

CAn I turn it to 100Mbps ?

@maxsharabayko
Copy link
Collaborator Author

@rmsoto In common.h.

@rmsoto
Copy link

rmsoto commented May 10, 2019

thx! No improvement though.

@maxsharabayko
Copy link
Collaborator Author

@rmsoto What OS? Windows, Linux, Mac, etc.

@rmsoto
Copy link

rmsoto commented May 10, 2019

Sorry.

libsrt v1.32 and the OS are mainly debian 8.6 and some ubuntu 18.04. I was trying to send 105Mbps Mpeg-TS with about 2-3Mbps of Null Packets....no matter which server I use (they all both have different networks) I cant send more than 83-84Mbps. I also tried with v.1.2.0 and 1.3.1.

Sender: ./srt-live-transmit -v -t:-1 -i "udp://@224.123.0.1:5001" -o "srt://:6001?latency=200&maxbw=15000000&inputbw=15000000"

./srt-live-transmit -v -r:30 -s:5 -t:-1 -i "srt://@80.84.129.197:6001" -o "udp://224.168.227.3:5013"

We have a system with 1.2.0 where we sent around 100Mbs to a customer which implemented his own srt receiver with the same version. I also copied the SRT compiled in that server and replicate the commands but no way to get more than 84Mbps...

Regards and have s good weekend.

@maxsharabayko
Copy link
Collaborator Author

maxsharabayko commented May 20, 2019

@rmsoto Try to perform SRT bandwidth loop test, described here.
Please create a separate issue.

@maxsharabayko maxsharabayko modified the milestones: v.1.3.3, v.1.3.4 May 29, 2019
@maxsharabayko maxsharabayko changed the title BW_INFINITE (30 Mbps) affects high bitrates BW_INFINITE (30 Mbps / 1 Gbps) affects high bitrates Jul 31, 2019
@maxsharabayko maxsharabayko modified the milestones: v1.3.4, v1.4.0 Aug 19, 2019
@maxsharabayko maxsharabayko changed the title BW_INFINITE (30 Mbps / 1 Gbps) affects high bitrates BW_INFINITE (1 Gbps) affects higher bitrates Sep 12, 2019
@maxsharabayko maxsharabayko modified the milestones: v1.4.0, v1.4.1 Sep 13, 2019
@maxsharabayko maxsharabayko modified the milestones: v1.4.1, v1.4.2 Nov 4, 2019
@maxsharabayko maxsharabayko modified the milestones: v1.5.0, v1.6.0 Dec 27, 2019
@maxsharabayko maxsharabayko unpinned this issue Jan 30, 2020
@mbakholdina mbakholdina modified the milestones: v1.6.0, Backlog May 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[core] Area: Changes in SRT library core Priority: Medium Type: Maintenance Work required to maintain or clean up the code
Projects
None yet
Development

No branches or pull requests

3 participants