Journal Mencoder sux

Posté par  .
Étiquettes : aucune
0
20
juil.
2004
Sous ce titre un peu provocateur, je voulais vous faire partagez mes prises de tête actuelles pour ripper un DVD en XviD.

J'ai commencé plutôt violemment en me gourrant dans la durée du film donc dans le calcul du bitrate (j'ai envie que le rip tienne sur un CD) : passe 2 à refaire, mais bon pas grave, ripper ne necessite pas un effort physique ni intellectuel, c'est mon ordi qui bosse ! Et puis c'est pas de la faute de mencoder c'est de la mienne.

Je recommence avec le bon bitrate, et j'encode le son en polonais... et merde ! (il faudra quand même que je découvre pourquoi mencoder me sort le polonais par défaut et mplayer le francais par défaut... vive le non déterminisme)
J'extrait donc le son .fr a part, je prend soin de virer 200 ms de son au début pour être sur d'avoir une synchro parfaite (calé sur un tir d'arme a feu, c'est précis quoi) et je recompresse l'audio avec l'option -audiofile et les paramètres de lame qui vont bien, en récupérant le flux vidéo avec un simple -ovc copy.

Résultat des courses : le début est parfaitement synchronisé, la fin à une desynchro de 500 ms, et mencoder n'a pas arreté de me dire "duplicate frame" toutes les 300s du film.

Si quelqu'un a une explication logique, je suis preneur.

Pour l'instant j'en suis réduit à recompresser audio et vidéo en même temps pour voir ce que ça donne, mais j'ai bien peur que le résultat soit tout aussi pitoyable et d'avoir fait chauffé la pièce encore une fois pour rien. Si quelqu'un a une solution simple, légère et logique ça m'interresse aussi.
  • # Ca irait un GUI ?

    Posté par  . Évalué à 2.

    Parce que dvd::rip est bien.

    J'ai essaye aussi ce soft : dpencoder
    http://dpencoder.sourceforge.net/fr/(...)

    Tres joli et ca passe bien chez moi, j'ai eu un petit soucis et l'auteur m'a repondu, ce qui merite d'etre mentionné, rapidement et tres gentiment...
    • [^] # Re: Ca irait un GUI ?

      Posté par  . Évalué à 3.

      Ben si la GUI utilise mencoder par dessous ca risque de faire pareil :
      DPEncoder est ( lorsque ce truc veut bien fonctionner... ;o)= ) une interface à MEncoder ( du projet MPlayer ) programmé en Perl et utilisant le module perlQt pour l'interfaçage.

      dvd::rip utilise transcode. Je testerais les deux (transcode seul et via dvd::rip) pour voir si ils invoquent moins le chaos que leur cousin :)
  • # Résultat

    Posté par  . Évalué à 2.

    Après un réencodage complet vidéo + son directement depuis le DVD j'ai obtenu quelque chose de miraculeusement presque satisfaisant : un delai constant de 200 ms tout au long du film.

    Je le laisse comme ca j'ai la flemme de trouver une solution à ce nouveau défaut. En plus en utilisant un lecteur potable (comme mplayer, que j'estime bien plus que mencoder...) on peut corriger ca à la lecture.

    Reste que tout ca me semble bien bizarre, d'autant qu'à en juger par tous les threads que j'ai pus lire sur le sujet pendant que je cherchais un moyen moins con de m'en sortir que de tout recommencer que beaucoup de personnes ont des problèmes de synchronisation A/V avec mencoder lors de "frame duplicate" (et je ne parle pas du filtre telecine mais bien de frame duplicate qui apparaissent on sait pas trop pourquoi et qui desynchronisent tout si on travaille avec des fichiers et pas directement depuis le DVD).

    J'ai même vu passé un hack fixant à l'arrache sur le forum de mplayer. Bref techniquement il est possible d'avoir de meilleurs synchro A/V, mais vu que le thread date de plus d'un an et que rien ne semble avoir été fait depuis, je doute que la synchro A/V soit une priorité des developpeurs de mplayer. C'est dommage : personnelement au dela de 100 ms j'ai horreur des desynchro A/V. Et avec une variation de 500 ms sur un DVD lorsqu'on rip avec un fichier audio séparé, regarder le résultat devient un suplice.

    J'ai aussi jeté un oeil à transcode durant mes aventures. Interressant, mais il a l'air bien plus complexe à utiliser tout un étant un peu moins souple sur certains points (ordre de certains filtres fixe...). Je le testerais néanmoins sur le prochain DVD que je souhaiterais sauvegarder.
    • [^] # Re: Résultat

      Posté par  . Évalué à 2.

      t'as essayer de jouer avec l'option -mc ?
    • [^] # Re: Résultat

      Posté par  . Évalué à 2.

      > je doute que la synchro A/V soit une priorité des developpeurs de mplayer

      Je doute. Mplayer a été le premier lecture potable par rapport à ça.
      mencoder n'est pas La priorité (mais il marche bien).

      Voilà une exemple de ce que j'utilise pour copier un dvd :
      $ mencoder -lameopts vbr=3:q=0:mode=1 -oac mp3lame -ovc frameno -o frameno.avi -alang fr dvd://2
      $ mencoder -sws 10 -vop crop=512:222:7:37,scale=527:296:0:0:100,hqdn3d=3:3:6 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=16000 -oac copy -o /dev/null -alang fr dvd://2
      $ mencoder -sws 10 -vop crop=512:222:7:37,scale=527:296:0:0:100,hqdn3d=3:3:6 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=16000 -oac copy -o fichier.avi -alang fr dvd://2

      Si le but est de faire une copie du dvd, tu peux tout simplement faire :
      $ dd if=/dev/dvd of=fichier_dvd.iso

      Pour lire :
      $ mplayer .... -dvd-device fichier_dvd.iso dvd://
      • [^] # Re: Résultat

        Posté par  . Évalué à 2.

        > > je doute que la synchro A/V soit une priorité des developpeurs de mplayer

        > Je doute. Mplayer a été le premier lecture potable par rapport à ça.
        mencoder n'est pas La priorité (mais il marche bien).

        Je parlais de la synchro A/V de mencoder en fait. Celle de mplayer est clairement pas mal.

        Sinon merci pour l'exemple. Il faut que je vois si on peut changer la bande son comme ca.

        Ca ne reglera certainement pas les 200 ms constantes mais ptet bien la variation de 500 :) La comme j'ai fini avec ce DVD j'essairais sur le 2nd prochain (le prochain je me suis promis de tester transcode)

        Toujours est-il que je trouve quand meme étrange qu'avec -audiofile son.wav et son.wav extrait directement du DVD (par mplayer d'ailleurs) ca pete autant un cable. En plus ca me semble etre le seul moyen si jamais on a envi d'utiliser des filtres de programme tiers sur le son.
    • [^] # Re: Résultat

      Posté par  . Évalué à 2.

      Et avec une variation de 500 ms sur un DVD lorsqu'on rip avec un fichier audio séparé, regarder le résultat devient un suplice.

      Bof, ça doit être comme regarder "Absolutely Fabulous" en version française.
    • [^] # Re: Résultat

      Posté par  (site web personnel) . Évalué à 3.

      l'encodage 3 passes de mencoder (celui decrit dans la doc), c'est
      1) le son
      2) video passe 1
      3) video passe 2

      a priori, si tu t'es gourre de son, il suffit de refaire l'encodage son et la 2eme passe video.

      Perso, j'ai aussi des problemes avec des rippages de dvd du style quand je fais dans l'ordre normal, il refuse d'encoder la video, et quand je fais 2, 3, 1 ca marche parfaitement. Mais j'accuse mon lecteur de dvd qui a tendance a me faire des miseres.
  • # Specifier la taille du fichier...

    Posté par  (site web personnel) . Évalué à 3.

    Si tu utilises mencoder+xvid 1.0.x, tu peux specifier la taille de la partie vidéo en passant à mencoder une valeur negative en kiloctets.

    Exemple vidéo de 2h avec son 96kbps sur un CD de 700MiB, il reste donc un total de:
    700MiB-(2*3600)*(96kbps/8) = 632425kiB
    -xvidencopts pass=2:bitrate=-632000 et hop tu calcules pas de bitrate.
  • # Essai laborieux d'explication pour les "duplicate frames" (?)

    Posté par  . Évalué à 3.

    Le cinema est tourne a 24fps (trames par secondes), et aux USA la tele est a 30fps.
    Certains connaisent la manip du telecine pour passer de 24 fps a 30 fps (rajouter une frame toutes les 5 frames, meme si c'est un peu plus complique que ca grace a l'entrelacement).

    Sauf qu'en fait la tele aux USA c'est pas 30 fps mais 29.97fps !!!
    Alors bon ca fait 3 frames de trop toutes les 100 secondes si je calcule bien (?)
    Donc c'est p-e pas ce qu'on cherche :-/ mais bon c'est peut-etre un truc du genre non?
    surtout qu'avec une conversion 30->25fps en plus (la tele en europe etant a 25fps) on retombe p-e sur nos pattes? je sais plus faire le calcul...
  • # RTFM !

    Posté par  (site web personnel) . Évalué à 1.

    RTFM : http://www.bunkus.org/dvdripping4linux/fr/separate/index.html(...)

    Bon, ok, il fallait trouver le manuel ;-)
    • [^] # Re: RTFM !

      Posté par  . Évalué à 2.

      6.1. Corriger la désynchronisation audio
      Ceci ne marche pas avec les AVIs qui utilisent des MP3 VBR/ABR. Cette étape utilise avisync qui fait partie du paquetage transcode.


      Ben ca marche pas pour moi alors
  • # Tuxrip

    Posté par  . Évalué à 2.

    Sinon, tu n'as jamais essayé tuxrip (http://tuxrip.free.fr(...)) ? Car ca simplifie drolement la vie.

    Tiré du site :

    Tuxrip est un script bash sous Linux qui permet de convertir un DVD au format mpeg4 de façon automatique et accessible aux néophytes.
    Il nécessite l'installation de quelques logiciels en général fournis avec la plupart des distributions.
    De plus, il n'utilise que des formats ouverts et libres permettant la lecture sur tous les OS.

    Ses possibilités sont :

    * Détection automatique du nom du DVD,
    * Extraction et décodage du DVD sur le disque dur,
    * Encodage video au format mpeg4 (libavcodec ou XviD),
    * Encodage du son au format OggVorbis,
    * Utilisation du container ogg media,
    * Détection automatique et élimination des bandes noires,
    * Détermination automatique du ratio du film,
    * Détermination de la résolution pour une qualité désirée,
    * Compression supérieure pour le générique (optionnel),
    * Choix de la taille finale pour un encodage éventuellement sur plusieurs CD,
    * Test de compressibilité optionnel permettant de déterminer la qualité optimale sur un échantillon du film,
    * Mixage audio/video avec contrôle de la synchronisation,
    * Détection automatique des DVD NTSC et désentrelacement,
    * Encodage en plusieurs étapes et possibilité de reprendre un projet précédent à partir d'une étape donnée (mode --resume),
    * Extinction possible de la machine à la fin de l'encodage,
    * Mode test : permet d'encoder un seul chapitre,
    * Mode grave : permet de graver la video à la fin du processus,
    * Interface au choix en Français ou Anglais,
    * Possibilité de faire des video avec plusieurs bandes sons (mode --multiaudio),
    * Possibilité de faire une sauvegarde complète d'un DVD (mode --clone) et de choisir après coup cette sauveagarde comme source de rip (mode --source),
    * Gestion automatique (ou forcé avec --split) des partitions fat16/32 (découpage des vob en fichiers de 1Go).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.