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

Created TCP/SRT tunnel #504

Merged
merged 9 commits into from
May 2, 2019
Merged

Created TCP/SRT tunnel #504

merged 9 commits into from
May 2, 2019

Conversation

ethouris
Copy link
Collaborator

  1. Created srt-tunnel application:
    • runs a tunnel between two media, either TCP or SRT
    • tunnels can be composed in chains
    • predicted use case: TCP <-> SRT <---> SRT <-> TCP to handle RTMP
  2. Upgraded srt-test-relay application to test the SRT endpoint of two-way communication
  3. Created tcp-echo-server.tcl and tcp-echo-client.tcl for testing the TCP endpoint of two-way communication

@ethouris ethouris added this to the v.1.3.3 milestone Mar 28, 2019
@ethouris ethouris added [apps] Area: Test applications related improvements [core] Area: Changes in SRT library core labels Mar 28, 2019
Copy link
Collaborator

@maxsharabayko maxsharabayko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding a documentation to docs/tcp-tunnel.md (or somth else) would be helpful.

CMakeLists.txt Outdated Show resolved Hide resolved
apps/socketoptions.cpp Outdated Show resolved Hide resolved
apps/socketoptions.cpp Show resolved Hide resolved
@rndi rndi merged commit 39ea526 into Haivision:master May 2, 2019
@alexpokotilo
Copy link
Contributor

In case you are planning to use this setup to handle RTMP you need to setup SRT<-->SRT in lossless mode without jitter(all packages arrives in the same order they send) or this will not gonna work.
But how are you planning to do this ?

@ethouris
Copy link
Collaborator Author

ethouris commented May 2, 2019

In case you are planning to use this setup to handle RTMP you need to setup SRT<-->SRT in lossless mode without jitter(all packages arrives in the same order they send) or this will not gonna work.
But how are you planning to do this ?

The tunnel works in a "file transmission" mode. So you make TCP>SRT <---> SRT>TCP combination so that you take advantage of a better loss handling by SRT, but there are no live mode features in use.

For sending it using live SRT, some other application would have to be used - a combination of applications that serve as full-fledged RTMP client and server.

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 [core] Area: Changes in SRT library core Priority: High
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants