#1 Le 16/08/2008, à 01:31
- Goldy
Un script d'encodage vidéos pour coreplayer mobile
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
Version 0.3.1
Version 0.3
Version 0.2
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 :
- mkvtoolnix
- mencoder
- file
- faac
- ffmpeg
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.
Dernière modification par Goldy (Le 13/09/2008, à 14:41)
Hors ligne
#2 Le 18/08/2008, à 02:35
- Goldy
Re : Un script d'encodage vidéos pour coreplayer mobile
Sortie de la version 0.2 qui corrige un bug et optimise mieux l'encodage.
Je publie le tout dans une archive signé, c'est plus propre.
Dernière modification par Goldy (Le 18/08/2008, à 02:35)
Hors ligne
#3 Le 04/09/2008, à 17:25
- Goldy
Re : Un script d'encodage vidéos pour coreplayer mobile
Release de la version 0.3 avec ajout d'un mode batch. Voir le premier post du thread.
Hors ligne
#4 Le 04/09/2008, à 17:32
- ®om
Re : Un script d'encodage vidéos pour coreplayer mobile
Les téléphones portables supportent le mkv?
Hors ligne
#5 Le 05/09/2008, à 00:07
- Goldy
Re : Un script d'encodage vidéos pour coreplayer mobile
Les téléphones portables supportent le mkv?
Avec le lecteur coreplayer, oui. Il est malheureusement payant (à cause de la licence pour le codec h264 justement), mais il est très puissant pour tout les téléphones de types symbian s60 v3 (la séries Nxx par exemple).
Hors ligne
#6 Le 07/09/2008, à 18:52
- seppi
Re : Un script d'encodage vidéos pour coreplayer mobile
Oui CorePlayer est vraiment sympa et puissant surtout avec l'option Qtv (Acceleration materiel) il n'y a meme plus besoin d'encoder !
(Bien sur sur mobile supportant l'option)
En tout cas merci pour ce script (Gain de place est toujours utils)
$ePpI
Hors ligne
#7 Le 09/09/2008, à 14:27
- Goldy
Re : Un script d'encodage vidéos pour coreplayer mobile
Nouvelle version 0.3.1
J'ai remplacé l'utilisation de mplayer par ffmpeg pour la conversion du flux audio original vers le format pcm. Il y avait aussi une erreur de dépendance dans le paquet debian qui est corrigé dans le paquet de cette dernière version.
J'ai testé le script sous debian lenny, avec les dépots debian multimedia activés, et cela fonctionne sans problèmes (il est probable que le script fonctionne même mieux grâce à une version plus récente de mencoder disponible).
Dernière modification par Goldy (Le 09/09/2008, à 14:28)
Hors ligne