File | Date | Author | Commit |
---|---|---|---|
CallUpload.sh | 2015-04-04 |
![]() |
[27a125] Update CallUpload.sh |
README.md | 2015-04-25 |
![]() |
[d607e3] Update README.md |
transcode-master.sh | 2015-04-04 |
![]() |
[d6721b] Update transcode-master.sh |
transcode-nodes.sh | 2015-04-03 |
![]() |
[75ff58] script commit |
transcoding.sql | 2015-04-18 |
![]() |
[43f0c0] Database SQL File |
Simple Scalable, Parallel, Multi-bitrate Video Transcoding On Centos / Ubuntu / Suse / RedHat (Bash Scripts)
Multi-bitrate Video processing requires lots of computing power and time to process full movie. There are different open source video transcoding and processing tools freely available in Linux, like libav-tools, ffmpeg, mencoder, and handbrake. However, none of these tools support PARALLEL computing easily.
After some research, I found amazing solution designed & developed by 'Dustin Kirkland' based on Ubuntu JUJU and avconv. But our requirement was little bit diffrent from Dustins's solution. Our requirement was to convert single video in Multi-bitrate and in formats like 3gp, flv and upload them to single or multiple CDN(like Akamai or tata). Also we want to build this solution on top of CentOS and ffmpeg. So I decided to design and develop "Simple Scalable, Parallel, Multi-bitrate Video Transcoding System" by myself. Here is my solution.
The Algorithm is same as Dustin's solution but with some changes:
# useradd -m ftptest; passwd ftptest
# sed -i 's#start() {#start() {\n\t/usr/sbin/pure-uploadscript -B -r /srv/CallUpload.sh#g' /etc/init.d/pure-ftpd
# sed -i 's#stop() {#stop() {\n\tkillall -9 pure-uploadscript#g' /etc/init.d/pure-ftpd
NFS Export /srv directory and mount it on all nodes with NFS client option "lookupcache=none"
start screen named master and run below command
# screen -S master
# bash -x /srv/transcode-master.sh > /home/master.log 2>&1
# screen -S nodes
# bash -x /srv/transcode-nodes.sh > /home/nodes.log 2>&1