Streaming media server-side platform for real-time video delivery in browsers and mobile apps
100K+
Web Call Server is a platform for real-time audio and video applications. It is designed primarily for developers who spin up streaming projects such as video chat, webinar, mass broadcasting, web calls, low-latency web and mobile apps. The platform supports all popular today streaming video web-technologies such as WebRTC, Flash, RTMP, RTMFP, RTSP, HLS, MSE, SIP, and Websocket streaming, which allows delivering a video stream to a wide range of browsers and mobile devices. Development tools and APIs: Web SDK, iOS SDK, Android SDK, REST API. General features: low-latency streaming, low-latency CDN, VR streaming, recording, video mixing, screen-sharing, stream snapshots, real-time video transcoding, VOD, SIP calls, etc.
For more information and related downloads please visit flashphoner.com
You can request a trial here or purchase a commercial license online here.
Start Web Call Server instance container as
docker run -e LICENSE=license_number -e PASSWORD=secret --name webcallserver-instance -d webcallserver:tag
where
license_number is your license number to activatesecret is your password to access container by SSHwebcallserver-instance is the container nametag is Web Call Server version number (5.3.96 e.g.), 5.2-latest for latest 5.2 build or 5.3-latest for lates 5.3 buildYou can also activate your license number on first web interface logon.
Login to the web interface by address https://container_ip:8444/admin/ with demo account (user demo, password demo). Feel free to explore our web application examples.
Login to the WCS web interface with admin account (user admin, password admin). Obtain an SSL certificate from your SSL provider and follow this instructions
Read the use cases on main page, useful articles in our blog, don't forget about official documentation
Web Call Server instance can be stopped as
docker stop webcallserver-instance
The license will be deactivated on container stop to prevent unnecessary billing.
By default, IP address will be set dynamically to the container. So if you suppose to use fixed IP address, you should set it with docker run options and pass to the container using LOCAL_IP variable:
docker run -e LICENSE=license_number -e PASSWORD=secret \
-e LOCAL_IP=static_ip \
--net your-docker-network \
--ip static_ip \
--name webcallserver-instance -d webcallserver:5.3-latest
If your docker host is behind NAT, and your Web Call Server is supposed to be available from outside, you should set external IP address to EXTERNAL_IP variable:
docker run -e LICENSE=license_number -e PASSWORD=secret \
-e LOCAL_IP=static_ip \
-e EXTERNAL_IP=external_ip \
--net your-docker-network \
--ip static_ip \
--name webcallserver-instance -d webcallserver:5.3-latest
The following environment variables can be passed to the container:
PASSWORD - SSH password to access the container. If this variable is not defined, container will not be accessible by SSH using passwordLICENSE - Web Call Server license number. If this variable is not defined, license can be entered on first web interface logonLOCAL_IP - local IP address to set to ip_local parameter in flashphoner.properties configuration file. If this variable is not defined, container IP address will be detected automatically.EXTERNAL_IP - external IP address to set to ip parameter in flashphoner.properties configuration file. If this variable is not defined and LOCAL_IP is not defined, external IP address will be detected automatically.CDN_ROLE - container role in CDN. If this variable is not defined, container will act as standalone serverCDN_ENTRY_POINT - CDN entry point server address for the container. If this variable is not defined, CDN entry point will not be setCDN_GROUPS - CDN groups to which the container should belong. If this variable is not defined, the container will not belong to any CDN groupWCS_FD_LIMIT - a maximum file descriptors available to the WCS process (since 5.3.96)USE_JEMALLOC=true - to use jemalloc memory allocation library (since 5.3.96)SSH_PORT - SSH port to access the container (since 5.3.96). May be useful to set a non-standard SSH port when container is running in the host network --net hostThe following docker volumes can be mounted to the container
/conf - additional configuration files folder. This volume can be mounted as read-only/usr/local/FlashphonerWebCallServer/hls - HLS segments folder. This volume must be mounted with write access/usr/local/FlashphonerWebCallServer/logs - logging folder. This volume must be mounted with write access/usr/local/FlashphonerWebCallServer/media - media files for VOD playback folder. This volume can be mounted as read-only. This volume can be shared with another Web Call Server instances/usr/local/FlashphonerWebCallServer/records - stream recoding files folder. This volume must be mounted with write access. This volume can be shared with another Web Call Server instances/usr/local/FlashphonerWebCallServer/conf - WCS configuration folder (since 5.3.96). This volume must be mounted with write access/usr/local/FlashphonerWebCallServer/report - WCS support reports collection folder (since 5.3.96). This volume must be mounted with write access/usr/local/FlashphonerWebCallServer/snapshots - temporary snapshot files storage folder (since 5.3.96). This volume must be mounted with write accessThe container launch example with all the volumes mounted:
docker run -e LICENSE=license_number -e CDN_ROLE=origin \
-v /opt/wcs/conf:/usr/local/FlashphonerWebCallServer/conf \
-v /opt/wcs/logs:/usr/local/FlashphonerWebCallServer/logs \
-v /opt/wcs/hls:/usr/local/FlashphonerWebCallServer/hls \
-v /opt/wcs/media:/usr/local/FlashphonerWebCallServer/media \
-v /opt/wcs/records:/usr/local/FlashphonerWebCallServer/records \
-v /opt/wcs/report:/usr/local/FlashphonerWebCallServer/report \
-v /opt/wcs/snapshots:/usr/local/FlashphonerWebCallServer/snapshots \
--name webcallserver-instance -d webcallserver:5.3-latest
The following additional configuration files can be placed to the host folder mounted as /conf volume:
id_rsa.pub - public SSH access key. If this file is found during the container start, the container will be accessible with corresponding private key. Otherwise, if PASSWORD variable is defined, the container will be accesible by password. If neiher key, nor password are defined, SSH daemon will not be started.flashphoner.properties - main server configuration file. It can be used for detailed Web Call Server instance configurationwcs-core.properties - Java configuration file. It can be used for memory tuning and JMC connection configurationlog4j.properties - logging configuration filewss.jks - SSL certificates key storage file. This file can be prepared with keytoolcdn_profiles.yml - CDN transcoding profiles configuration filedatabase.yml - user accounts and REST hook applications configuration*.sdp - SDP settings filesAll those files can be used for example to restore Web Call Server instance configuration from backup and automatic deployment.
The files will be copied to the container 'as is', except flashphoner.properties:
ip and ip_local parameters will be changed (see IP_LOCAL variable description above)CDN_ROLE variable is set, but the file contains no CDN settings, the default settings will be addedSince build 5.3.96 the configuration folder may be mounted as volume
docker run -e LICENSE=license_number -e PASSWORD=secret \
-v /opt/wcs/conf:/usr/local/FlashphonerWebCallServer/conf \
--name webcallserver-instance -d webcallserver:5.3-latest
A minimal set of custom files may be placed to the mounted folder before the first container start, for example
database.yml
flashphoner.properties
log4j.properties
wcs-core.properties
wss.jks
When container starts, it will copy all the needed configuration files to the folder if they not exists
The following ports are available by default:
22/tcp - SSH (this port is active only if password or key access is set)554/tcp - RTSP server port1935/tcp - RTMP server port1935/udp - RTMFP server port2001/tcp - server CLI port7777/tcp - server monitoring port8080-8084/tcp - WS, HTTP, CDN ports8443-8445/tcp - WSS, HTTPS ports8888/tcp - HTTPS port (for older versions compatibility)9091/tcp - HTTP port (for older versions compatibility)30000-35000/tcp - TCP media ports30000-35000/udp - UDP media ports50999/tcp - JMX portThe ports can be changed using docker run --expose parameters if necessary. In this case, the actual port values should be set to flashphoner.properties and wcs-core.properties files, see description above
Content type
Image
Digest
sha256:6eb3a1bb4…
Size
524 MB
Last updated
13 minutes ago
docker pull flashphoner/webcallserver:5.3-latest