Products >> Media Server

Media Server

Happytime media server is a simple, lightweight, high-performance, and stable stream server, it outputs RTSP,RTMP,SRT(Secure Reliable Transport),HTTP-FLV,HLS streams.
It supports the transmission of audio and video files in a variety of formats, supports video transfer from cameras, living screens and application windows, and audio from audio devices. Supports transmission of H265,H264,MP4,MJPEG video streams and G711,G722,G726,AAC,OPUS audio streams. These streams can be played by a standards-compliant RTSP/RTMP/SRT/RTP/HTTP-FLV/HLS media client.
Happytime media server supports RTSP/RTMP/SRT proxy function, which facilitates server multi-level deployment and easily meets server expansion requirements. Support multiple platforms, including Windows, Linux/Unix, MAC, iOS, Android etc., support cross-compilation, support for embedded platforms. Happytime media serve is based on multi-threaded development, with less system resources and stable and reliable operation.
Happytime Media Server for Android

Support a variety of audio and video files
Support streaming video from camera and living screen
Support streaming video from application windows
Support streaming audio from audio device
Support RTSP stream to RTMP/SRT/HTTP-FLV/HLS stream
Support RTMP stream to RTSP/SRT/HTTP-FLV/HLS stream
Support media proxy on-demand connection
Support RTSP/RTMP/SRT relay
Support RTSP/RTMP/SRT proxy function

Key features

It outputs RTSP,RTMP,SRT,HTTP-FLV,HLS streams
Support for a variety of audio and video files
Support streaming video from camera and living screen
Support streaming video from application windows
Support streaming audio from audio devices
Support recording system sound on Windows
Support streaming H265, H264, MP4, MJPEG video streams
Support streaming G711, G722, G726, AAC, OPUS audio streams
Support for configuring audio and video output parameters
Support media proxy, include rtsp,rtmp and http mjpeg stream
Support audio back channel
Support RTSP over HTTP/HTTPS function
Support RTSP over websocket function
Support RTP multicast function(the same rtsp url sessions use the same multicast address and port)
Support RTSP push function
Support RTP over UDP, RTP over TCP data push
Support ONVIF audio/video playback function
Support RTSP/RTMP/SRT pusher
Support RTSP stream to RTMP/SRT/HTTP-FLV/HLS stream
Support RTMP stream to RTSP/SRT/HTTP-FLV/HLS stream
Support RTSP/RTMP/SRT relay
Support media proxy on-demand connection
With automatic transcoding
Small size for embedded development
Multi-threaded processing, less resource usage

Function chart


Data pusher

Data pusher means that media server receives external data sources and then sends them out as RTSP/RTMP/SRT/HTTP-FLV/HLS streams.
The data pusher support RTSP/RTMP/SRT mode.
If it is RTSP mode, it supports standard RTSP push stream, such as FFMPEG rtsp pusher.

FFMPEG rtsp over UDP:
ffmpeg -re -i test.mp4 -vcodec libx264 -acodec copy -preset ultrafast -f rtsp rtsp://ip:port/myapp/live

FFMPEG rtsp over TCP:
ffmpeg -re -i test.mp4 -vcodec libx264 -acodec copy -preset ultrafast -f rtsp -rtsp_transport tcp rtsp://ip:port/myapp/live

If it is RTMP mode, it supports standard RTMP push stream, such as FFMPEG rtmp pusher.
ffmpeg -re -i test.mp4 -vcodec libx264 -acodec aac -f flv rtmp://ip:port/myapp/live

The corresponding stream address is:
Rtsp stream : rtsp://ip:pport/myapp/live
Rtmp stream : rtmp://ip:port/myapp/live
SRT stream : srt://ip:port?streamid=myapp/live
HTTP-FLV stream: http://ip:port/myapp/live
HLS stream : http://ip:port/myapp/live.m3u8

RTSP over HTTP

The key of RTSP over HTTP is to allow RTSP packets to communicate via HTTP port.
We know that the standard port of RTSP is 554, but due to various security policy configurations such as firewalls, there may be restrictions when the client accesses port 554, which prevents the normal transmission of RTSP packets. But the HTTP port (port 80) is generally open, so there is the idea of letting RTSP packets pass through port 80, namely RTSP over HTTP

RTSP over Websocket

First establish an HTTP connection, and then upgrade to the websocket protocol,RTSP over websocket protocol upgrade process:

C-->S:
GET /websocket HTTP/1.1
Host: 192.168.3.27
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: KSO+hOFs1q5SkEnx8bvp6w==
Origin: http://192.168.3.27
Sec-WebSocket-Protocol: rtsp.onvif.org
Sec-WebSocket-Version: 13

S-->C:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: G/cEt4HtsYEnP0MnSVkKRk459gM=
Sec-WebSocket-Protocol: rtsp.onvif.org
Sec-WebSocket-Version: 13

After the protocol upgrade is successful, perform standard rtsp protocol exchange, and send and receive data through websocket connection.

Support for multiple platforms

Happytime Media server source code is written in C/C++ language
Support Windows platform
Support Linux / UNIX platform
Support Android platform
Support iOS / MAC platform
Support embedded platforms

Helps you host an Media server on your computer without effort

Happytime Media Server's sole purpose is to help you host a server on your computer that allows you to broadcast various multimedia streams. Running the executable automatically starts the server and provides you with brief instructions on how to play a stream from an external location.
This application features support for various audio and video documents, camera device, live screen and audio device. Therefore, you are provided with multiple possibilities regarding file compatibility. However, the files you want to access via streaming need to be in the same directory as the server executable.

Version limitation

The demo version supports up to 4 concurrent streams.
The release version supports up to 100 concurrent streams