Transcodes HTTP-stream to HLS with additional features:
- Web-access to transcoded content
- On-demand transcoding
- Quits after specific period of inactivity
- FFmpeg 3+
% ./server help
NAME:
content-transcoder-server - runs content transcoder
USAGE:
server [global options] command [command options] [arguments...]
VERSION:
0.0.1
COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--host value, -H value listening host
--port value, -P value listening port (default: 8080)
--probe-port value, --pP value probe port (default: 8081)
--input value, -i value, --url value input (url) [$INPUT, $ SOURCE_URL, $ URL]
--output value, -o value output (local path) (default: "out")
--content-prober-host value, --cpH value hostname of the content prober service [$CONTENT_PROBER_SERVICE_HOST]
--content-prober-port value, --cpP value port of the content prober service (default: 50051) [$CONTENT_PROBER_SERVICE_PORT]
--access-grace value, --ag value access grace in seconds (default: 600) [$GRACE]
--preset value transcode preset (default: "ultrafast") [$PRESET]
--transcode-grace value, --tg value transcode grace in seconds (default: 5) [$TRANSCODE_GRACE]
--probe-timeout value, --pt value probe timeout in seconds (default: 600) [$PROBE_TIMEOUT]
--job-id value job id [$JOB_ID]
--info-hash value info hash [$INFO_HASH]
--file-path value file path [$FILE_PATH]
--extra value extra [$EXTRA]
--player player
--help, -h show help
--version, -v print the version
cd server &&
rm -rf out/* && rm -rf tmp/* &&
go build -mod=vendor . &&
./server --input='https://github.com/Matroska-Org/matroska-test-files/raw/master/test_files/test5.mkv' --player=true
Then you can open your browser http://localhost:8080/player/ and watch movie