All Projects → duythongle → k8s-openresty-streaming

duythongle / k8s-openresty-streaming

Licence: MIT License
Full-fledged media streaming server with OpenResty and rtmp module

Programming Languages

Dockerfile
14818 projects

Projects that are alternatives of or similar to k8s-openresty-streaming

Multistreamer
[discontinued] A webapp for publishing video to multiple streaming services at once.
Stars: ✭ 281 (+659.46%)
Mutual labels:  stream, rtmp, openresty
panel
ReCast is a multi platform restreaming tool, you can stream with one servers to multiple services
Stars: ✭ 40 (+8.11%)
Mutual labels:  stream, nginx-rtmp
Lua Resty Auto Ssl
On the fly (and free) SSL registration and renewal inside OpenResty/nginx with Let's Encrypt.
Stars: ✭ 1,786 (+4727.03%)
Mutual labels:  letsencrypt, openresty
comfy-channel
A 24/7 live video broadcast with automatic content selection and overlays using FFMPEG and Python!
Stars: ✭ 37 (+0%)
Mutual labels:  stream, nginx-rtmp
Rtmp Rtsp Stream Client Java
Library to stream in rtmp and rtsp for Android. All code in Java
Stars: ✭ 1,338 (+3516.22%)
Mutual labels:  stream, rtmp
Multi Streaming Server
A NGINX server with RTMP module to send video streaming to multiple services simultaneously (Youtube, Twitch, Dailymotion, Hitbox, Beam, etc...).
Stars: ✭ 132 (+256.76%)
Mutual labels:  stream, rtmp
ghichep-StreamingVideo
Ghi chép về Livestream sử dụng Opensource - Xây dựng một máy chủ Livestream theo cách đơn giản nhất - NGINX RTMP Dockerfile
Stars: ✭ 40 (+8.11%)
Mutual labels:  stream, nginx-rtmp
Docker Multistreamer
Dockerized multistreamer
Stars: ✭ 90 (+143.24%)
Mutual labels:  rtmp, openresty
sms
rtmp server and super media server whith golang.
Stars: ✭ 65 (+75.68%)
Mutual labels:  stream, rtmp
lua-resty-acme
Automatic Let's Encrypt certificate serving and Lua implementation of ACMEv2 procotol
Stars: ✭ 95 (+156.76%)
Mutual labels:  letsencrypt, openresty
wsa
WSA(Websocket Streaming Agent) is a stream server target for mp4/h264 streaming over websocket
Stars: ✭ 35 (-5.41%)
Mutual labels:  stream, rtmp
Nginx Rtmp Docker
Docker image with Nginx using the nginx-rtmp-module module for live multimedia (video) streaming.
Stars: ✭ 506 (+1267.57%)
Mutual labels:  stream, rtmp
Huong-dan-cai-dat-stream-server-va-chuyen-doi-video-sang-streaming
Hướng dẫn cài đặt stream server và chuyển đổi video thường sang dạng TS Streaming
Stars: ✭ 29 (-21.62%)
Mutual labels:  stream, nginx-rtmp
Docker Nginx Auto Ssl
Docker image for automatic generation of SSL certs using Let's encrypt and Open Resty
Stars: ✭ 282 (+662.16%)
Mutual labels:  letsencrypt, openresty
Nginx Http Flv Module
Media streaming server based on nginx-rtmp-module. In addtion to the features nginx-rtmp-module provides, HTTP-FLV, GOP cache and VHOST (one IP for multi domain names) are supported now.
Stars: ✭ 2,063 (+5475.68%)
Mutual labels:  rtmp, nginx-rtmp
rtmp-social-multicast
Want to stream to Twitch, YouTube, Facebook, and/or Periscope at the same time? That's what this project allows you to do!
Stars: ✭ 42 (+13.51%)
Mutual labels:  stream, rtmp
Janus Webrtc Gateway Docker
Perfect Docker Image for Media Streaming Expert User ( https://github.com/meetecho/janus-gateway )
Stars: ✭ 582 (+1472.97%)
Mutual labels:  rtmp, openresty
nott
The New OTT Platform - an excuse to discuss and design a simple edge computing platform
Stars: ✭ 46 (+24.32%)
Mutual labels:  openresty, nginx-rtmp
livego
直播服务器 hls stream online RTMP AMF HLS HTTP-FLV
Stars: ✭ 30 (-18.92%)
Mutual labels:  stream, rtmp
streamdelay
A delay + dump button for live streams, allowing screening and redaction of explict content.
Stars: ✭ 31 (-16.22%)
Mutual labels:  stream, rtmp

Description

k8s-openresty-streaming is a full-fledged media streaming server with OpenResty and rtmp module for Kubernetes

Features

Prerequisites

Usage

Quickstart with Docker

SSH to your server and run

# Clone this repo
git clone https://github.com/duythongle/k8s-openresty-streaming.git  
# Run image and mount config files for later editing
docker run -dit --name my_streaming_server \
  -p 80:80 \
  -p 443:443 \
  -p 1935:1935 \
  -v ~/k8s-openresty-streaming/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf \
  thongld/k8s-openresty-streaming:alpine-fat \
  openresty -g "daemon off;"

Then your browser should display OpenResty welcome home page at http://streaming_server_ip/ . Later on, just edit the mounted nginx.config file at ~/k8s-openresty-streaming/nginx.conf for your needs and apply changes with command below

sudo docker exec my_streaming_server sh -c "openresty -t && openresty -s reload"

Quickstart with Kubernetes

# Coming soon...

Then go to http://streaming_server_ip/ to view openresty welcome home page

More...

  • GeoIP REST API can be accessed at public location /api/geoip. Ex.: http://streaming_server_ip/api/geoip/location/8.8.4.4. Read more geoip api at Telize GeoIP REST API
  • Point your DNS to the server ip and see the magic of Auto SSL happens at https://streaming_server_domain

Note: Let's Encrypt has rate limits and the first https request for a domain may take a few seconds to complete

  • nginx rtmp module has default application endpoint my_live_stream. You can push your live stream to the server via url: rtmp://streaming_server_ip_or_domain:1935/my_live_stream/my_stream_name and playback with hls url http://streaming_server_ip_or_domain/hls/my_stream_name

Building from source

git clone https://github.com/duythongle/k8s-openresty-streaming.git
cd k8s-openresty-streaming
docker build -t openresty-streaming-server -f alpine-fat/Dockerfile .
# Then run the image
docker run -dit --name my_streaming_server \
  -p 80:80 \
  -p 443:443 \
  -p 1935:1935 \
  -v ~/k8s-openresty-streaming/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf \
  openresty-streaming-server \
  openresty -g "daemon off;"

TODO

  • 12factor ready
  • K8s ready
  • Helm support
  • Auto reload Nginx when .conf changes
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].