memories/go-vod
Varun Patil 6ea28fa775 ci: update workflows 2023-11-01 09:43:27 -07:00
..
transcoder Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
.dockerignore Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
.gitignore Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
Dockerfile Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
LICENSE Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
README.md Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
build-ffmpeg-nvidia.sh Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
build-ffmpeg.sh Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
dev.Dockerfile Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
go.mod Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
main.go Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00
run.sh Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433' 2023-11-01 09:32:27 -07:00

README.md

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.