clustercode-worker

command module
v0.0.0-...-2a3f13b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 16, 2019 License: MIT Imports: 10 Imported by: 0

README

clustercode-worker

Worker microservice for clustercode [WIP]

Concept

  • Split video with ffmpeg -i movie.mp4 -c copy -map 0 -segment_time 120 -f segment movie_segment_%d.mkv on "shovel" node
  • Transcode each segment with ffmpeg -i movie_segment_1.mp4 -c:v copy -c:a copy movie_segment_1.mkv on compute node (with whatever parameters)
  • Create the concat file: echo "file movie_segment_1.mkv" >> concat.txt (make sure they are sorted!)
  • Merge the segments back into 1 file: ffmpeg -f concat -i concat.txt -c copy movie_out.mkv

Development

Building

sudo snap install go --classic # or whatever package manager you use
sudo apt-get install g++
go build ./...

Running

# Run
go build main.go
./clustercode-worker
# OR
go run main.go

Configuring for local development

  • Copy clustercode.yaml to localconfig.yaml
  • Create the directories input, output in the current working dir.
  • Change the input and output dirs in localconfig.yaml
  • Delete other values in localconfig.yaml that are already default, leaving the custom ones left.
  • When starting again, be sure to pass -c localconfig to the binary as arguments (without extension).

Testing

Unit tests:

go test ./...

Integration tests:

docker network create clustercode
docker-compose up -d --build
# You may then send some messages to rabbitmq
test/task.py
test/slice.py
test/cancel.py

Branches

  • master: Development branch.

Image Tags

  • master: Upon building the master branch CI pipeline will build a docker images with the tag master and push to Docker Hub. This should be considered experimental and not particularly stable.
  • tags: Particular versioned Release tags

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL