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

Source bitrate bigger then 30Mbps problem ? #762

Closed
edwardlai opened this issue Jul 18, 2019 · 8 comments · Fixed by #1152 or #1239
Closed

Source bitrate bigger then 30Mbps problem ? #762

edwardlai opened this issue Jul 18, 2019 · 8 comments · Fixed by #1152 or #1239
Assignees
Labels
[apps] Area: Test applications related improvements

Comments

@edwardlai
Copy link

The same caller & listener command test two mpts source, have different results

Direct inject ts on source site (caller), for 18Mbps & 45Mbps command below .

srt-live-transmit.exe udp://228.0.28.28:2801 file://con > 18Mbps.ts

srt-live-transmit.exe udp://229.1.1.7:1117 file://con > 45Mbps.ts

18Mbps video & audio ok
45Mbps bad video quality hang or mosaic , audio ok

@maxsharabayko
Copy link
Collaborator

Do you use SRT connection in the pipeline? I see only UDP.
Please also refer to #552

@edwardlai
Copy link
Author

I Just want to find out what issue between caller and listener.
When srt-live-transmit from caller to listener that no error log either caller or listener site
But use VLC Player verify in listener site
18Mbps work find.
45Mbps look so bad video quality .

Then I just test inject in caller site (udp source input , named pipe output stdout to ts file )

srt-live-transmit.exe udp://228.0.28.28:2801 file://con > 18Mbps.ts
srt-live-transmit.exe udp://229.1.1.7:1117 file://con > 45Mbps.ts

Playback output file

18Mbps.ts video & audio ok
45Mbps.ts bad video quality hang or mosaic , audio ok

@maxsharabayko
Copy link
Collaborator

There are no limitations with UDP in srt-live-transmit. Based on your results of this experiment:
srt-live-transmit.exe udp://229.1.1.7:1117 file://con > 45Mbps.ts
there are losses of UDP packets. Why don't you use SRT instead? VLC also supports it.

@edwardlai
Copy link
Author

edwardlai commented Jul 23, 2019

Try again
srt-live-transmit.exe udp://229.1.1.7:1117 "srt://:3333?maxbw=0&fc=51200&rcvbuf=125000000"

Then use VLC Play udp (source) & srt

VLC Play udp://229.1.1.7:1117 Video & Audio fine,
VLC Play srt://127.0.0.1:3333 Video hang and mosaic

@maxsharabayko
Copy link
Collaborator

Hm, probably srt-live-transmit does not read out data fast enough, if you have better quality with VLC.
Interesting.
Low priority to this, as srt-live-transmit is a sample application to show example of SRT library usage.

@maxsharabayko maxsharabayko added the [apps] Area: Test applications related improvements label Jul 23, 2019
@barboteur
Copy link

@edwardlai , did you performed your tests within virtual machines ?
I remember that I performed some tests on virtual machines (virtualbox launched by vagrant) and I remember that on these VM, the UDP rate could not be higher than 30mbps.
So I switched on real machines and it worked well.

@maxsharabayko
Copy link
Collaborator

maxsharabayko commented Feb 26, 2020

@edwardlai Check out this comment: link.
Increasing the UDP buffer size could be the solution.

First, the system maximum buffer size should be increased the following way:

$ cat /proc/sys/net/core/rmem_max
212992
$ sudo sysctl -w net.core.rmem_max=26214400
net.core.rmem_max = 26214400
$ cat /proc/sys/net/core/rmem_max
26214400

Then the desired buffer size (in bytes) can be specified on the UDP socket (after PR #1152).
For example, 64 MB:

./srt-live-transmit "udp://229.1.1.7:1117?rcvbuf=67108864" file://con

@maxsharabayko maxsharabayko linked a pull request Feb 26, 2020 that will close this issue
1 task
@maxsharabayko
Copy link
Collaborator

maxsharabayko commented Apr 15, 2020

TODO

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[apps] Area: Test applications related improvements
Projects
None yet
3 participants