Bonjour,
Je viens de terminer l'écriture d'un script permettant d'automatiser l'encodage de vidéos pour un téléphone portable.
MAJ 13/09/2008
Version 0.3.3
Paquet deb (
Signature)
Tarball (
Signature)
Version 0.3.1
Paquet deb (
Signature)
Tarball (
Signature)
Version 0.3
Paquet deb (
Signature)
Tarball (
Signature)
Version 0.2
Lien
Signature
Change log
v0.3.3
- Corrections de divers bug que j'étais persuadé d'avoir déjà corrigé 😐 (tout devrait fonctionner convenablement maintenant)
- L'encodage des sous-titres ne devrait fonctionner que sous debian lenny désormais (à cause de la version de mencoder plus récente sous cette distribution), il devra normalement fonctionner sous la prochaine version d'ubuntu.
v0.3.1
- Abandon de mplayer pour la conversion audio, remplacé par ffmpeg (pour une meilleur compatibilité avec debian sid)
- Corrige un bug de dépendance dans le paquet deb.
v0.3
- Ajoute un mode batch qui permet d'encoder les vidéos à la manière d'un serveur d'encodage
- Légère amélioration pour éviter les pics de bitrates (non testé)
v0.2
- Correction d'un bug qui générait une erreur à la génération du fichier MKV encodé
- Amélioration de la ligne de commande de mencoder pour éviter les pics de bitrates.
Fonction
Ce script est capable d'encoder des vidéos d'une très grande variété de format vers un fichier mkv contenant un flux audio aac et vidéo h264 avec une résolution de 320 sur 240 pixels.
Comment l'utiliser
Il suffit d'ouvrir un console dans le répertoire où est copié le script et de tapper
./mkv_mobile video_a_encoder
La vidéo peut être située dans un autre répertoire que le script.
À partir de la version 0.3, il est possible de lancer le script comme un serveur d'encodage (mkvmobile sans options ou avec -b). Il créé un dossier .mkvmobile dans le home de l'utilisateur et le surveille. Il suffit alors de copier les vidéos à traiter dans le dossier .mkvmobile (ou bien de simples liens, ça marche aussi) et le script encodera les vidéos au fur et mesure, il gère les éventuelles erreurs et log le résultat de l'encodage dans le le sous-dossier log.
Dépendances nécessaires
Pour fonctionner le script à besoin que soit installé sur le système :
- [apt]mkvtoolnix[/apt]
- [apt]mencoder[/apt]
- [apt]file[/apt]
- [apt]faac[/apt]
- [apt]ffmpeg[/apt]
Amélioration à apporter
- Uniformiser un peu le code (et améliorer son écriture)
- Améliorer la commande d'encodage (améliorer la vitesse d'encodage, améliorer la qualité de la vidéo, permettre l'évitement du frame dropping lors de la lecture des vidéos sur les appareils mobiles)
- Améliorer le système de gestion d'erreur (tout est en error=1, il serait peut-être possible de personnaliser le code en fonction de l'erreur)
- Améliorer la fonction de log
- Ajouter un mode deamon pour encoder les vidéo sur un serveur sans intervention humaine
- Corriger les (trop) nombreuses fautes d'orthographes
- Internationaliser les messages
- Ajouter le support des sous-titres
Bugs connus
- Lors de l'encodage d'une vidéo d'un ratio inférieur à 4/3, l'encodage s'effectue correctement, mais les erreurs suivantes apparaissent en console
(standard_in) 2: illegal character: O
(standard_in) 2: parse error
- Les paramètres d'encodages ne sont pas convenablement optimisés pour une bonne qualité vidéo tout en évitant une monter trop importante du bitrate sur certaines vidéo, c'est un point à travailler.
Voilà, il s'agit de mon tout premier projet, il est diffusé sous licence GPL3.
Le script est bien entendu éditable pour l'adapter à différents besoin, si vous avez des questions, ou que vous souhaitez contribuer à l'amélioration du script, n'hésitez pas.
L'appareil pour lequel ce script a été écrit est un nokia 6110 navigator avec le lecteur vidéo propriétaire coreplayer.