Extraction d'un MKV

Extraction d'un MKV - Traitement Vidéo - Video & Son

Marsh Posté le 19-07-2006 à 16:57:56    

Bonjour,
j'ai un fichier Matroska contenant 1 flux vidéo H264 (MPEG4 ISO advanced) et 1 flux audio en AAC. Je voudrais "simplement" créer un fichier AVI classique car plus pratique.
Dois-je réencoder le flux vidéo ? Dois-je réencoder le flux audio ?
J'ai installé le nécessaire: Matroska pack, Haali Splitter, ffdshow, vdubmod, avisynth, x264.
J'ai essayé la dernière version (1.6.2) de MKVextractGUI et maintenant il est capable d'extraire les H264 d'un MKV et qu'ils soient lisibles dans Windows media player. Donc je me retrouve avec 2 fichiers *.h264 et *.aac. Comment muxer ces 2 flux dans un AVI, c'est possible ?
J'ai vu aussi qu'on pouvait ouvrir le fichier dans vdubmod mais on est obligé de réencoder alors ?
Merci de votre aide.

Reply

Marsh Posté le 19-07-2006 à 16:57:56   

Reply

Marsh Posté le 19-07-2006 à 17:33:20    

Pour réencoder du MKV en une ligne de commande et une opération avec Mencoder:  
 
On veut le transformer en MPEG4 et MP3 (lecteur sur une platine de salon type "DivX" ):  
 

mencoder -ffourcc XVID -oac mp3lame -lameopts cbr:br=128:aq=0 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:v4mv:preme=2:vb_strategy=1:last_pred=2:aic:vmax_b_frames=2:bidir_refine=4:b_sensitivity=10:me_range=0:trell:predia=2:dia=2:precmp=258:cmp=258:subcmp=258:mbd=2 video_in.mkv -o video_out.avi


 
LAME MP3:
cbr:br=128 bitrate de 128kb/s en debit constant  
aq=0 qualité de l'algorithme  
 
FFMPEG4:
vbitrate débit video  
v4mv autoriser 4 vecteurs de mouvement par macroblock  
me_range étendu de la recherche de mouvement (0=illimitée)
trell quantisation trellis
preme pré passe d'estimation du mouvement (2 = toujours)
vmax_b_frames nombre maxi de b frame consécutives
bidir_refine qualité des vecteurs de mouvement sur macroblock de b-frame
predia type et taille des diamants de le la pré passe de l'estimation du mouvement  
dia type et taille des diamants de l'estimation du mouvement  
precmp fonction de comparaison de la pré passe de l'estimation du mouvement (ici avec chroma en plus de luma)
cmp fonction de comparaison d'estimation du mouvement sur pixel entier (ici avec chroma en plus de luma)
subcmp fonction de comparaison pour l'estimation du mouvement sur "sub pixel" (ici avec chroma en plus de luma)
 
Bien sûr, il est possible de conserver le H264 et le son en AAC, ce qui donne (simple changement de container):  
 

mencoder -ovc copy -oac copy video_in.mkv -o video_out.avi


Message édité par Raskol le 19-07-2006 à 17:36:07

---------------
Sci Fi: Les insoumis du Black Moon
Reply

Marsh Posté le 19-07-2006 à 19:56:58    

Tu peux placer directement le flux h264 brut dans un conteneur avi en utilisant avc2avi, disponible sur cette page http://forum.doom9.org/showthread.php?t=89979
 
Ensuite tu prends virtualdubmod et tu ajoutes l'audio.

Reply

Marsh Posté le 19-07-2006 à 20:13:27    

Merci pour cette information. J'ai testé mais il y a un problème. Déjà on est obligé de convertir l'audio en pcm car mencoder dit que la commande "-oac copy" n'est pas possible et il faut mettre "-oac pcm". Donc çà voudrait dire que l'aac ne peut pas etre contenu dans un AVI. Mais je pense qu'on doit pouvoir transcoder l'aac en lame mais je sais pas trop avec quelle commande.
En fait mon problème principal c'est que je me retrouve avec un AVI illisible car soit disant le codec n'est pas installé. Dans Video Inspector il me met comme codec "AVC1 (supported by ffdshow)". Le fourCC du fichier est AVC1 donc logiquement il devrait être pris en charge par ffdshow via le H264. Or c'est pas le cas... J'ai testé plusieurs versions de ffdshow sans succès. Comment faire pour qu'il détecte le codec ? Y a-t-il une commande pour réencoder le flux vidéo en H264 ?
Merci de me dire ce que tu en penses.

Reply

Marsh Posté le 19-07-2006 à 21:48:17    

BlackShark a écrit :

Tu peux placer directement le flux h264 brut dans un conteneur avi en utilisant avc2avi, disponible sur cette page http://forum.doom9.org/showthread.php?t=89979
 
Ensuite tu prends virtualdubmod et tu ajoutes l'audio.


 
Oui j'ai bien réussi à mettre le flux vidéo dans un AVI en H264, lisible dans windows media player. J'ai réencodé l'audio AAC en MP3 lame. Mais après çà ne va plus dans Virtualdubmod. J'ouvre bien l'AVI avec le directshowfilter. Je choisis copie de flux directe. J'ajoute le flux audio. Je lance mais là le fichier se réencode en "ATI YUV12 4:2:0" (le fourCC est YV12)... je lui dit de rester en H264 et lui choisit ce codec alors que le fourCC est bien détecté comme h264 dans Video Inspector...  J'ai vérifié et vdubmod ne me fait çà qu'avec les H264, il conserve bien le fourCC pour les autres formats. Est-ce un bug de vdubmod ? Y a-t-il d'autres moyens pour muxer les 2 flux H264 et MP3 ?
Merci de vos conseils.

Message cité 1 fois
Message édité par stonz le 20-07-2006 à 08:44:11
Reply

Marsh Posté le 19-07-2006 à 22:45:53    

J'ai muxé avec Mencoder et çà a marché. Mais voilà encore un autre problème. Le son n'est pas synchrone, en fait le décalage est progressif il augmente vers la fin... y a-t-il un moyen de le synchroniser ??
Merci.

Message cité 1 fois
Message édité par stonz le 20-07-2006 à 08:45:09
Reply

Marsh Posté le 20-07-2006 à 17:43:55    

stonz a écrit :

J'ouvre bien l'AVI avec le directshowfilter.


Faut pas justement...

Reply

Marsh Posté le 20-07-2006 à 18:13:12    

stonz a écrit :

J'ai muxé avec Mencoder et çà a marché. Mais voilà encore un autre problème. Le son n'est pas synchrone, en fait le décalage est progressif il augmente vers la fin... y a-t-il un moyen de le synchroniser ??
Merci.


 
As tu des messages d'erreur lors du muxage?
Quelle commande as tu utilisé pour muxer?

Reply

Marsh Posté le 20-07-2006 à 19:36:33    

J'ai testé avec virtualdubmod sans le directshowfilter et malgré le message d'erreur on arrive à faire une copie de flux directe en h264 et le son est synchrone donc c'est bon.
Concernant Mencoder en fait nan je n'ai pas de message d'erreur particulier il arrive bien à 100%. J'ai testé plusieurs encodages pour le mp3 en CBR mais c'est toujours désynchronisé. En fait au début c'est synchrone et d'un coup y'a un décalage énorme vers la fin.
La commande que j'ai utilisée c'est: Mencoder -oac copy -ovc copy -audiofile fichiermp3.mp3 -o avidesortie.avi avidentree.avi
Donc la solution c'est MKVextractGUI puis on met l'AVC dans un AVI avec AVC2AVI, on réencode l'audio en mp3 CBR puis on muxe avec vdubmod. Existe-t-il une autre alternative moins "chiante" ?
Merci de votre aide.


Message édité par stonz le 20-07-2006 à 19:37:56
Reply

Marsh Posté le 21-07-2006 à 00:35:28    

Bon j'ai un autre problème avec un autre MKV...
Quand j'ouvre l'AVI (flux vidéo en H264) issu d'un MKV, j'ai une erreur d'index dans Virtualdubmod:
 
http://tozzi54.free.fr/vdub.jpg
 
J'ai essayé de faire un scan des trames mais comme le décompresseur h264 n'est pas détecté çà ne marche pas.
Comment peut-on reconstruire l'index d'un H264 ? Avec Mencoder peut etre ?
Merci d'avance.

Reply

Marsh Posté le 21-07-2006 à 00:35:28   

Reply

Marsh Posté le 21-07-2006 à 08:31:49    

Avec MEncoder:
 

mencoder -oac copy -ovc copy −forceidx -o v_out.avi v_in.avi

Reply

Marsh Posté le 21-07-2006 à 10:40:05    

actives le h264 dans les options VFW de ffdshow

Reply

Marsh Posté le 21-07-2006 à 11:04:23    


BlackShark a écrit :

actives le h264 dans les options VFW de ffdshow


 
+ le splitter de Haali   :  http://x264.nl/


Message édité par sedhl1 le 21-07-2006 à 11:04:50

---------------
Convertir vos Vidéos
Reply

Marsh Posté le 21-07-2006 à 22:25:09    

En activant le H264 dans le VFW effectivement çà marche bien. Mais j'ai encore un souci.
Impossible de synchroniser un flux H264 avec de l'AC3 dans vdubmod. Y a-t-il une technique particulière ou un autre programme pour muxer synchrone ? Là le décalage est énormeeeeee....
Merci pour votre aide précieuse

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed