2022-11-11 04:20:45 +00:00
|
|
|
# go-vod
|
|
|
|
|
2022-11-11 05:23:20 +00:00
|
|
|
Extremely minimal on-demand video transcoding server in go. Used by the FOSS photos app, [Memories](https://github.com/pulsejet/memories).
|
2022-11-11 04:20:45 +00:00
|
|
|
|
2023-10-17 18:43:51 +00:00
|
|
|
## Filing Issues
|
|
|
|
|
|
|
|
Please file issues at the [Memories](https://github.com/pulsejet/memories) repository.
|
|
|
|
|
2022-11-11 04:20:45 +00:00
|
|
|
## Usage
|
|
|
|
|
2023-10-17 18:43:51 +00:00
|
|
|
Note: this package provides bespoke functionality for Memories. As such it is not intended to be used as a library.
|
|
|
|
|
2022-11-11 04:20:45 +00:00
|
|
|
You need go and ffmpeg/ffprobe installed
|
|
|
|
|
|
|
|
```bash
|
|
|
|
CGO_ENABLED=0 go build -ldflags="-s -w"
|
2022-11-11 04:22:07 +00:00
|
|
|
./go-vod
|
2022-11-11 04:20:45 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
The server exposes all files as HLS streams, at the URL
|
|
|
|
```
|
|
|
|
http://localhost:47788/player-id/path/to/file/index.m3u8
|
|
|
|
```
|
2022-11-11 05:30:54 +00:00
|
|
|
|
|
|
|
## Thanks
|
2022-11-11 05:31:47 +00:00
|
|
|
Partially inspired from [go-transcode](https://github.com/m1k1o/go-transcode). The projects use different approaches for segmenting the transcodes.
|