All Projects → Haivision → Srt

Haivision / Srt

Licence: mpl-2.0
Secure, Reliable, Transport

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects
lua
6591 projects
tcl
693 projects
powershell
5483 projects

Projects that are alternatives of or similar to Srt

Srs
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT and GB28181.
Stars: ✭ 16,734 (+781.66%)
Mutual labels:  srt, live-streaming, low-latency, multimedia
Brave
Basic Real-time AV Editor - allowing you to preview, mix, and route live audio and video streams on the cloud
Stars: ✭ 474 (-75.03%)
Mutual labels:  multimedia, live-streaming
srtdroid
Secure Reliable Transport (SRT) Protocol for Android
Stars: ✭ 35 (-98.16%)
Mutual labels:  live-streaming, srt
tms
tms(toy media server) is a toy media server for myself learning media develop. Just for fun.
Stars: ✭ 29 (-98.47%)
Mutual labels:  live-streaming, srt
auteur
Live GStreamer node compositor service, implemented in rust
Stars: ✭ 24 (-98.74%)
Mutual labels:  multimedia, live-streaming
Kcp
⚡ KCP - A Fast and Reliable ARQ Protocol
Stars: ✭ 10,473 (+451.79%)
Mutual labels:  srt, low-latency
webrtcsink
All-batteries included GStreamer WebRTC producer
Stars: ✭ 18 (-99.05%)
Mutual labels:  multimedia, live-streaming
Abr Broadcaster
A real time encoder for Adaptive Bitrate Broadcast
Stars: ✭ 80 (-95.79%)
Mutual labels:  live-streaming, low-latency
Gstreamer Rockchip
The Gstreamer hardware encoder/decoder plugins for Rockchip platform
Stars: ✭ 86 (-95.47%)
Mutual labels:  multimedia
Thumbnail
Thumbnail for a given video using FFMpeg
Stars: ✭ 96 (-94.94%)
Mutual labels:  multimedia
Blog
Java Performance
Stars: ✭ 83 (-95.63%)
Mutual labels:  low-latency
Base Drafts
Internet-Drafts that make up the base QUIC specification
Stars: ✭ 1,270 (-33.09%)
Mutual labels:  transport
Proxy
C++ TCP Proxy Server
Stars: ✭ 98 (-94.84%)
Mutual labels:  low-latency
Tidytransit
R package for working with the General Transit Feed Specification (GTFS)
Stars: ✭ 84 (-95.57%)
Mutual labels:  transport
Nova
NOVA is a tool for annotating and analyzing behaviours in social interactions. It supports Annotators using Machine Learning already during the coding process. Further it features both, discrete labels and continuous scores and a visuzalization of streams recorded with the SSI Framework.
Stars: ✭ 110 (-94.2%)
Mutual labels:  multimedia
Jocket
Low-latency java socket implementation (using shared memory)
Stars: ✭ 83 (-95.63%)
Mutual labels:  low-latency
Karte
🗺 Conveniently launch directions in other iOS apps
Stars: ✭ 83 (-95.63%)
Mutual labels:  transport
Emacs Application Framework
A free/libre and open-source extensible framework that revolutionizes the graphical capabilities of Emacs, the key to ultimately Live in Emacs
Stars: ✭ 1,932 (+1.79%)
Mutual labels:  multimedia
Video To Retail Platform
An intelligent multimodal-learning based system for video, product and ads analysis. Based on the system, people can build a lot of downstream applications such as product recommendation, video retrieval, etc.
Stars: ✭ 108 (-94.31%)
Mutual labels:  multimedia
Submerger
SRT Subtitles Merger
Stars: ✭ 92 (-95.15%)
Mutual labels:  srt

Secure Reliable Transport (SRT) Protocol

SRT

License: MPLv2.0 Latest release Debian Badge
LGTM Code Quality LGTM Alerts codecov
Build Status Linux and macOS Build Status Windows

Introduction

Secure Reliable Transport (SRT) is an open source transport technology that optimizes streaming performance across unpredictable networks, such as the Internet.

Secure Encrypts video streams
Reliable Recovers from severe packet loss
Transport Dynamically adapts to changing network conditions

SRT is applied to contribution and distribution endpoints as part of a video stream workflow to deliver the best quality and lowest latency video at all times.

As audio/video packets are streamed from a source to a destination device, SRT detects and adapts to the real-time network conditions between the two endpoints. SRT helps compensate for jitter and bandwidth fluctuations due to congestion over noisy networks, such as the Internet. Its error recovery mechanism minimizes the packet loss typical of Internet connections. And SRT supports AES encryption for end-to-end security, keeping your streams safe from prying eyes.

Join the conversation in the #development channel on Slack.

Guides

Requirements

  • C++03 (or above) compliant compiler.
  • CMake 2.8.12 or above (as build system).
  • OpenSSL 1.1 (to enable encryption, or build with -DENABLE_ENCRYPTION=OFF).
  • Multithreading is provided by either of the following:
    • C++11: standard library (std by -DENABLE_STDCXX_SYNC=ON CMake option);
    • C++03: Pthreads (for POSIX systems it's built in, for Windows there is a ported library).
  • Tcl 8.5 (optional, used by ./configure script or use CMake directly).

For a detailed description of the build system and options, please refer to SRT Build Options.

Build on Linux

Install cmake and openssl-devel (or similar name) package. For pthreads there should be -lpthreads linker flag added.

Default installation path prefix of make install is /usr/local.

To define a different installation path prefix, use the --prefix option with configure or -DCMAKE_INSTALL_PREFIX CMake option.

To uninstall, call make -n install to list all the dependencies, and then pass the list to rm.

Ubuntu 14

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install tclsh pkg-config cmake libssl-dev build-essential
./configure
make

CentOS 7

sudo yum update
sudo yum install tcl pkgconfig openssl-devel cmake gcc gcc-c++ make automake
./configure
make

CentOS 6

sudo yum update
sudo yum install tcl pkgconfig openssl-devel cmake gcc gcc-c++ make automake
sudo yum install centos-release-scl-rh devtoolset-3-gcc devtoolset-3-gcc-c++
scl enable devtoolset-3 bash
./configure --use-static-libstdc++ --with-compiler-prefix=/opt/rh/devtoolset-3/root/usr/bin/
make

Build on Mac (Darwin, iOS)

Homebrew supports "srt" formula.

brew update
brew install srt

If you prefer using a head commit of master branch, you should add --HEAD option to brew command.

brew install --HEAD srt

Also, SRT can be built with cmake and make on Mac. Install cmake and openssl with development files from "brew". Note that the system version of OpenSSL is inappropriate, although you should be able to use any newer version compiled from sources, if you prefer.

brew install cmake
brew install openssl
export OPENSSL_ROOT_DIR=$(brew --prefix openssl)
export OPENSSL_LIB_DIR=$(brew --prefix openssl)"/lib"
export OPENSSL_INCLUDE_DIR=$(brew --prefix openssl)"/include"
./configure
make

Build on Windows

Follow the Building SRT for Windows instructions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].