Chinese (People's Republic of China)  English  Français


Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo



Projets
  Dernier Projet
  Les plus populaires
  Tous les Projets

182 Visiteurs
3168 Projets


My Supinfo-Projects

   Connectez-vous
   Créez un Compte


Synopsis

   19 Visites
   Note INTERNET : 13.6
    (5 Votants)
   0 Commentaires

   Lire l'article

Evaluez cet article

20
18
16
14
12
10
8
6
4
2
0


Commentez cet article

Auteur :

Email :

Votre commentaire :



 
2006 - Pérennisation
Solutions d'encodage en H.264 sous environnement Windows et Linux
[15 mn de lecture - paru le 5/11/2006 10:56:52 PM - Public : Débutant]

Auteur

FanagameRémy BARDOU
Elève-Ingénieur Supinfo Paris
Promotion SUPINFO 2010

   Lui écrire
   Tous les projets de cet auteur
   Le mini-CV de cet auteur

3 Solutions OpenSource

3.1 VirtualDubMod

Depuis quelques temps, un projet libre d'encodage en H.264 mené par quelques développeurs est né. Celui-ci porte le nom de x264. C'est une libraire gratuite disponible sous licence GPL. Elle est moins avancée que les librairies propriétaires utilisées dans les logiciels vus précédemment, mais la communauté Open Source est très active et grandissante. A l'heure actuelle les résultats de cette librairies approchent de très près ceux obtenus avec les solutions propriétaires. Vous pourrez trouver les codecs x264 windows ici. Et la librairie x264 pour linux ici.

Commencer par ouvrir le fichier vidéo source à encoder.

 

01.JPG

 

Si un message apparaît vous signalant un problème de support des pistes son en mp3 vbr, je vous conseille de répondre non. Ceci refusera la réécriture du header du fichier, ce qui pourrait entrainer des bugs et des décalages son/vidéo.

Puis rendez vous dans le emnu Vidéo -> Compression pour sélectionner le codec x264 comme indiqué ci-dessous. Cliquez sur « Configure ».

 

02.JPG

 

Vous pouvez alors configurer l’encodeur x264. Vous pouvez choisir comme précédemment dans Nero faire un encodage en 1 passe, ou en plusieurs passes. Le principe est le même. Deux autres modes sont disponibles. Ceux-ci sont :

-Quantizer : On choisit un facteur de qualité d’image pour tout le film. C’est en général celui-qui donnera la meilleure image à la fin à coup sûr, mais peut aussi résulter en un gros fichier, selon la compressabilité de celui-ci.

-Bitrate : Ce mode est semblable à l’autre mode disponible sous Nero Recode. On indique ici un bitrate qui sera constant pendant tout le film. Le désavantage est que si des scènes de la vidéo très simples changent rapidement avec des scènes très complexes, elles souffriront d'un bitrate trop faible et l’image sera moins bonne.

 

Ainsi le mode « pass » correspond à un compromis entre Quantizer et Bitrate.


03.JPG

 

Si vous désirez utiliser également une piste son au format AAC, il vous est possible de l’incorporer à traver le menu Streams -> Streams List. Il vous faut alors désactiver la piste son mp3 déjà présente et ajouter votre fichier .aac (ou .mp4) que vous aurez généré à l’aide d’un soft tiers.


04.JPG


 

La dernière étape consiste à encoder « pour de bon » la vidéo. A noter que VirtualDubMod ne propose pas la possibilité de contenir (muxer) les flux dans un format mp4. Vous êtes donc contraints de le contenir dans un mkv.

05.JPG


3.2 MEncoder

Mencoder est disponible sous Windows et Linux. Nous nous concentrerons ici sur la version linux de ce logiciel, mais la version Windows devrait être très semblable.

Une fois les librairies nécessaires installées (libx264), il suffit de taper quelques ligne dans un shell pour lancer l'encodage d'une vidéo.

D'une manière générale, voici la syntaxe d'une commande d'encodage de mencoder :

 

mencoder fichier_source  -oac -audiocodecopts paramètre:paramètre... -ovc -videocodecopts paramètre:paramètre... -o fichier_final

 

Quelques explications s'imposent sur les différents paramètres passables à mencoder :

 

-oac : Output Audio Codec, permet de choisir le codec audio de sortie. Si vous ne désirez pas réencoder le flux audio, il faut marquer « copy ». Pour suivre parfaitement la norme MPEG-4 AVC, vous désirerez mettre le flux audio au format AAC par la commande « -oac faac ».

Pour voir la liste des codecs disponibles, vous pouvez taper la commande « mencoder -oac help ».

 

-audiocodecopts : Ce paramètre dont le nom s'adapte en fonction du codec audio précisé, permet de paramètrer les options d'encodage propre au codec utilisé. Par exemple, il est possible d'indiquer que l'on veut utiliser une piste audio AAC en 128kbps CBR grâce à la commande « -faacencopts br=128. Les options les plus utilisées sont : br (bitrate en kbps), quality (si vous préférez spécifier un facteur de qualité), mpeg (pour spécifier le format mpeg2 ou mpeg4). Chaque options passées en paramètres des options du codec doit être séparée par « : ».

 

-ovc : Output Video Codec, permet de choisir le codec vidéo de sortie. Ainsi, lorsque la librairie x264 est installée, il vous suffit d'y indiquer « x264 » pour que votre vidéo soit encodée en H.264.

Pour voir la liste des codecs disponibles, vous pouvez taper la commande « mencoder -ovc help ».

 

-videocodecopts : Ce paramètre est semblable à celui pour le flux audio mais porte sur le codec video. Les options les plus utilisées sont : pass (Pour indiquer le numéro de pass actuel dans le cas d'un encodage en plusieurs pass dont le fonctionnement a déjà été expliqué précédemment), qcomp (Pour modifier le taux de compensation en terme de bits alloués dans les transitions entre scènes mouvementées et les scènes plus simple), frameref et subq (Qui influent énormément sur le rapport vitesse/qualité d'encodage), bframes (Pour indiquer le nombre de bframes par défaut à utiliser. Mais par défaut le x264 va détecter les scènes où le nombre de bframes est trop important pour la scène.)

Vous pourrez trouver plus de précisions sur la doc officielle : http://www.mplayerhq.hu/DOCS/HTML/fr/menc-feat-x264.html

 

-o : Output permet de spécifier le nom du fichier de sortie.

 

 

Voici donc maintenant quelques exemples de configuration pour encoder :

 

Pour une vidéo de 2:00:00, supposons que nous voulons que le résultat fasse 700 Mo.

 

mencoder -nosound -oac copy -ovc x264 -x264encopts pass=1:bitrate=682:frameref=1:subq=1:bframes=3 video_source.vob -o /dev/null && mencoder -oac faac -faacopts br=96:mpeg=4 -ovc x264 -x264encopts pass=2:bitrate=682:frameref=2:subq=5:4x4mv:bframes=3 video_source.vob -o video_finale.mp4

 

Pour encoder une vidéo directement depuis un dvd en coupant les bandes noires (supposons que vous désirez encoder la première piste 1 du dvd) :

 

mencoder -oac faac -faacopts br=96 -ovc x264 -x264encops bitrate=900 -dvd-device /dev/dvd dvd://1 -o sortie.mp4

 

Si vous ne disposez pas de la dernière version de Mencoder, il se peut que la version de libav qu'il utilise soit cassée et ne supporte pas les B-Frames pour muxer le fichier dans un mp4.

Vous devez donc pour outrepasser l'erreur indiquer l'option «  -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames » (et donc spécifier bframes=0 dans les options du codec également).

 
mencoder.jpg



Articles de la même catégorie

 Pages : Top


21 Visites
0 Commentaires
AGEIA PhysX : Gestion des lois de la physique
[15 mn de lecture - paru le 5/11/2006 5:15:08 PM - Public : Débutant]

En savoir plus


15 Visites
0 Commentaires
Quad SLI - 4 puces graphiques par NVIDIA
[15 mn de lecture - paru le 5/11/2006 5:14:16 PM - Public : Débutant]

En savoir plus


10 Visites
0 Commentaires
Raytracing with POV-Ray
[30 mn de lecture - paru le 5/11/2006 4:10:04 PM - Public : Confirmé]

En savoir plus

   Tous les Articles


SUPINFO Training Center peut vous proposer une formation ...

   Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training Center
   Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
   Devenez Administrateur Système Microsoft avec SUPINFO Training Center
   Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center



Powered by Campus-Booster Technology
Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :