All Projects → a1q123456 → Harmonic

a1q123456 / Harmonic

Licence: mit
A high performance and scalable RTMP live streaming application framework

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Harmonic

Monibuca
🧩 Monibuca is a Modularized, Extensible framework for building Streaming Server
Stars: ✭ 307 (+153.72%)
Mutual labels:  flv, websocket, rtmp
Node Media Server
A Node.js implementation of RTMP/HTTP-FLV/WS-FLV/HLS/DASH/MP4 Media Server
Stars: ✭ 4,433 (+3563.64%)
Mutual labels:  flv, websocket, rtmp
Zlmediakit
WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181 server and client framework based on C++11
Stars: ✭ 5,248 (+4237.19%)
Mutual labels:  flv, websocket, rtmp
Rtmp
RTMP Server , RTMP Pusher , RTMP Client
Stars: ✭ 119 (-1.65%)
Mutual labels:  flv, rtmp
sms
rtmp server and super media server whith golang.
Stars: ✭ 65 (-46.28%)
Mutual labels:  rtmp, flv
bls
RTMP framework for Nodejs
Stars: ✭ 18 (-85.12%)
Mutual labels:  rtmp, flv
VideoCodecKit
iOS macOS 编解码库 脱离ffmpeg等外部依赖 支持H.264 H.265裸流播放 硬件编解码 rtmp推流等
Stars: ✭ 78 (-35.54%)
Mutual labels:  rtmp, flv
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+3376.03%)
Mutual labels:  framework, websocket
Framework
Node.js framework
Stars: ✭ 4,139 (+3320.66%)
Mutual labels:  framework, websocket
Livego
live video streaming server in golang
Stars: ✭ 7,312 (+5942.98%)
Mutual labels:  flv, rtmp
Iogrid
Multiplayer game engine/framework built using SocketCluster and Phaser
Stars: ✭ 455 (+276.03%)
Mutual labels:  framework, websocket
Analysisavp
音视频学习,相关文件格式/协议分析。h264 nalu aac adts flv
Stars: ✭ 38 (-68.6%)
Mutual labels:  flv, rtmp
cordova-plugin-tencent-liteav
A cordova plugin for video playing with Tencent's LiteAV SDK. Support RTMP/HLS/FLV/MP4.
Stars: ✭ 24 (-80.17%)
Mutual labels:  rtmp, flv
tms
tms(toy media server) is a toy media server for myself learning media develop. Just for fun.
Stars: ✭ 29 (-76.03%)
Mutual labels:  rtmp, flv
ZLMediaKit
WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11
Stars: ✭ 7,790 (+6338.02%)
Mutual labels:  rtmp, flv
Twig
Twig - less is more's web server for golang
Stars: ✭ 98 (-19.01%)
Mutual labels:  framework, websocket
Actionhero
Actionhero is a realtime multi-transport nodejs API Server with integrated cluster capabilities and delayed tasks
Stars: ✭ 2,280 (+1784.3%)
Mutual labels:  framework, websocket
Chimee
a video player framework aims to bring wonderful experience on browser
Stars: ✭ 2,332 (+1827.27%)
Mutual labels:  framework, flv
Primus
⚡ Primus, the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in.
Stars: ✭ 4,302 (+3455.37%)
Mutual labels:  framework, websocket
Nodefony Starter
Nodefony Starter Node.js Framework
Stars: ✭ 95 (-21.49%)
Mutual labels:  framework, websocket

master is not a stable branch, you may want to see the latest tag

Harmonic

A high performance RTMP live streaming application framework

Getting started

Code

Program.cs

using Harmonic.Hosting;
using System;
using System.Net;

namespace demo
{
    class Program
    {
        static void Main(string[] args)
        {
            RtmpServer server = new RtmpServerBuilder()
                .UseStartup<Startup>()
                .Build();
            var tsk = server.StartAsync();
            tsk.Wait();
        }
    }
}

StartUp.cs

using Autofac;
using Harmonic.Hosting;

namespace demo
{
    class Startup : IStartup
    {
        public void ConfigureServices(ContainerBuilder builder)
        {

        }
    }
}

Build a server like this to support websocket-flv transmission

RtmpServer server = new RtmpServerBuilder()
    .UseStartup<Startup>()
    .UseWebSocket(c =>
    {
        c.BindEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 8080);
    })
    .Build();

push video file using ffmpeg

ffmpeg -i test.mp4 -f flv -vcodec h264 -acodec aac "rtmp://127.0.0.1/living/streamName"

play rtmp stream using ffplay

ffplay "rtmp://127.0.0.1/living/streamName"

play flv stream using flv.js by websocket

<video id="player"></video>

<script>

    if (flvjs.isSupported()) {
        var player = document.getElementById('player');
        var flvPlayer = flvjs.createPlayer({
            type: 'flv',
            url: "ws://127.0.0.1/websocketplay/streamName"
        });
        flvPlayer.attachMediaElement(player);
        flvPlayer.load();
        flvPlayer.play();
    }
</script>

Dive in deep

You can view docs here

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].