Aller au contenu principal
loading

Encoder en ligne de commande des vidéos en PHP aux formats compatibles pour téléphones portables Android, iPhone et Blackberry

POSTÉ DANS PHP TAGS PHP AUTEUR herve COMMENTAIRES 7

Après avoir galéré avec ffmpeg, j'ai trouvé une autre solution pour encoder en ligne de commande des vidéos pour des sites web mobiles, lisibles à la fois sur les terminaux Android, les iPhones et les BlackBerry. 

La démarche est pour Ubuntu, mais un outils graphique est dispo sous Windows, via le logiciel Handbrake.
 

Ajouter les dépôts pour Handbrake

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 62D38753 
sudo bash -c 'echo "deb http://ppa.launchpad.net/handbrake-ubuntu/ppa/ubuntu jaunty main" > /etc/apt/sources.list.d/launchpad_handbrake.list'

(Jaunty est pour Ubuntu 9.04. A vous d'adapter selon votre distribution.) 

Installer HandBrake

sudo apt-get update 
sudo apt-get install handbrake-cli 

Pour la démarche en mode graphique, voir le post http://www.commentcamarche.net/faq/18915-linux-ubuntu-convertir-un-dvd-… 

Pour tester que tout marche bien, lancer la commande suivante, en remplacant INPUTVIDEO et OUTPUTVIDEO : 
HandBrakeCLI -i "INPUTVIDEO" -t 1 -c 1 -o "OUTPUTVIDEO.mp4" -f mp4 -O  -X 320 -e x264 -b 1000 -a 1 -E faac -6 dpl2 -R 48 -B 128 -D 0.0  -x cabac=0:ref=2:me=umh:bframes=0:subq=6:8x8dct=0:trellis=0:weightb=0 -v 1

Ainsi, en PHP, on passera cette commande par la fonction exec, à savoir : 

$command = '/usr/bin/HandBrakeCLI -i "'.$inputfile.'" -t 1 -c 1 -o "'.$outputfile.'" -f mp4 -O  -X 320 -e x264 -b 1000 -a 1 -E faac -6 dpl2 -R 48 -B 128 -D 0.0  -x cabac=0:ref=2:me=umh:bframes=0:subq=6:8x8dct=0:trellis=0:weightb=0 -v 1';
exec($command, $return, $return_code);

Articles en lien avec ce sujet : 
http://www.linux.com/archive/feature/114130
http://www.broken-links.com/2010/07/30/encoding-video-for-android/



7 commentaire