Cherche developeur pour modifier Virtualdub (Truc simple j'imagine)

Cherche developeur pour modifier Virtualdub (Truc simple j'imagine) - Traitement Vidéo - Video & Son

Marsh Posté le 30-07-2005 à 00:33:02    

Mon soucis :
J'ai cherché depuis 3 mois, en vain, un logiciel libre pour la detection de scenes de n'importe quelle vidéo, puis d'en extraire une liste avec les temps correspondant à chaque changement de scenes (des logiciels font ça, mais ils sont payants).
 
On m'a cependant conseillé d'aller voir directement au niveau du XViD, en détectant les i-frame.
Et j'ai remarqué que Virtualdub avait deux boutons formidables :
"Next Key frame" et "previous key frame".
 
J'y vois 2 solutions envisageables :
 
1 - Rajouter un bouton "Record Key Time" qui enregistre dans 1 fichier (ou ajoute à une liste puis enregistrement de la liste ensuite) le temps de la key frame detecté.
 
C'est la méthode manuelle, on recherche les changements de scenes/plans avec le bouton "next keyframe", et on appui sur l'autre bouton à chaque fois qu'on a trouvé une nouvelle scene.
 
2 - Ajouter une fonction qui simule un appui sur le bouton "next key frame" jusqu'à la fin de la vidéo, et établit une liste de toutes les i-frames détectée pour ensuite l'enregistrer dans un fichier :)
 
Voilà, si quelqu'un sait comment faire ça, je lui serait super reconnaissant (c'est tout ce que j'ai à offrir) :)
 
PS : ça n'a rien de commercial ou professionnel (Lié au controversé fansub).
PS²: j'ai uniquement des connaissances en visual basic...

Reply

Marsh Posté le 30-07-2005 à 00:33:02   

Reply

Marsh Posté le 31-07-2005 à 02:28:52    

Ti up =)

Reply

Marsh Posté le 31-07-2005 à 02:47:15    

Tu ne confondrais pas keyframe et changement de scène ? Une keyframe arrive souvent à un changement de scène, mais ce n'est pas systématique. Ce sont bien deux choses différentes. Donc au final tu veux les 'keyframes' ou les 'scene change' de VDub ? Parce que si c'est juste les keyframes c'est vite fait, et sans se casser le c... à modifier VDub.
 
Tu veux quel format ? Ca ca te conviendrait ?
 
image1:temps_en_millisecondes1
image2:temps_en_millisecondes2
image3:temps_en_millisecondes3
...
 
Si oui, alors essaie ceci. C'est pas en licence GPL (tu demandais un soft 'libre'), mais c'est offert par la maison : http://fairusewizard.com/private/GetIFrames.exe
 
Sinon simple curiosité, c'est quel genre de fansub ?


Message édité par Cyberpat92 le 31-07-2005 à 04:33:36
Reply

Marsh Posté le 31-07-2005 à 17:10:44    

Wha !
Je crois que c'est ce qu'il me faut :)
Une simple liste de temps d'i-frame en h:mm:ss.ms me suffisait =)
 
Par rapport au changment de scene / i-frame, ok je saisi la différence, les i-frames consomment bcp d espace donc on en met que quand c'est nécessaire (scene rapides de mouvement par ex.), le chgmt de plan c'est une detection de scenes à faire, c'est pas intégré dans la vidéo (sauf DV)...
 
Par rapport au fansub, c'est pour couper les sous titres au plan (effectivement =) ), mais je veux que ce soit à la frame près dans un sens et dans l'autre :
 
Le timing est déjà fait grossierement par rapport à l'audio dans 1 premier temps, ensuite c'est ajusté (coupe au plan, c'est super super long à faire, même avec la detection de chmt de plan de vdub).
Sauf que moi, je rajoute 1 étape :
L'inverse de la coupe au plan : Si un début de sous titre est proche d'un debut de scene, le sous titre demarrera au debut de la scene, et non 50 ms après.

Code :
  1. Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
  2. Dialogue: Marked=0,0:04:25.26,0:04:27.58,Negi_Girl,,0000,0000,0000,,{\i1}Comment ça se passe au Japon ?


Le format exact c'est donc le suivant : H:MM:SS.MS
 
Mais déjà ce que tu m'as filé c'est le rêve !
 
Comme je sais progrmmer en VB, j'ai déjà un programme qui rejoint simplement les sous titres tres proches pour eviter le "clignotement" des sous titres (lecture + fluide et le joingant). Mais 1- C'est fait à la barbare 2- J'avais pas de solution en VB pour detecter les chgmt de scene ni meme les i-frame.
 
Les i-frames suffisent amplement puisque de facto, les fins (c est moins le cas pour les débuts) de paroles des persos coincident 90% du temps avec un chgmt de plan, donc 1 i-frame :)
Ce qui fait que la detection du changement de plan se fait maximum 1 seconde (moy 80ms) autour du début ou de la fin du sous titre.
 
Après il y a vérification que tout est correct, des fois d'une i-frame "abusive" tromperait la "detection" de  chgmt de plan/scene (je met le 2 dans le même panier là). :)
 
50'000'000'000'000'000 x merci :)
 
Si tu veux discuter de ça, je suis dispo pas de pb avec le temps que ça peut me faire gagner :)

Reply

Marsh Posté le 31-07-2005 à 22:35:51    

Pour tout te dire c'est parfaitement possible en VB. J'avais écrit du code qui détectait des i-frames en VB il y a quelque temps, mais je l'ai perdu à cause d'un crash de disque dur. Du coup comme là je n'ai qu'un compilateur C++ sous la main je l'ai refait vite fait en C, mais ce serait trivial de créer une fonction en VB qui fasse la même chose et te mette ta liste de timings dans un tableau.
 
Ca m'intéresse d'en discuter plus avant. Peux-tu me contacter par mail stp ? à l'adresse dispo sur cette page :
 
http://www.fairusewizard.com/lang_ [...] pport.html

Reply

Marsh Posté le 01-08-2005 à 01:53:17    

Tu as fait vite, mazette !
 
Merci encore, je t'ai envoyé un mail bien gras d'explications (dont 1 schéma :o :D ) ;)

Reply

Sujets relatifs:

Leave a Replay

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