https://github.com/webtor-io/content-transcoder
Transcodes HTTP-stream to HLS
https://github.com/webtor-io/content-transcoder
ffmpeg-wrapper transcoding
Last synced: 3 months ago
JSON representation
Transcodes HTTP-stream to HLS
- Host: GitHub
- URL: https://github.com/webtor-io/content-transcoder
- Owner: webtor-io
- License: mit
- Created: 2019-12-03T17:25:26.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-03-09T16:24:34.000Z (4 months ago)
- Last Synced: 2025-03-09T17:25:04.517Z (4 months ago)
- Topics: ffmpeg-wrapper, transcoding
- Language: Go
- Homepage: https://webtor.io
- Size: 44.5 MB
- Stars: 27
- Watchers: 2
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# content-transcoder
Transcodes HTTP-stream to HLS with additional features:
1. Web-access to transcoded content
2. On-demand transcoding
3. Quits after specific period of inactivity## Requirements
1. FFmpeg 3+## Basic usage
```
% ./server help
NAME:
content-transcoder-server - runs content transcoderUSAGE:
server [global options] command [command options] [arguments...]VERSION:
0.0.1COMMANDS:
help, h Shows a list of commands or help for one commandGLOBAL 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
```## Example
```
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