All Projects → shimberger → Gohls

shimberger / Gohls

Licence: other
A server that exposes a directory for video streaming via web interface

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Gohls

nott
The New OTT Platform - an excuse to discuss and design a simple edge computing platform
Stars: ✭ 46 (-88.75%)
Mutual labels:  ffmpeg, hls
Python Ffmpeg Video Streaming
📼 Package media content for online streaming(DASH and HLS) using FFmpeg
Stars: ✭ 269 (-34.23%)
Mutual labels:  ffmpeg, hls
cassandra-nginx-cdn
Some config files and POC code to use Apache Cassandra as distributed storage for HLS chunks accross multiple datacenters and scripts for converting/transcoding UDP MPEG-TS to HLS and vice versa. The idea is take from Globo.com’s Live Video Platform for FIFA World Cup ’14.
Stars: ✭ 24 (-94.13%)
Mutual labels:  ffmpeg, hls
Superview
A small program that takes a 4:3 aspect ratio video file, and transforms it to a 16:9 video using the GoPro SuperView method
Stars: ✭ 137 (-66.5%)
Mutual labels:  hacktoberfest, ffmpeg
Awesome Live Stream
Webrtc && Nginx && DASH && Quic 学习资料收集,持续更新中
Stars: ✭ 290 (-29.1%)
Mutual labels:  ffmpeg, hls
videojs-hlsjs
HLS playback plugin for videojs
Stars: ✭ 26 (-93.64%)
Mutual labels:  hls, videojs
SharpGrabber
Download from YouTube, Vimeo, PornHub, HLS (M3U8 files) with .NET and JavaScript, Library and desktop app for downloading high quality media
Stars: ✭ 138 (-66.26%)
Mutual labels:  ffmpeg, hls
Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+400.73%)
Mutual labels:  ffmpeg, hls
Modfy.video
A video transcoder and converter built using Web Assembly and FFMPEG to transcode and convert videos right in your browser while protecting your privacy
Stars: ✭ 283 (-30.81%)
Mutual labels:  hacktoberfest, ffmpeg
Vue Videojs Demo
Use video.js & vue to play RTMP && HLS streams && playback
Stars: ✭ 275 (-32.76%)
Mutual labels:  hls, videojs
Hls.js
HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.
Stars: ✭ 10,791 (+2538.39%)
Mutual labels:  hacktoberfest, hls
Vue Video Player
🎞 @videojs component for @vuejs
Stars: ✭ 4,026 (+884.35%)
Mutual labels:  hls, videojs
Php Ffmpeg Video Streaming
📼 Package media content for online streaming(DASH and HLS) using FFmpeg
Stars: ✭ 246 (-39.85%)
Mutual labels:  ffmpeg, hls
smart rtmpd
RTMP server, smart, compact, high performance(c, c++), high concurrency, easy to maintain, easy to deploy, (supports multiple operating systems Windows and Linux, ARM, FreeBSD)
Stars: ✭ 159 (-61.12%)
Mutual labels:  ffmpeg, hls
Digital video introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Stars: ✭ 12,184 (+2878.97%)
Mutual labels:  ffmpeg, hls
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 (-92.91%)
Mutual labels:  ffmpeg, hls
Ffplayout Engine
python and ffmpeg based playout
Stars: ✭ 128 (-68.7%)
Mutual labels:  ffmpeg, hls
Rtmp Ts Dash Webrtc
👾 音视频解决方案 Audio and video solutions(AV1)
Stars: ✭ 129 (-68.46%)
Mutual labels:  ffmpeg, hls
Fvid
fvid is a project that aims to encode any file as a video using 1-bit color images to survive compression algorithms for data retrieval.
Stars: ✭ 276 (-32.52%)
Mutual labels:  hacktoberfest, ffmpeg
Php Practice
🌹 一天一点点,积少成多...
Stars: ✭ 351 (-14.18%)
Mutual labels:  ffmpeg, hls

Golang HLS Streamer

CircleCI GoDoc

Simple server that exposes a directory for video streaming via HTTP Live Streaming (HLS). Uses ffmpeg for transcoding.

This project is cobbled together from all kinds of code I had lying around so it's pretty crappy all around. It also has some serious shortcomings.

Running it

Important: You need the ffmpeg and ffprobe binaries in your PATH. The server will not start without them. You can find builds most operating systems at https://ffmpeg.org/download.html.

1. Download the binary for your operating system

You can find the latest release on the releases page https://github.com/shimberger/gohls/releases or just download a current snapshot:

2. Create a configuration file

The configuration is stored in JSON format. Just call the file gohls-config.json or whatever you like. The format is as follows:

{
	"folders": [
		{
			"path": "~/Videos",
			"title": "My Videos"
		},
		{
			"path": "~/Downloads",
			"title": "My Downloads"
		}
	]
}

This will configure which directories on your system will be made available for streaming. See the screenshot for details:

3. Run the server

Execute the command gohls serve -config <path-to-config> e.g. gohls serve -config gohls-config.json to serve the videos specified by the config file. To make the server listen on another port or address just use the serve command with --listen like so (the example uses port 7000 on all interfaces): gohls serve --listen :7000 -config <path-to-config>

4. Open a web browser

Visit the URL http://127.0.0.1:8080 to access the web interface.

Contributing

Requirements

Initial setup

  1. Clone the repository [email protected]:shimberger/gohls.git
  2. Build frontend cd ui/ && npm install && npm run build && cd ..

Running server

To then run the development server execute: ./scripts/run.sh serve

License

See LICENSE.txt

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