This script allows you to use several PCs or VMs or Containers to distribute the load of transcoding a video to VP9/Opus format.
Input: Varies
Output: VP9 + Opus
It is intended to copy 5.1 channel audio and up to 1080i video. It will automatically deinterlace the video if needed.
REQUIREMENTS
INSTRUCTIONS
Example:
Login to server1
wget https://raw.githubusercontent.com/Petelombardo/vp9-encode-distributed/master/vp9-encode-distributed
chmod a+x vp9-encode-distributed
Edit the script and set the variable SERVERS="server1 server2".
ssh-keygen
ssh-copy-id server2
ssh server2 "sshfs root@server1:/mnt/shared /mnt/shared"; # Mount server1's /mnt/shared folder on server2
./vp9-encode-distributed /mnt/shared/movie.ts benchmark; # Run this only the first time, or if your server list changes
./vp9-encode-distributed /mnt/shared/movie.ts; # This kicks off the actual vp9 encoding
./vp9-encode-distributed /mnt/shared/movie.ts status; # Tells you the current status of all of the systems.
watch bash ./vp9-encode-distributed /mnt/shared/movie.ts status; # Keeps the status of all of the systems up on your screen perpetually. ctl-c to stop it.
./vp9-encode-distributed /mnt/shared/movie.ts join; # Run this after encoding completes on all nodes. Give the complete path+filename when prompted. example: /mnt/movies/movie.mkv