Skip to content
This repository has been archived by the owner on Nov 21, 2023. It is now read-only.
/ go-vod Public archive

Zero-dependency HLS VOD server in go

License

Notifications You must be signed in to change notification settings

pulsejet/go-vod

Repository files navigation

⚠️⚠️⚠️ Historical ⚠️⚠️⚠️

This repo is historical and go-vod has been merged into the 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.

Filing Issues

Please file issues at the 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

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. The projects use different approaches for segmenting the transcodes.