https://github.com/pulsejet/go-vod
Zero-dependency HLS VOD server in go
https://github.com/pulsejet/go-vod
ffmpeg hls memories video
Last synced: 5 months ago
JSON representation
Zero-dependency HLS VOD server in go
- Host: GitHub
- URL: https://github.com/pulsejet/go-vod
- Owner: pulsejet
- License: apache-2.0
- Archived: true
- Created: 2022-11-10T12:27:59.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-01T17:15:46.000Z (over 1 year ago)
- Last Synced: 2024-08-07T23:47:32.131Z (9 months ago)
- Topics: ffmpeg, hls, memories, video
- Language: Go
- Homepage: https://github.com/pulsejet/memories
- Size: 127 KB
- Stars: 27
- Watchers: 2
- Forks: 12
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ⚠️⚠️⚠️ Historical ⚠️⚠️⚠️
This repo is historical and go-vod has been merged into the [Memories](https://github.com/pulsejet/memories) monorepo. This repo will be archived soon.
# go-vod
Extremely minimal on-demand video transcoding server in go. Used by the FOSS photos app, [Memories](https://github.com/pulsejet/memories).
## Filing Issues
Please file issues at the [Memories](https://github.com/pulsejet/memories) repository.
## Usage
Note: this package provides bespoke functionality for Memories. As such it is not intended to be used as a library.
You need go and ffmpeg/ffprobe installed
```bash
CGO_ENABLED=0 go build -ldflags="-s -w"
./go-vod
```The server exposes all files as HLS streams, at the URL
```
http://localhost:47788/player-id/path/to/file/index.m3u8
```## Thanks
Partially inspired from [go-transcode](https://github.com/m1k1o/go-transcode). The projects use different approaches for segmenting the transcodes.