Problème avec AviSynth (video en boucle)

Problème avec AviSynth (video en boucle) - Traitement Vidéo - Video & Son

Marsh Posté le 09-05-2007 à 12:06:06    

Edit : Finalement x264 n'est pas en cause, c'estun problème avec AviSynth
 
Bonjour, j'ai un fichier test de 5sec :  
 
Voici la video de base, faite avec CamStudio (5.2MB):
http://o71.info/imgforums/sample_d9.avi
et la video encodée en x264  (357Ko):  
http://o71.info/imgforums/d9.mp4
et mon AviSynth :
http://o71.info/imgforums/d9.avs
 

DirectShowSource("C:\TEST VIDEOS\sample_d9.avi",fps=25,audio=false)
BilinearResize(640,272) # Bilinear (Soft)


 
 
vous auriez une idée du problème ?


Message édité par Mansonshadow le 14-05-2007 à 10:14:02
Reply

Marsh Posté le 09-05-2007 à 12:06:06   

Reply

Marsh Posté le 09-05-2007 à 12:27:41    

pour la video qui faisait 1m30, c'était parce que j'ai déconné sur le bitrate, je l'ai remis à 205 pour retrouver une durée normal.
Par contre maintenant ma video fait 12sec mais tout est bouclé en 3sec et le reste du temps ça redte figé sur la dernière image :D

Reply

Marsh Posté le 14-05-2007 à 10:14:27    

Up, changement de problème  :o

Reply

Marsh Posté le 14-05-2007 à 12:26:41    

il y a bien un pb avec avisynth.
 
C'est je pense dû à la façon dont CamStudio capture la video.
Si tu regardes ta capture de CamStudio (à la fin de la video), tu remarques qu'il ne capture qu'à 5 ou 6 images par seconde. (résolution trop grande, CPU trop faible.)
Tu captures 5 secondes donc tu devrais avoir au final une trentaine de frames, pas plus.
Pourtant tu en as 133 . 5 secondes de video à 25 fps = 125.
Camstudio transforme les 30 frames qu'il a capturé en 133 frames pour avoir le framerate fianl de 25 fps.
 
je pense, (j'en suis pas sûr) :D  que CamStudio se sert des posibilités du container AVI.
il pose des marqueurs sur chaque frames réelles pour indiquer que celles-ci doivent être répetées 4 x, celles-là 5 x etc.. de façon à avoir au final un équivalent 25 fps.
 
et Avisynth à des pb avec.
 
avisource me donne des frames toutes noires.
et directshowsource fait un peu n'importe quoi.  
 
dans ton cas, je pense que l'encodeur ou avisynth n'ont encodé que les frames réelles soit : 30 frames.
c'est pour cela que la video est bouclée en 29 frames et 1 seconde.
 
j'ai un peu bidouillé
avec directshowsource, tu peux obtenir un résultat correct si tu rajoutes la commande "convertfps=true"
C'est une commande qui aide en cas de framerate variable, et ici ça marche pas trop mal
 
DirectShowSource("C:\TEST VIDEOS\sample_d9.avi",fps=25,convertfps=true,audio=false)  
 
sinon ,et c'est à mon avis le mieux, passe par VirtualDub.
VirtualDub gère bien ces flags sur les frames (il s'en sert lui-même pour les modification de framerate)
et réencode ta video directement avec les resizes de vdub.
 
Si tu tiens absolument à passer par avisynt, fait à partir de VDub une "image" avec un codec Lossless (genre lagarith).
Tu pourras ensuite manipuler la video sans pb via Avisynth.
++

Reply

Marsh Posté le 14-05-2007 à 15:02:56    

Effectivement convertFps rêgle le problème  :)  
 
Je vais quand même voir ce que ça pourrait donner avec virtual dub, mais l'avantage d'AviSynth c'est que je pouvais voir le résultat avant d'encoder (mais peut être que vdub fait la même chose..).
 
Merci beaucoup :jap:

Reply

Sujets relatifs:

Leave a Replay

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