OpenVCX
    
Open Source Video Conferencing and Streaming Server
 

Installation

Quick start installation guide for OpenVSX.  Read more


 

Wowza Streaming Engine

Example showing how to use OpenVSX with Wowza Streaming Engine.  Read more


 

Publish to Youtube

Stream live content to a CDN or Youtube.  Read more


 

Flash Media Encoder

Stream live content with Flash Media Encoder RTMP.  Read more


 

QuickTime Broadcaster

Stream live content with QuickTime Broadcaster RTSP.  Read more


 

Security and Encryption

Examples showing how to protect streaming content.


 

RTMP Streaming

Use RTMP to broadcast and capture live content.  Read more


 

RTSP Streaming

Use RTSP to broadcast and capture live content.  Read more


 

FLV Streaming

Stream live content to Flash player.  Read more


 

MPEG-DASH Streaming

Stream live content using MPEG-DASH.  Read more


 

WebM/HTML5 Streaming

Stream live content using a Matroska / WebM container.  Read more


 

HTTPLive Streaming

Stream live content to Apple devices using HTTPLive.  Read more


 

Analyze H.264 contents

OpenVSX can be used as a utilitity to take a closer look at the format of H.264 video.  Read more


 

Dump a container file

OpenVSX can be used as a utilitity to take a closer look at the format of MP4 container file.  Read more


 

Extract video and audio tracks from a media container

OpenVSX can be used as a utility to extract raw video and audio contents from container files.  Read more


 

Basic streaming output examples

Examples showing how to use the commandline to create stream output.  Read more


 

OpenVSX Secure Streaming Features and Options

OpenVSX provides several options for secure media content delivery.


 

Secure RTP Streaming

Stream an input source using SRTP output with the SRTP keys published in an SDP file

./bin/vsx -v --in=input.mp4 --stream=srtp://x.x.x.x:7010 --transport=native --rtp-mux --rtcp-mux --sdp=shared.sdp

Read the SRTP input stream and offer it using a Matroska / WebM container over SSL/TLS using Digest authentication

./bin/vsx -v --in=shared.sdp --mkvlive=https://myuser:mypass@8443 --live

From a WebM capabale client such as Chrome you can open https://x.x.x.x:8443/mkv

Stream an input source using DTLS-SRTP output. SRTP is used to protect the media content and DTLS is used securely exchange crypto keys between the stream sender and receiver.

./bin/vsx -v --in=input.mp4 --stream=dtlssrtp://x.x.x.x:7010 --transport=native --rtp-mux --rtcp-mux --sdp=shared.sdp

Stream an input source using SSL/DTLS RTP output. DTLS is used securely exchange crypto keys and protect the media content between the stream sender and receiver.

./bin/vsx -v --in=input.mp4 --stream=dtls://x.x.x.x:7010 --transport=native --rtp-mux --rtcp-mux --sdp=shared.sdp


 

Secure RTSP Streaming

The RTSP server supports authentication, SSL/TLS, and SRTP

Set up an RTSP server listener which requires Digest authentication for the user myuser with the password mypass

./bin/vsx -v --in=input.mp4 --rtsp://myuser:mypass@0.0.0.0:1554

To enable SRTP output add the option --rtsp-srtp

Bear in mind that the server's SRTP keys will be exposed in the plain-text SDP exchange of the RTSP control channel. To use RTSP over SSL/TLS use rtsps://

./bin/vsx -v --in=input.mp4 --rtsps://myuser:mypass@0.0.0.0:1554

Note: --rtsp-srtp is automatically enabled if using RTSP over SSL/TLS.

If not using RTP/SRTP you can add the option --rtsp-interleaved to force the server to always send media over the RTSP TCP control channel connection.


 

Secure HTTP Streaming

Enable an FLV live stream listener using SSl/TLS and Digest authentication.

--flvlive=https://myuser:mypass@0.0.0.0:8443 --live

From a PC you can view the stream by opening a web browser to https://x.x.x.x:8443/flv

Enable an Matroska / WebM stream listener using SSl/TLS and Digest authentication.

--mkvlive=https://myuser:mypass@0.0.0.0:8443--live

From a WebM capabale client such as Chrome you can open https://x.x.x.x:8443/mkv

Enable an MPEG2-TS stream listener using SSl/TLS and Digest authentication.

--tslive=https://myuser:mypass@0.0.0.0:8443

From a MPEG2-TS capabale client such as VLC Player you can open https://myuser:mypass@x.x.x.x:8443/tslive


 

Secure RTMP Streaming

RTMPS is supported for server output, server capture, client capture, and client publish. To enable SSL/TLS use rtmps:// instead of rtmp://

RTMP authmod adobe digest based authentication credentials can be specified for RTMP publish output and RTMP publish capture using the following syntax

Setup a RTMPS server for remote capture clients or Flash player --rtmp=rtmps://0.0.0.0:1935

Setup a RTMPS publish capture server --capture=rtmps://myuser:password@0.0.0.0:1935

Setup a RTMPS capture client similar to Flash player connecting to a remote server --capture=rtmps://x.x.x.x:1935/myapp/mystream

Setup a RTMPS publish output to a remote capture server --stream=rtmps://myuser:password@x.x.x.x:1935/myapp/mystream


 

Digest Authentication

Digest authentication credentials can be specified for any HTTP or RTSP URL using the following syntax

http://<username>:<password>@x.x.x.x:8080/live

To accept Basic authentication add the option --auth-basic

To force Basic authentication and disable Digest authentication add the option --auth-basic-force


 

 

 

 

 

 

Don't hesitate to contact us via our contact page or email us at openvcx@gmail.com.