Conversion en avi decompressé

Fermé
hireegy - 24 avril 2011 à 17:10
 hireegy - 27 avril 2011 à 10:36
Bonjour,

Je pars du constat suivant: il y a beaucoup de programmes de conversion vidéo, et à si quelques uns s'en sortent très bien avec certains couples de formats bien définis, il y a toujours des ratés, en particulier si on prend des containers qui évoluent très vite comme le mkv.
néanmoins, dans tout ça, il y a 3 choses qui marchent à tout les coups, et qu'on pourrait utiliser pour obtenir un outil standard qui marcherait vraiment très souvent:
.
-d'abord, il y a des lecteurs, très populaires, avec beaucoup de mises à jour, comme vlc et media player classic + CCCP codec pack, qui arrivent à lire énormément de formats vidéo différents. Ce que je veux souligner là, c'est que la vidéo s'affiche, on a bien un écran qui affiche les images avec le bon débit, la bonne fluidité, le bon aspect ratio. On a donc là une base: le décodage, le "dec" de codec.
.
-ensuite, il y a des outils de capture d'écran, comme virtualdub peut le faire: en gros, vous le lancez, et si votre ordi est assez puissant, il enregistrera tout ce qui apparaitra dans une certaine portion de votre écran, en temps réel, et sans aucune compression si tel est votre souhait. Si la portion d'écran est assez petite, l'ordi arrive à tenir le rythme et la vidéo ne perd quasiment rien de ce qu'il s'est passé à l'écran. Néanmoins la grosse limitation de ces choses là, c'est le temps réel: capturer et encoder, même sans compression, en temps réel, un écran de plus d'un million de pixels, c'est pas facile! Mais si on arrivait à ralentir et le débit d'affichage et le débit de capture, ce que font en fait les convertisseurs dans leur cuisine interne, ces outils de capture sauraient recapturer la vidéo affichée, quel que soit son format d'origine: il ne prend que ce qui est affiché à l'écran! Et il l'enregistre sur le disque dans un format sans perte comme l'avi non compressé
.
-et enfin, on travaille sur ces vidéos non compressées, on en sort une version modifiée (clip) toujours dans un format standard sans perte, et enfin on l'encode avec son encodeur favori, unique, comme divx, quicktime pro (mp4), etc. Dans ce dernier pas, une fois qu'on a trouvé son compresseur fétiche, on pourrait ne plus jamais en changer, tant que le format non compressé qu'on utilise est le même.
.
Si vous avez suivi le schéma ici, c'est un peu comme les vols d'avion: vous pouvez aller de chaque ville à chaque ville, et vous épuiser à créer des centaines de lignes, ou alors vous faites ce que font les compagnies aériennes: des plaques tournantes comme Heathrow ou Charles de Gaulle. Ici la plaque tournante serait, pour des raisons de qualité, un format sans pertes. Et en plus, des éditeurs de multiples vidéos n'ont besoin que de la première partie: arriver à la plaque tournante, car après il finissent toujours par aller au même endroit. Et il existe déjà une force capable de fédérer l'ensemble des formats et de les comprendre: c'est les lecteurs.
.
Mais dans l'état de l'art, j'ai remarqué que vlc permettait bien de convertir les vidéos, mais il ne propose en sortie, que des containers "bizarres": mkv, ogg, aef etc...pourquoi pas du tout bête avi non compressé que tout ordi windows peut lire? j'ai vérifié, il y a même un mur invisible entre tout ce que vlc peut créer et tout ce que virtualdub peut lire. En gros si vous êtes coincé du côté de "l'extraction", vous y restez, car virtualdub, la "porte de sortie", n'est toujours pas accessibles, à moins de trouver un troisième convertisseur, mais bon les chemins à 3 parties, avec des formats bizarres intermédiaires, c'est pas l'idéal...
.
Je voulais donc savoir si dans l'état de l'art, personne ne connaitrait un décompresseur universel, qui sortirait des vidéos dans un format sans perte, et dont le soutien du développement (le fait que le logiciel soit toujours à jour par rapport aux différents formats) et le caractère universel en formats d'entrée, égalerait vlc ou media player classic; ou encore mieux, un plugin à ces logiciels là qui permette de décompresser en avi.
.
Voilà. Désolé du long exposé, mais il fallait tout ça pour expliquer précisément ce que je cherchais...

A voir également:

2 réponses

ziggourat Messages postés 24836 Date d'inscription dimanche 1 juillet 2007 Statut Contributeur Dernière intervention 21 août 2024 5 015
Modifié par ziggourat le 25/04/2011 à 00:37
Bonjour,

Je n'ai pas trop compris ta demande ou ce que tu cherches, désolé... ;-)
J'ai un peu décroché au moment ou tu parles de "la capture écran" et je n'ai pas trop compris l'analogie avec le trafic aérien.
Néanmoins, je te te laisse un message d'après ce que je saisi.
Je tiens à te dire aussi que je ne suis qu'un amateur modeste qui s'intéresse un peu à tout ce qui concerne la vidéo et je ne suis pas un expert donc il se peut que je me trompe dans ce que j'ai écrit car c'est tout de même un peu pointu, si j'ai toutefois bien compris ce que tu cherches.

Sur un ordinateur, il est possible de quasiment tout lire, à la condition d'avoir les bons outils comme les filtres FFDShow dans MPC -Home Cinema par exemple

En matière de conversion, c'est un peu différent, du fait que tout ne vas pas dans tout. Le veux dire par là qu'il y a des codecs, comme le MPEG-2, que tu ne pourras jamais mettre dans le Conteneur AVI, je crois. L'autre règle est que tout dépend du fichier vidéo orginal, c'est à partir de lui que l'on convertis/transcode.
VirtualDub sort uniquement des fichiers dans ce format de fichier, pour d'autres tel que le MPG, le MP4, le MKV, le OGG, le M2TS, le TS, le VOB et cetera, il faut employer divers logiciels.

Comme "outil universel", utilise AviSynth pour carrément presque tout ouvrir dans VirtualDub (en dehors des plugins) entre autre, mais pas tout quand même d'ou la nécessité parfois d'employer des logiciels tiers si nécessaire.
Voir sur le site officiel : http://avisynth.org/mediawiki/Main_Page/fr
Voir sur Wikipedia : https://fr.wikipedia.org/wiki/AviSynth

En gros, pour ce que j'en comprends, le script avs fait croire au logiciel (VirtualDub ou un autre) que ton fichier est dans le Conteneur AVI.
J'ai pas essayé avec des Fichiers Theora (OGG), mais cela fonctionne en tout cas avec des fichiers encapsulé en MPG, MP4 et même M2TS !
Après test VD ouvre les OGG, du moins le fichier que j'ai en réserve, mais cela ne semble pas exploitable.

De plus il ne sert à rien à sortir en décompressé (uncompressed), donc sans codec, si ton fichier en entrée ne l'ai pas. Et utilisé cela requiert énormément de place sur son disque dur, car d'après les test que j'ai pu effectué par le passé, cela dépasse très vite plusieurs Go pour juste une minute en Uncompressed RGB/YcbCr !

Enfin, je dirais que développer un logiciel prend du temps, qu'il soit gratuit ou payant, alors demander qu'ils sont mis à jour fréquemment relève un peu de l'utopie.
Regarde peut-être du coté de Linux et employer l'encodage en ligne de commande avec des outils comme MEncoder ou FFMpeg mais cela dépasse largement mes compétences.

A lire, si nécessaire : https://fr.wikipedia.org/wiki/Transcodage

Sur le forum, une personne pus compétente que moi semble-t-il, comme gej62, pourrait sans doute plus t'en dire que moi à ce sujet. Elle enregistre la télévision en HD et encode avec surtout XMédia Recode (son logiciel préféré) si j'ai bien compris. Pour les scripts d'AviSynth gej62 se sert de MeGUI, je crois.

Maintenant, si tu cherches juste le nom de logiciels de conversion, je peux en citer à la pelle, car ils en existe énormément et je ne les connais pas tous ;)
Cependant dans mon cas, j'emploie surtout VirtualDub/VirtualDubMOD, Avidemux, MediaCoder, SUPER ou Nero pour l'authoring. Je ne fais pas de la "HD" (je connais un peu quand même), mais si le cas, tu dois voir du coté de XMedia Recode, TSMuxer, Free HD Converter, AVCHCoder et cetera. je me sers aussi de WLMM qui est le logiciel de montage de Windows qui a succédé à WMM sur Windows 7 et Vista.
Il sont, à part Nero, tous accessible gratuitement, alors moi, je dis merçi aux personnes qui les développent.

Cordialement
Vive Bobo ! Militant du retour de Bobo sur le site !!! 
~ Petit pGP, le TS, le Moisson deviendra grand ~
0
Déjà merci pour tout ce que tu m'as dit là. Je vais donc expliquer si possible un peu plus clairement ce que j'imaginais.
Tu as raison de souligner la différence entre conteneurs et format de compression. Mais si je te parle d' AVI non compressé, je sais, ça prend énormément de place, mais je fais des clips à partir de contenu existant: je dois pouvoir importer toutes les vidéos à partir desquelles je fais mes clips (qui sont en général des films, des séries, des animés, dans tous les formats sous lesquels on peut bien les trouver), dans Première Pro, qui refuse tout de même de lire pas mal de formats. Et pour la plupart des formats qu'il lit, s'ils sont trop compressés il va galérer pour faire les prévisualisations. Le réencodage des vidéos est donc nécessaire, pour qu'elles soient dans un format de compression (mpeg-2, 4, Xvid...) et un conteneur (généralement avi) que premiere pro comprend. Or, si on réencode dans un format de compression trop différent du format original, on a souvent des mauvaises surprises sur la qualité, surtout si on le fait mal. D'où l'habitude, répandue chez les clippeurs, de travailler sur des vidéos non compressées, ou compressées sans pertes; et pour ça je dédie de gros disques externes au stockage des vidéos en cours de traitement. Après il existe d'autres formats, HuffYUV, Lagarith, qui sont également sans perte. Je disais AVI non compressé par souci de simplicité, et d'universalité (il me semblait que presque n'importe quel programme pouvait enregistrer un flix vidéo sous ce format là).

Ensuite, pour la "capture vidéo". Puisque tu as virtualDub, regarde "File -> Capture AVI", puis va dans le menu capture. En trifouillant un peu tu devrais pouvoir faire une capture vidéo de ce qui se passe sur ton écran, dans une certaine fenêtre de pixels (genre du 1er au 600 en largeur et du 1er au 400 en hauteur). Tu peux enregistrer ce flux d'images en un fichier AVI, en temps réel. C'est de ça que je voulais parler. Comme tu verras probablement, le programme galère à maintenir le temps réel. Mais dans l'absolu, il fait ce que je cherchais: capturer ce qu'il voit à l'écran, peu importe ce que c'est: et ça peut donc être une vidéo lue par un lecteur.

Maintenant ces histoires de mises à jour. Je sais bien que les compresseurs ne seront jamais mis à jour fréquemment. Mais les lecteurs comme VLC et MPC, eux, le sont, même si à priori ils ne font pas ou peu d'encodage. L'intérêt serait d'utiliser une force existante: les mises à jour des players sont fréquentes et leur permettent de lire beaucoup de choses. Combinés à un outil de capture d'écran comme virtual dub, tu devrais donc à priori pouvoir convertir absolument n'importe quoi qui soit lisible par tes lecteurs, en une vidéo AVI non compressée.

Le seul problème est cette stupide contrainte de temps réel aussi bien sur la lecture (certains fichiers HD ont une compression tellement complexe que mon ordi n'arrive pas à afficher certains passages de la vidéo en temps réel par exemple!), que la capture (l'outil de capture doit capturer au moins 25 images par seconde!), qui font qu'il faut vraiment avoir un monstre d'ordi pour suivre. Mais si le player et l'outil de capture pouvaient se mettre d'accord pour ralentir tous les deux le débit, et avoir deux timelines parallèles, une pour le lecteur et une pour l'outil de capture, alors chaque frame de la vidéo d'entrée se "transvaserait" tout simplement dans le format de sortie, pour peu que tu aie accordé les framerates. Bon, avec des formats comme le HD de Sony où même le framerate est variable, ça demandera forcément un peu d'interpolation. Mais pour tous les autres tu peux en général rester aux framerates standard!

Comprends tu un peu mieux ce que je veux dire maintenant? Je donne le concept d'un convertisseur qui saurait quasiment tout convertir en AVI, qui utiliserait les forces de développement de software déjà existantes (tous les travaux des mises à jour des lecteurs média) à son avantage. Je ne prétends pas du tout pouvoir faire moi-même un truc pareil! Mais le concept m'a l'air simple et je me demandais si personne n'avait encore fait un plugin comme ça pour les gros lecteurs comme VLC ou MPC.

Et enfin, pour l'analogie avec le traffic aérien, c'est par exemple, tu dois aller d'une vidéo en MKV, avec une certaine compression, vers une vidéo en MOV, avec une autre compression. Ton premier réflexe peut être de chercher un convertisseur qui aille directement du MKV au MOV. ça, c'est comme d'aller de Bordeaux à Marseille en avion. Mais tu peux aussi avoir d'une part un décompresseur universel qui te mettra n'importe quelle vidéo en avi non compressé (donc sans perte), puis un autre programme qui ne fait qu'encoder dans le format final que tu veux, en prenant comme format d'entrée l'avi non compressé. Et là tu fais Bordeaux-Paris CDG et Paris CDG-Marseille, et en général tu payes moins cher ton billet, et tu as plus de choix d'horaires, car l'usage de plate formes intermédiaires mutualise la ressource rare "aller à Marseille" pour tous les voyageurs qui pourraient passer par la plate forme, plutôt que de s'escrimer à faire toutes les liaisons possibles entre 10 villes différentes (ici ça ferait environ 50 lignes, alors qu'avec la plate-forme ça n'en fait que 9: un de chaque ville à la plateforme, qui est une des villes).


Voilà; merci en tous cas de tous les logiciels dont tu m'as parlé, j'ai déjà téléchargé MKVToolnix et Mediacoder, pas encore AVIsynth, mais je vais probablement tester. Pour résoudre mon problème de cette fois, à savoir convertir un MKV particulier en un fichier avi (sans compression, je n'ai pas besoin d'une compression particulière), je vais probablement trouver une solution, peut être tordue, là dedans. En laissant ce post je cherchais plutôt une "solution générale", qui résoudrait une bonne fois pour toutes ce problème de réencodage: il faudrait un plugin de réencodage en AVI non compressé pour un lecteur très connu et souvent tenu à jour au niveau des formats qu'il supporte (peut LIRE). Voilà, j'espère que cette fois c'était plus clair!
0