Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1516 connectés 

 

 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  67  68  69  ..  78  79  80  81  82  83
Auteur Sujet :

[Topic Unique] L'acquisition VHS et assimilé

n°1876072
Trias
0% VCS, 0% prod, 100% pony
Posté le 08-09-2013 à 13:00:00  profilanswer
 

Reprise du message précédent :

antislash2 a écrit :

Voilà...
 
Tout ça fonctionne parfaitement, mais il me reste un probleme de taille, les lignes blanches et noires qui apparaissent lors de la visualisation des cassettes, comme vous pouvez voir ci-dessous :
 
http://nsa35.casimages.com/img/201 [...] 609610.png
 
Malgré la fonction d'alignement numérique du NV-FS100, que je peux déclencher manuellement  la demande, je n'arrive pas à m'en débarrasser...
Il y a-t-il un moyen, logiciel ou autre, pour arriver à les supprimer, ou au moins les réduire au maximum ?

On dirait des scan lines (lignes de scan), mais tu en as vraiment beaucoup sur le second screen. Les miennes sont rouges/bleues plutôt que blanche, et l'épaisseur en pixel est moins tranchée, mais je suppose que c'est en lien avec la résolution supérieure des S-VHS par rapport aux VHS. C'est parfois en lien avec une altération de la bande elle même (auquel cas elles apparaissent aux mêmes endroits lors de deux acquisitions), mais je te conseillerai de vérifier effectivement s'il n'y a pas quelques réglages que tu peux faire au niveau du magnétoscope.  :ange:  
 
J'utilise RemoveDirtMC dans AVISynth pour m'en débarrasser. Ça me donne ça (à G la version filtrée) :  
http://img89.imageshack.us/img89/4093/0yuu.jpg  
 
Ce n'est pas parfait, mais entre MVDegrain2 et RemoveDirtMC on arrive à un résultat qui pour moi est satisfaisant. Reste que c'est de la ligne de commande, et ce n'est pas évident à appréhender. Des logiciels pro te permettraient sans doute d'arriver à un résultat équivalent, mais pas gratuitement.  [:p'tit soleil]

Message cité 1 fois
Message édité par Trias le 08-09-2013 à 14:01:55

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
mood
Publicité
Posté le 08-09-2013 à 13:00:00  profilanswer
 

n°1876079
arnuche
Posté le 08-09-2013 à 14:27:15  profilanswer
 

Bête question : tu as fait un nettoyage des têtes ? Ça ressemble à un problème d'encrassement de têtes et/ou de bande.
Parfois il suffit de faire une avance rapide (donc en lecture) pour les virer.

n°1876080
arnuche
Posté le 08-09-2013 à 14:51:27  profilanswer
 

Trias a écrit :

J'utilise RemoveDirtMC dans AVISynth pour m'en débarrasser.


Tu l'utilises de manière basique (genre RemoveDirtMC() ) ou tu as dû chipoter pour arriver à ce résultat ?
Doit-on créer le fichier avsi soi-même avec la 2ème partie de ce script ?
http://forum.doom9.org/showthread. [...] post791217
donc cette partie ;

Code :
  1. function RemoveDirtMC(clip,int limit, bool "_grey" )
  2. {
  3.   _grey=default(_grey, false)
  4.   limit = default(limit,6)
  5.   bvec = clip.MVAnalyse(isb=false, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  6.   fvec = clip.MVAnalyse(isb=true, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  7.   backw = clip.MVFlow(bvec)
  8.   forw  = clip.MVFlow(fvec)
  9.   clp=interleave(backw,clip,forw)
  10.   clp=clp.RemoveDirt(limit,_grey)
  11.   clp=clp.SelectEvery(3,1)
  12.   return clp
  13. }


n°1876082
arnuche
Posté le 08-09-2013 à 14:58:36  profilanswer
 

Trias a écrit :

Il faut regarder dans la doc de la carte (mais plus celle destinée aux testeurs en fait) les fréquences de fonctionnement du processeur de la carte (CA10k1 ou quelque chose comme ça). Ca te donnera une idée de quelles fréquences sont resamplées ou pas. De mémoire, il me semble que les a2 sont en 24/48.  :)


Je n'ai reçu qu'une doc assez basique, ce n'est pas indiqué dedans.
Tout ce que je sis c'est qu'elle enregistre en maximum 96/24 ;
http://support.creative.com/kb/Sho [...] x?sid=2602

Citation :

24-bit Analog-to-Digital conversion during recording in 8, 16 or 24-bit at sampling rates of 8, 11.025, 16, 22.05, 24, 32, 44.1, 48 and 96kHz


Mais je ne sais pas si on peut changer ça ou si c'est d'office le logiciel qui va re-sampler si on enregistre en 16/44. Sinon la meilleure solution est d'enregistrer en 24/96 puis de convertir pour éviter que ça ne se fasse en temps réel.
Mais vu que plusieurs fréquences sont indiquées, j'imagine qu'il doit y avoir moyen de les changer.

Message cité 1 fois
Message édité par arnuche le 08-09-2013 à 15:18:44
n°1876120
Trias
0% VCS, 0% prod, 100% pony
Posté le 08-09-2013 à 18:53:22  profilanswer
 

arnuche a écrit :

Bête question : tu as fait un nettoyage des têtes ? Ça ressemble à un problème d'encrassement de têtes et/ou de bande.
Parfois il suffit de faire une avance rapide (donc en lecture) pour les virer.

Nettoyage des têtes de lecture et retension de la bande sont deux chapitres primordiaux dans les astuces de mec désespéré retapant des VHS pourries.  [:austin_powaaah]  
 
Pour le côté retendre la bande, c'est effectivement en faisant une avance rapide complète, puis en rembobinant qu'on le fait. Mais pour des scanlines je trouve qu'il y en a vraiment beaucoup, donc je me demande si dans la doc du camescope tu n'aurais pas quelques infos à ce sujet. :)
 
 

arnuche a écrit :

Tu l'utilises de manière basique (genre RemoveDirtMC() ) ou tu as dû chipoter pour arriver à ce résultat ?
Doit-on créer le fichier avsi soi-même avec la 2ème partie de ce script ?

Non. J'imagine qu'on pourrait, mais tu n'es pas obligé.  
 
J’intègre les deux parties du script (avec la fonction donc) directement dans mes lignes de commandes (fichier version), après AVIsource (et une ligne de conversion YV12 il me semble aussi). :)
 
Par ailleurs je l'utiliser brut de décoffrage [RemoveDirtMC(6)], sans ajuster. Mais c'est déjà une version un peu travaillée par rapport à RemoveDirt premier du nom.  [:p'tit soleil]  
 

arnuche a écrit :

Citation :

24-bit Analog-to-Digital conversion during recording in 8, 16 or 24-bit at sampling rates of 8, 11.025, 16, 22.05, 24, 32, 44.1, 48 and 96kHz


Mais je ne sais pas si on peut changer ça ou si c'est d'office le logiciel qui va re-sampler si on enregistre en 16/44. Sinon la meilleure solution est d'enregistrer en 24/96 puis de convertir pour éviter que ça ne se fasse en temps réel.
Mais vu que plusieurs fréquences sont indiquées, j'imagine qu'il doit y avoir moyen de les changer.

S'ils disent qu'elle en est capable, alors c'est qu'elle doit le faire, mais je dois d'avouer qu'il me semble que le moteur audio d'XP tout comme le processeur EMU10k1 ou 2 travaillent par défaut à 48 kHz.  
 
En tous cas perso je préfère capturer nativement dans le taux d'échantillonnage dont j'ai besoin. Parce que si tu resamples de 44,1 à 48Khz, ça te modifie toujours un peu la durée (genre 200 ms pour 1h30 de vidéo). Et que 200 ms, à la fin, ça fait un sacré décalage. Donc je capture en 16 bits 48 kHz, et j'y reste jusqu'à la fin. Et comme ça, si mon audio faisait 1:19:33,280 au début, eh bien il fait toujours 1:19:33,280 à la fin. [:o_doc]
 
J'ai eu tellement de problèmes de sync AV par le passé que j'en suis devenu maniaque.  [:ryoandr]

Message cité 1 fois
Message édité par Trias le 08-09-2013 à 19:58:58

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876273
arnuche
Posté le 09-09-2013 à 11:55:38  profilanswer
 

Trias a écrit :

Non. J'imagine qu'on pourrait, mais tu n'es pas obligé.  
 
J’intègre les deux parties du script (avec la fonction donc) directement dans mes lignes de commandes (fichier version), après AVIsource (et une ligne de conversion YV12 il me semble aussi). :)
 
Par ailleurs je l'utiliser brut de décoffrage [RemoveDirtMC(6)], sans ajuster. Mais c'est déjà une version un peu travaillée par rapport à RemoveDirt premier du nom.  [:p'tit soleil]


Ok, alors le plus simple pour moi est de créer deux fichiers avsi, un avec la première partie du script (RemoveDirt) et l'autre avec la suite (RemoveDirtMC). Et je cumule les 2 dans mon script.
Mais si on utilise RemoveDirtMC, on pourrait se passer de RemoveDirt non ?
 

Trias a écrit :

si tu resamples de 44,1 à 48Khz, ça te modifie toujours un peu la durée (genre 200 ms pour 1h30 de vidéo).


Tu veux dire même en convertissant après l'enregistrement ? Normalement on peut convertir n'importe quelle fréquence vers n'importe quelle autre fréquence sans que ça ne change la durée. C'est d'ailleurs ce qui se passe quand un live sort en cd et dvd.
Mais tu me mets le doute, si ça se trouve il y a une petite différence que je n'ai jamais remarquée.

n°1876274
Trias
0% VCS, 0% prod, 100% pony
Posté le 09-09-2013 à 12:05:56  profilanswer
 

arnuche a écrit :

Ok, alors le plus simple pour moi est de créer deux fichiers avsi, un avec la première partie du script (RemoveDirt) et l'autre avec la suite (RemoveDirtMC). Et je cumule les 2 dans mon script.

Ou de créer un fichier avsi avec RemoveDirtMC directement ; ce qui inclut les deux.  

Citation :

Mais si on utilise RemoveDirtMC, on pourrait se passer de RemoveDirt non ?

Oui et non.
 
Oui parce que tu n'as aucune raison d'appliquer Removedirt puis RemoveDirtMC.
Non parce que la fonction RemoveDirtMC utilise la fonction RemoveDirt dans son script, même s'il n'y a que l'effet final de MC qui sort à la fin. :)  

Citation :

Tu veux dire même en convertissant après l'enregistrement ? Normalement on peut convertir n'importe quelle fréquence vers n'importe quelle autre fréquence sans que ça ne change la durée. C'est d'ailleurs ce qui se passe quand un live sort en cd et dvd.
Mais tu me mets le doute, si ça se trouve il y a une petite différence que je n'ai jamais remarquée.

On ne la remarque pas sur des petites durées (ça doit être entre 0 et 1 ms pour 3 min de musique). Mais sur des durées > 1H, ça commence à faire.  
 
J'ai eu beau essayer LAME, Audacity, ffmpeg, rien n'y a fait j'ai toujours une petite différence entre un 44,1 natif et un 48 khz rééchantilloné à partir du premier. Et je n'arrive pas à modifier la vitesse avec suffisamment de précision pour compenser ce décalage.  
 
Donc du coup, je capture en 48 kHz et fin du problème.   [:trias:1]  
 
 


---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876278
arnuche
Posté le 09-09-2013 à 12:12:51  profilanswer
 

Trias a écrit :

Non parce que la fonction RemoveDirtMC utilise la fonction RemoveDirt dans son script, même s'il n'y a que l'effet final de MC qui sort à la fin. :)


Ah oui c'est spécial, je mettrai le tout dans un fichier avsi alors.
 

Trias a écrit :

j'ai toujours une petite différence entre un 44,1 natif et un 48 khz rééchantilloné à partir du premier. Et je n'arrive pas à modifier la vitesse avec suffisamment de précision pour compenser ce décalage.  
 
Donc du coup, je capture en 48 kHz et fin du problème.   [:trias:1]


A retenir, me reste à trouver comment on choisit entre 44.1, 48 et 96 khz sur l'Audigy 2 ZS.

n°1876280
arnuche
Posté le 09-09-2013 à 12:26:40  profilanswer
 

arnuche a écrit :

Ah oui c'est spécial, je mettrai le tout dans un fichier avsi alors.


Je me pose une questions à ce sujet : si je mets tout le script dans un fichier avsi (que j'appelle RemoveDirtMC), est-ce que le chiffre 6 que je mettrai éventuellement entre parenthèses concernera la première partie du script ou la 2ème ?  
Donc si je tape ;

Code :
  1. RemoveDirtMC(6)


est-ce que ça correspondra à ;

Code :
  1. RemoveDirt(6)
  2. RemoveDirtMC()


ou à ;

Code :
  1. RemoveDirt()
  2. RemoveDirtMC(6)


 :??:  

n°1876290
arnuche
Posté le 09-09-2013 à 13:15:51  profilanswer
 

Je suis largué  :(  : j'ai mis le script complet dans un fichier avsi que j'ai appelé RemoveDirtMC, je l'ai mis dans le dossier plugin d'avisynth, j'ai fait un script qui ressemble à ça ;

Code :
  1. avisource("H:\ma video.avi"
  2. RemoveDirtMC()


je l'ouvre dans Virtual dub et j'obtiens un message du genre "invalid arguments in RemoveDirtMC". Et si je ne mets que la 2ème partie du script dans l'avsi, j'ai le même message. :??:  
J'ai pourtant bien mis les dll de RemoveGrain et MVTools dans le dossier plugin d'avisynth.
Si je mets tout le script directement dans mon script, il n'y a pas de message d'erreur mais j'ai l'impression qu'avisynth n'en tient pas compte parce que le script est lu aussi vite que sans (on peut vérifier ça avec AVSMeter).
Donc si je tape ça ;

Code :
  1. avisource("H:\ma video.avi"


c'est ouvert à la même vitesse que ;

Code :
  1. avisource("H:\ma video.avi"
  2. function RemoveDirt(clip input, int limit, bool _grey)
  3. {
  4.   clensed=input.Clense(grey=_grey, cache=4)
  5.   alt=input.RemoveGrain(2)
  6.   return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey)
  7. }
  8. function RemoveDirtMC(clip,int limit, bool "_grey" )
  9. {
  10.   _grey=default(_grey, false)
  11.   limit = default(limit,6)
  12.   bvec = clip.MVAnalyse(isb=false, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  13.   fvec = clip.MVAnalyse(isb=true, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  14.   backw = clip.MVFlow(bvec)
  15.   forw  = clip.MVFlow(fvec)
  16.   clp=interleave(backw,clip,forw)
  17.   clp=clp.RemoveDirt(limit,_grey)
  18.   clp=clp.SelectEvery(3,1)
  19.   return clp
  20. }


 :??:

Message cité 1 fois
Message édité par arnuche le 09-09-2013 à 13:16:51
mood
Publicité
Posté le 09-09-2013 à 13:15:51  profilanswer
 

n°1876294
Trias
0% VCS, 0% prod, 100% pony
Posté le 09-09-2013 à 13:40:43  profilanswer
 

arnuche a écrit :


Je me pose une questions à ce sujet : si je mets tout le script dans un fichier avsi (que j'appelle RemoveDirtMC), est-ce que le chiffre 6 que je mettrai éventuellement entre parenthèses concernera la première partie du script ou la 2ème ?  
Donc si je tape ;

Code :
  1. RemoveDirtMC(6)


est-ce que ça correspondra à ;

Code :
  1. RemoveDirt(6)
  2. RemoveDirtMC()


ou à ;

Code :
  1. RemoveDirt()
  2. RemoveDirtMC(6)


 :??:  

La deuxième mon capitaine. :)  
 
Pour les fichiers avsi, je n'en ai jamais faits. C'est juste un txt avec une fonction, qu'on renommerait en avsi pour pouvoir l'appeler directement ensuite ?  :??:  
 

arnuche a écrit :

Code :
  1. avisource("H:\ma video.avi"
  2. function RemoveDirt(clip input, int limit, bool _grey)
  3. {
  4.   clensed=input.Clense(grey=_grey, cache=4)
  5.   alt=input.RemoveGrain(2)
  6.   return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey)
  7. }
  8. function RemoveDirtMC(clip,int limit, bool "_grey" )
  9. {
  10.   _grey=default(_grey, false)
  11.   limit = default(limit,6)
  12.   bvec = clip.MVAnalyse(isb=false, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  13.   fvec = clip.MVAnalyse(isb=true, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  14.   backw = clip.MVFlow(bvec)
  15.   forw  = clip.MVFlow(fvec)
  16.   clp=interleave(backw,clip,forw)
  17.   clp=clp.RemoveDirt(limit,_grey)
  18.   clp=clp.SelectEvery(3,1)
  19.   return clp
  20. }


 :??:

Perso je la mets dans le script et je force le chargement des filtres prérequis pour le fonctionnement. Il te faut aussi convertir en YV12 il me semble. Et je crois qu'il te manque des accolades et autres parenthèses, ainsi que la commande dudit filtre.   [:austin_powaaah]  
 
Essaye déjà ça :  

Code :
  1. Avisource("H:\ma video.avi" )
  2. function RemoveDirt(clip input, int limit, bool _grey)
  3. {
  4.   clensed=input.Clense(grey=_grey, cache=4)
  5.   alt=input.RemoveGrain(2)
  6.   return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey)
  7. }
  8. function RemoveDirtMC(clip,int limit, bool "_grey" )
  9. {
  10.   _grey=default(_grey, false)
  11.   limit = default(limit,6)
  12.   bvec = clip.MVAnalyse(isb=false, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  13.   fvec = clip.MVAnalyse(isb=true, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  14.   backw = clip.MVFlow(bvec)
  15.   forw  = clip.MVFlow(fvec)
  16.   clp=interleave(backw,clip,forw)
  17.   clp=clp.RemoveDirt(limit,_grey)
  18.   clp=clp.SelectEvery(3,1)
  19.   return clp
  20. }
  21. ConvertToYV12()
  22. RemoveDirtMC(6)


 
Si ca ne marche pas il faudra peut-être forcer le chargement du plugin RemoveGrain. :)

Message cité 1 fois
Message édité par Trias le 09-09-2013 à 13:49:09

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876304
arnuche
Posté le 09-09-2013 à 14:31:17  profilanswer
 

Trias a écrit :

Pour les fichiers avsi, je n'en ai jamais faits. C'est juste un txt avec une fonction, qu'on renommerait en avsi pour pouvoir l'appeler directement ensuite ?  :??:


Oui, tu rajoutes juste un i, ça évite de devoir appeler l'avs (en admettant que tu ne copies pas le détail de la fonction dans ton script) avec cette commande en début de script ;

Code :
  1. Import("C:\Program Files\AviSynth 2.5\plugins\script.avs" )


Donc il y a 3 possibilités pour ouvrir un script dans un script ;
1) en le copiant en entier dans le script, comme tu l'as fait
2) en le mettant dans un fichier avs qu'on met dans le dossier plugin d'avisynth et en le chargeant
3) en le mettant dans un fichier avsi qu'on met dans le dossier plugin d'avisynth et sans le charger
 

Trias a écrit :

Perso je la mets dans le script et je force le chargement des filtres prérequis pour le fonctionnement. Il te faut aussi convertir en YV12 il me semble. Et je crois qu'il te manque des accolades et autres parenthèses, ainsi que la commande dudit filtre.   [:austin_powaaah]  
 
Essaye déjà ça :  
 
Si ca ne marche pas il faudra peut-être forcer le chargement du plugin RemoveGrain. :)


Merci, j'avais pas pigé qu'il fallait mettre la fonction et l'appeler plus tard.
Mais ça ne marche pas, j'ai le message "there is no function named clense".
Apparemment ça vient de RemoveDirt.
Pourtant j'ai suivi ces recommandations ;
http://www.removedirt.de.tf/
J'ai même eu le message "there is no function named RemoveDirt" alors j'ai essayé de le mettre dans un fichier avsi comme indiqué là ;
http://forum.videohelp.com/threads [...] en-failure
Là je n'ai plus le message "there is no function named RemoveDirt" mais j'ai le message "there is no function named clense". :??:

n°1876306
arnuche
Posté le 09-09-2013 à 14:49:33  profilanswer
 

Maintenant c'est bon pour RemoveDirt (plus de message "there is no function named clense" ), il fallait mettre les dll de RemoveGrainT ;
http://videoprocessing.fr.yuku.com [...] i3C_3_XSCg

Message cité 1 fois
Message édité par arnuche le 09-09-2013 à 14:50:09
n°1876317
arnuche
Posté le 09-09-2013 à 15:24:30  profilanswer
 

Maintenant que le problème est réglé pour RemoveDirt, j'ai testé avec succès mon idée de mettre le script RemoveDirtMC dans un fichier avsi, ça évite de devoir le copier/coller à chaque fois dans le script principal. Donc on met ce qui suit dans un fichier RemoveDirtMC.avsi (qu'on met dans C:\Program Files\AviSynth 2.5\plugins) ;

Code :
  1. function RemoveDirt(clip input, int limit, bool _grey)
  2. {
  3.   clensed=input.Clense(grey=_grey, cache=4)
  4.   alt=input.RemoveGrain(2)
  5.   return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey)
  6. }
  7. function RemoveDirtMC(clip,int limit, bool "_grey" )
  8. {
  9.   _grey=default(_grey, false)
  10.   limit = default(limit,6)
  11.   bvec = clip.MVAnalyse(isb=false, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  12.   fvec = clip.MVAnalyse(isb=true, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  13.   backw = clip.MVFlow(bvec)
  14.   forw  = clip.MVFlow(fvec)
  15.   clp=interleave(backw,clip,forw)
  16.   clp=clp.RemoveDirt(limit,_grey)
  17.   clp=clp.SelectEvery(3,1)
  18.   return clp
  19. }


 
Et dans le script principal on n'a plus qu'à taper RemoveDirtMC(6), ce qui donne par exemple ;

Code :
  1. avisource("H:\ma video.avi" )
  2. RemoveDirtMC(6)


 :)  
Si je ne mets pas de 6 ça ne marche pas [ donc si je mets RemoveDirtMC() ], pourtant le réglage par défaut devrait fonctionner  :??:

n°1876338
Trias
0% VCS, 0% prod, 100% pony
Posté le 09-09-2013 à 16:21:33  profilanswer
 

arnuche a écrit :

Maintenant c'est bon pour RemoveDirt (plus de message "there is no function named clense" ), il fallait mettre les dll de RemoveGrainT ;
http://videoprocessing.fr.yuku.com [...] i3C_3_XSCg

Je pensais que tu les avais. Perso j'ai même mis RemoveGrain.dll en chargement manuel dans mon script (c'est ce que j'évoquais d'ailleurs). Bien vu en tous cas.  :jap:  
 

arnuche a écrit :


Oui, tu rajoutes juste un i, ça évite de devoir appeler l'avs (en admettant que tu ne copies pas le détail de la fonction dans ton script) avec cette commande en début de script ;

Code :
  1. Import("C:\Program Files\AviSynth 2.5\plugins\script.avs" )


Donc il y a 3 possibilités pour ouvrir un script dans un script ;
1) en le copiant en entier dans le script, comme tu l'as fait
2) en le mettant dans un fichier avs qu'on met dans le dossier plugin d'avisynth et en le chargeant
3) en le mettant dans un fichier avsi qu'on met dans le dossier plugin d'avisynth et sans le charger

Merci des éclaircissements.  J'y songerai au fur et à mesure que j'automatiserai mes procédures.  :jap:  
 

arnuche a écrit :

Et dans le script principal on n'a plus qu'à taper RemoveDirtMC(6), ce qui donne par exemple ;

Code :
  1. avisource("H:\ma video.avi" )
  2. RemoveDirtMC(6)


 :)  
Si je ne mets pas de 6 ça ne marche pas [ donc si je mets RemoveDirtMC() ], pourtant le réglage par défaut devrait fonctionner  :??:

Tu fais référence à la deuxième ligne de la fonction RemoveDirtMC ?  :ange:  

Code :
  1. function RemoveDirtMC(clip,int limit, bool "_grey" )
  2. {
  3.   _grey=default(_grey, false)
  4.   limit = default(limit,6)


Peut-être qu'il faut mettre 6 avant «limit» pourqu'il soit pris en valeur par défaut ?  :??:

Message cité 1 fois
Message édité par Trias le 09-09-2013 à 16:22:32

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876398
antislash2
Posté le 09-09-2013 à 22:26:07  profilanswer
 

Oh purée, stop les mecs ! je comprend rien...  :bounce:  
 
j'ai installé AVSynth 2.5
 
j'ai "compris"  d'après les explications du site http://avisynth.org/mediawiki/Votre_premier_script que l'on créait un fichier texte dans lequel on met la ligne AVIsource pour donner le chemin et le nom du fichier avi que l'on veut utiliser
Ensuite on change l'extension en .avs
Et en effet, en ouvrant ce fichier .avs avec WMP, il lit la video. Chouette.  :)  
 
Ensuite il y a ces scripts indiqués pour RemoveDirt et RemoveDirtMC (je ne comprend pas pourquoi il y en a 2  :??: ) que je trouve ici :
http://forum.doom9.org/showthread. [...] post791217
 
Tout con, j'ajoute en copier/coller ces 2 fonctions à la suite de ma ligne AVIsource et je relance ça avec WMP.
bien sur il ne se passe rien, à part la lecture du clip...  :whistle:  
 
Mais... ayant un peu pratiqué des langages comme VBA, je sais tout de même ce qu'est une fonction.
Une fonction, ça s'appelle au sein du programme principal avec des paramètres, et tel que c'est écrit, il y a bien 3 paramètres :
 
function RemoveDirt(clip input, int limit, bool _grey)
 
Le premier mot de chaque paramètre représente le format de celui-ci, puisque je reconnais int pour integer et bool pour boolean
 
Donc si je veux exécuter RemoveDirt sur ma vidéo, je pense que je dois, après avoir déclaré mon AviSource, écrire le programme, c'est à dire au minimum un truc du genre :
 
AviSource("c:\repertoire\monclip.avi" )
RemoveDirt (AviSource, nnnn, b)

 
mais que représentent les 2 paramètres limit et _grey ? que dois-je mettre comme valeur pour nnnn et pour b ???
 
est-ce que c'est bien comme je le décris que ça marche ? C'est WMP qui exécutera le script ? Et où peut-on indiquer un nom de fichier avi cible ?

Message cité 2 fois
Message édité par antislash2 le 09-09-2013 à 22:27:42

---------------
MSI Z77A-GD65 + I7 3770K + 16 Go DDR3 1600
n°1876405
antislash2
Posté le 09-09-2013 à 23:12:58  profilanswer
 

Finalement en reprenant vos exemples et d'autre que j'ai trouvé dans un téléchargement qui s'appelle "P10JMC v9.4 Full Graphic V+A" j'ai réussi à ouvrir un AVS dans VirtualDub (et non pas dans WMP comme je le croyais à l'origine) :
 
# You need: RemoveGrain, MVTools 1.1.1
 
LoadPlugin("RemoveGrain.dll" )     # charge les plugins utiles
LoadPlugin("MVTools.dll" )
LoadPlugin("RemoveDirt.dll" )
 
 
AviSource("E:\VideoCaptures\Ma video.avi" )
    function RemoveDirt(clip input, int limit, bool _grey)
    {
      clensed=input.Clense(grey=_grey, cache=4)
      alt=input.RemoveGrain(2)
      return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey)
    }
    function RemoveDirtMC(clip,int limit, bool "_grey" )
    {
      _grey=default(_grey, false)
      limit = default(limit,6)
      bvec = clip.MVAnalyse(isb=false, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
      fvec = clip.MVAnalyse(isb=true, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
      backw = clip.MVFlow(bvec)
      forw  = clip.MVFlow(fvec)
      clp=interleave(backw,clip,forw)
      clp=clp.RemoveDirt(limit,_grey)
      clp=clp.SelectEvery(3,1)
      return clp
    }
    ConvertToYV12()
    RemoveDirtMC(6)

 
ça lance bien 2 fenêtres avec ma vidéo dans virtualdub, mais aucun effet visible entre la fenêtre de droite et celle de gauche...
je crois que j'y comprend que dalle, mais faute d'un tuto pour débutant, j'ai un peu peur de ne jamais y arriver...
 
qq'1 peut-il m'expliquer de A à Z comment lancer le script RemoveDirt sur ma vidéo ?  :(


---------------
MSI Z77A-GD65 + I7 3770K + 16 Go DDR3 1600
n°1876410
Trias
0% VCS, 0% prod, 100% pony
Posté le 09-09-2013 à 23:31:16  profilanswer
 

antislash2 a écrit :

Oh purée, stop les mecs ! je comprend rien...  :bounce:

Ca fait cet effet hein, les lignes de commande.  [:austin_powaaah]  
 
Imagine toi quand tu n'as personne à qui poser la question, et que tu dois te débrouiller toi même avec des post de forum anglais datant de plus de sept ans.  [:s@ms:2]  

antislash2 a écrit :

ça lance bien 2 fenêtres avec ma vidéo dans virtualdub, mais aucun effet visible entre la fenêtre de droite et celle de gauche...
je crois que j'y comprend que dalle, mais faute d'un tuto pour débutant, j'ai un peu peur de ne jamais y arriver...
 
qq'1 peut-il m'expliquer de A à Z comment lancer le script RemoveDirt sur ma vidéo ?  :(

Si virtualdub s'ouvre à partir de ta ligne de commande, alors c'est bon. Il est normal que tu n'aies aucune différence entre la droite et la gauche, parce que c'est la différence entre ce que reçoit virtualdub et le filtrage que tu lui ferais faire.  
 
Or là, tu ne lui fais faire aucun filtrage : il reçoit ce que lui envoie avisynth, et ne le modifie pas spontanément. C'est Avisynth qui fait le filtrage. Donc virtual dub se contente d'être un frameserver, il reçoit ce que lui envoie avisynth.  
 
Si tu veux comparer avec l'original, il te faut ouvrir une première session de vdub à partir de ton fichier avisynth, et ta vidéo directement dans une deuxième session. Et là tu pourras voir s'il faut que tu modifies les réglages de ta ligne de commande ou pas. :)

Message cité 1 fois
Message édité par Trias le 09-09-2013 à 23:35:27

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876444
arnuche
Posté le 10-09-2013 à 11:11:34  profilanswer
 

Trias a écrit :

Tu fais référence à la deuxième ligne de la fonction RemoveDirtMC ?  :ange:  

Code :
  1. function RemoveDirtMC(clip,int limit, bool "_grey" )
  2. {
  3.   _grey=default(_grey, false)
  4.   limit = default(limit,6)



Oui.
 

Trias a écrit :

Peut-être qu'il faut mettre 6 avant «limit» pour qu'il soit pris en valeur par défaut ?  :??:


Non, c'est l'un ou l'autre, donc si on ne met rien c'est le réglage par défaut qui est pris en compte, ça évite de devoir le taper dans le script.  
L'ordre auquel tu fais allusion concerne maximum un réglage par ligne, donc par exemple _grey ou false (première ligne) puis limit ou 6 (2 ème ligne), ce qui donnerait dans le script principal ;

Code :
  1. RemoveDirtMC(_grey, 6)


En l'occurrence, le réglage par défaut est limit, donc si je ne mets rien c'est comme si je mettais limit, sauf que ça ne fonctionne pas, j'ai un message du genre "mauvais argument dans la fonction". Pareil si je mets limit au lieu de 6. :??:  
Essaye chez toi de ne rien mettre entre parenthèses et aussi de mettre limit à la place du 6 pour voir si ça marche. ;)


Message édité par arnuche le 10-09-2013 à 11:24:21
n°1876447
arnuche
Posté le 10-09-2013 à 11:31:41  profilanswer
 

antislash2 a écrit :

Tout con, j'ajoute en copier/coller ces 2 fonctions à la suite de ma ligne AVIsource et je relance ça avec WMP.
bien sur il ne se passe rien, à part la lecture du clip...  :whistle:


Lis ce que Trias et moi avons écrit hier, on explique exactement comment faire. Crée un fichier avsi comme j'explique plus haut, ça allégera ton script.
 

Trias a écrit :

Imagine toi quand tu n'as personne à qui poser la question, et que tu dois te débrouiller toi même avec des post de forum anglais datant de plus de sept ans.  [:s@ms:2]


C'est ce qui m'arrive souvent, notamment hier pour trouver pourquoi RemoveDirt ne fonctionnait pas. :o  

n°1876450
Trias
0% VCS, 0% prod, 100% pony
Posté le 10-09-2013 à 11:39:36  profilanswer
 

arnuche a écrit :

C'est ce qui m'arrive souvent, notamment hier pour trouver pourquoi RemoveDirt ne fonctionnait pas. :o  

Sauf que t'a été fournie l'info sur l'existence du filtre, le lien vers le filtre, et le rajout des arguments manquants à ton script.  [:psychokwak]  
 
Mais bon, ça équivaut à ne recevoir de l'aide personne si je comprends bien ?  :pfff:


Message édité par Trias le 10-09-2013 à 11:39:48

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876453
arnuche
Posté le 10-09-2013 à 11:49:47  profilanswer
 

Mais non, ce n'est pas ça que je voulais dire et je te remercie évidemment pour ton aide  :jap: et je crois d'ailleurs t'avoir dit merci hier. :kaola:  
Mais bien souvent je galère seul, c'est comme ça que j'ai appris pas mal de choses sur l'encodage et les conversions, comme hier pour une partie du problème que je ne parvenais pas à comprendre mais je n'insinuais rien te concernant, j'ai bien vu que tu faisais tout ton possible pour m'aider. ;)


Message édité par arnuche le 10-09-2013 à 11:51:17
n°1876458
Trias
0% VCS, 0% prod, 100% pony
Posté le 10-09-2013 à 12:14:16  profilanswer
 

J'avais donc mal compris ton post. Disons simplement que je ne suis pas vissé à HFR 24H/24, et que donc mes coups de mains, aussi relatifs soient-ils, sont assez lents.  :ange:  
 
Passons, c'est oublié.  :)  
 
Par rapport aux valeurs par défaut de RemoveDirtMC, j'ai essayé sans integer, et en intervertissant les paramètres de la deuxième ligne, et cela ne marche pas davantage. Peut-être n'est-ce pas une valeur par défaut de l'integer principal en fait.  
 
Pour moi dans la syntaxe d'avisynth mettre une fonction avec une parenthèse vide après avisource revient à dire fonction(avisource=ma vidéo), donc effectivement cela ne spécifierait aucune valeur par défaut dans RemoveDirtMC.  
 
Y'a d'autres filtres du même style qui ne fonctionnent pas non plus «par défaut». Peut-être devrait-on ajouter une ligne qui la spécifie ? OU peut-être qu'il faudrait en spécifier une globale de limit, pour les deux fonctions (je ne vois pas de limit par défaut dans RemoveDirt non MC) ? Je t'avoue que mes connaissances en création de script sont limitées.  :whistle:


---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876461
arnuche
Posté le 10-09-2013 à 12:26:36  profilanswer
 

Trias a écrit :

Par rapport aux valeurs par défaut de RemoveDirtMC, j'ai essayé sans integer, et en intervertissant les paramètres de la deuxième ligne, et cela ne marche pas davantage.


Merci pour le test, ce résultat me semble anormal (mais me rassure puisque je ne suis pas le seul). Ou alors limit fait référence à un chiffre qui serait une limite et qu'il faut mettre à la place de limit ?  :??:  Ça m'étonnerait, ce serait indiqué dans l'aide du script.
 

Trias a écrit :

Y'a d'autres filtres du même style qui ne fonctionnent pas non plus «par défaut».


Etonnant parce que c'est la 1ère fois que je rencontre ce problème. D'habitude tout se passe bien et la fonction est bien prise en compte quand je ne mets rien entre parenthèses (on peut voir que le script est beaucoup plus lent* soit avec AVSMeter soit en constatant que la lecture rame dans Virtual Dub ou un programme de lecture compatible avec les scripts avs), ce sont alors les réglages par défaut de chaque paramètre qui sont pris en compte.
 
* = je veux dire par là beaucoup plus lent avec la fonction et rien entre parenthèses que sans la fonction.

Message cité 1 fois
Message édité par arnuche le 10-09-2013 à 12:29:23
n°1876462
Trias
0% VCS, 0% prod, 100% pony
Posté le 10-09-2013 à 12:32:38  profilanswer
 

arnuche a écrit :


Merci pour le test, ce résultat me semble anormal (mais me rassure puisque je ne suis pas le seul). Ou alors limit fait référence à un chiffre qui serait une limite et qu'il faut mettre à la place de limit ?  :??:  Ça m'étonnerait, ce serait indiqué dans l'aide du script.

Nan ce n'est pas ça, j'ai essayé aussi.  :D  
 
J'ai essayé pas mal de trucs en fait.  [:s@ms:2]  
 
D'après la doc, quant on veut donner une valeur par défaut à une variable, la syntaxe est :  

Code :
  1. variable = Default(x,d)

où d est la valeur par défaut souhaitée (ici 6). Donc il n'y a pas d'erreur de syntaxe.  
 
Le truc c'est que même si ca marche en spécifiant le paramètre (donc que les lignes de script sont bonnes), les deux fonctions RemoveDirt et RemoveDirtMC sont séparées. Donc pas sûr que la valeur par défaut de RemoveDirtMC s'applique aussi dans la fonction qui précède. Peut-être pourrait-t'on fusionner les accolades ou alors créer une troisième fonction avec cette fois ci une valeur par défaut qui s'appliquerait aux deux ?  
 
 [:arhendal]

Message cité 1 fois
Message édité par Trias le 10-09-2013 à 12:40:11

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876464
arnuche
Posté le 10-09-2013 à 12:45:21  profilanswer
 

Trias a écrit :

D'après la doc, quant on veut donner une valeur par défaut à une variable, la syntaxe est :  

Code :
  1. variable = Default(x,d)

où d est la valeur par défaut souhaitée (ici 6). Donc il n'y a pas d'erreur de syntaxe.


Pourtant ne rien mettre entre parenthèses marche et fait bien de l'effet d'habitude, tu peux essayer notamment avec tdeint().
 

Trias a écrit :

Le truc c'est que même si ca marche en spécifiant le paramètre (donc que les lignes de script sont bonnes), les deux fonctions RemoveDirt et RemoveDirtMC sont séparées. Peut-être pourrait-t'on fusionner les accolades ou alors créer une troisième fonction avec cette fois ci une valeur par défaut qui s'appliquerait aux deux.


Apparemment, vu le script de RemoveDirtMC, on peut supposer qu'il n'y a pas besoin de changer les paramètres de la 1ère partie du script (donc RemoveDirt) et que son fonctionnement a justement besoin de ces paramètres bien précis (pour RemoveDirt). Et donc il n'y aurait pas besoin de fusionner les accolades.
Je pense à ça parce que la partie RemoveDirt est plus courte que le script original de RemoveDirt ;
http://forum.videohelp.com/threads [...] ost1780577

Code :
  1. function RemoveDirt(clip input, bool "_grey", int "repmode" )
  2. {
  3.     _grey=default(_grey, false)
  4. repmode=default(repmode, 16)
  5. clmode=17
  6. clensed=Clense(input, grey=_grey, cache=4)
  7. sbegin = ForwardClense(input, grey=_grey, cache=-1)
  8. send = BackwardClense(input, grey=_grey, cache=-1)
  9. alt=Repair(SCSelect(input, sbegin, send, clensed, debug=true), input, mode=repmode, modeU = _grey ? -1 : repmode )
  10. restore=Repair(clensed, input, mode=repmode, modeU = _grey ? -1 : repmode)
  11. corrected=RestoreMotionBlocks(clensed, restore, neighbour=input, alternative=alt, gmthreshold=70, dist=1, dmode=2, debug=false, noise=10, noisy=12, grey=_grey)
  12. return RemoveGrain(corrected, mode=clmode, modeU = _grey ? -1 : clmode )
  13. }


 
à comparer à cette partie du script de RemoveDirtMC ;

Code :
  1. function RemoveDirt(clip input, int limit, bool _grey)
  2. {
  3.   clensed=input.Clense(grey=_grey, cache=4)
  4.   alt=input.RemoveGrain(2)
  5.   return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey)
  6. }

Message cité 1 fois
Message édité par arnuche le 10-09-2013 à 12:45:50
n°1876468
Trias
0% VCS, 0% prod, 100% pony
Posté le 10-09-2013 à 12:57:23  profilanswer
 

Ca y est j'ai trouvé.   [:sanpe':5]  
 

Code :
  1. function RemoveDirt(clip input, int limit, bool _grey)
  2. {
  3.   clensed=input.Clense(grey=_grey, cache=4)
  4.   alt=input.RemoveGrain(2)
  5.   return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey)
  6. }
  7. function RemoveDirtMC(clip, int "limit", bool "_grey" )
  8. {
  9.   _grey=default(_grey, false)
  10.   limit = default(limit, 6)
  11.   bvec = clip.MVAnalyse(isb=false, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  12.   fvec = clip.MVAnalyse(isb=true, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
  13.   backw = clip.MVFlow(bvec)
  14.   forw  = clip.MVFlow(fvec)
  15.   clp=interleave(backw,clip,forw)
  16.   clp=clp.RemoveDirt(limit,_grey)
  17.   clp=clp.SelectEvery(3,1)
  18.   return clp
  19. }
  20. ConvertToYV12()
  21. RemoveDirtMC()


 
 
C'était une erreur de syntaxe.  :o  [:s@ms:2]


Message édité par Trias le 10-09-2013 à 12:58:10

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876469
arnuche
Posté le 10-09-2013 à 13:00:51  profilanswer
 

Bien vu mais dans quelle ligne ?


Message édité par arnuche le 10-09-2013 à 13:01:17
n°1876470
Trias
0% VCS, 0% prod, 100% pony
Posté le 10-09-2013 à 13:06:20  profilanswer
 

Il faut un espace après la virgule pour la valeur d dans Defautl(x, d) et des guillemets pour le paramètre de la fonction défaut (ici int limit devient int "limit" ).  :ange:  
 

arnuche a écrit :

Pourtant ne rien mettre entre parenthèses marche et fait bien de l'effet d'habitude, tu peux essayer notamment avec tdeint().

Oui, mais seulement s'il y a une fonction de valeur par défaut fonctionnelle dans le script. :)  
 
On se retrouve à Oslo pour la remise des prix.  [:o_doc]


Message édité par Trias le 10-09-2013 à 13:12:38

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876471
arnuche
Posté le 10-09-2013 à 13:14:51  profilanswer
 

Trop fort :pt1cable:  
Maintenant on peut ne rien mettre entre parenthèses mais si je mets limit (ce qui revient à ne rien mettre) , ça ne marche pas. :??:  Il me semblait qu'on pouvait mettre le réglage par défaut, bien que ça ne serve à rien.
 
A Oslo pour le prix Nobel en scripts Avisynth ?  :D

n°1876474
Trias
0% VCS, 0% prod, 100% pony
Posté le 10-09-2013 à 13:19:21  profilanswer
 

J'te mentionnerai dans les remerciements.  [:o_doc]
 
Blagues à part, il te faut un integer pour le paramètre limit. Si tu mets limit, c'est limite limit si tu vois ce que j'veux dire.  [:aras qui rit]  
 
Bah en tous cas on aura appris comment se servir de la fonction Default et comment créer un avsi fonctionnel pour RemoveDirtMC. Nous n'aurons pas perdu notre temps.  :)


---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876477
arnuche
Posté le 10-09-2013 à 13:29:27  profilanswer
 

Anéfè. :)  
 

Citation :

Si tu mets limit, c'est limite limit si tu vois ce que j'veux dire. [:aras qui rit]


 :D  
 

Citation :

il te faut un integer pour le paramètre limit


Un chiffre ?
Comment savoir quel est celui qui correspond à limit ?

n°1876480
Trias
0% VCS, 0% prod, 100% pony
Posté le 10-09-2013 à 13:55:52  profilanswer
 

arnuche a écrit :

Un chiffre ?
Comment savoir quel est celui qui correspond à limit ?

Mmmh, je crois que pour Oslo c'est prématuré. Comme tu le dis, on ne peut maintenant plus mettre de valeur pour limit, autre que rien du tout. Ca me fait un plantage de MVAnalyse (invalids arguments, line 17).  
 
Donc soit la fonction Default fonctionne, et ca ne marche que par défaut ; soit elle ne fonctionne pas et ça ne marche qu'avec un réglage personnalisé.   [:aras qui rit]  
 
 Ca ne sera pas aussi simple que ça...  [:arhendal]  
 
 
Bon, je jetterai probablement un coup d'oeil un peu plus tard, mais pour aujourd'hui assez de néo-scripting pour ma part.  ;)


Message édité par Trias le 10-09-2013 à 14:10:34

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1876485
arnuche
Posté le 10-09-2013 à 14:13:48  profilanswer
 

Okidoc, de toutes façons ça marche si on ne met rien, alors c'est pas urgent ...
Et Oslo peut attendre  :wahoo:

n°1878819
arnuche
Posté le 29-09-2013 à 12:05:53  profilanswer
 

zycker a écrit :

VVCR plante après avoir récupérer quelques images, pour Dscaler je ne saurais pas trop te dire mais il me laisse récupérer l'image et le son puis la traiter et l'enregistrer comme je veux même en compressé par le logiciel.


J'ai testé aussi VVCR sur Windows XP Pro 32 bit, même problème, il plante après 1 seconde. :(  
Pourtant il doit bien y avoir moyen de le faire fonctionner avec la PVR-150 puisque d'autres ont réussi. C'est peut-être un problème de version de VVCR ou de driver Hauppauge trop récent qui bloque cette possibilité.
Il faudrait que je teste Dscaler, en espérant qu'il bypasse l'encodeur mpeg-2 de l'Hauppauge sinon ça ne change rien par rapport à WinTV.
J'ai essayé aussi avec Virtual Dub qui refuse de lancer la capture et avec MPC-HC qui la lance (j'enregistre en Lagarith) mais dont le fichier avi est illisible (HCW2 non reconnu).
Mais je viens de trouver ce convertisseur HCW2 vers YV12 ;
http://forum.doom9.org/showthread. [...] ost1263446
Faudra que je teste ça.
Autre sujet intéressant sur la PVR-150 et la capture avi ;
http://forum.videohelp.com/threads [...] ost2132458
 
Le logiciel de capture RoboRealm 1.8.0.3 intègre ce convertisseur HCW2 ;
http://www.roborealm.com/forum/ind [...] ad_id=1555


Message édité par arnuche le 29-09-2013 à 12:26:40
n°1878821
Trias
0% VCS, 0% prod, 100% pony
Posté le 29-09-2013 à 12:15:08  profilanswer
 

Lorsque tu lances VVCR, mais avec un flux composite bien stable (type video/S-video en direct par un APN, ou une console), ça plante aussi vite ou pas ?


---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1878822
arnuche
Posté le 29-09-2013 à 12:28:25  profilanswer
 

Je n'ai pas essayé mais la VHS avec laquelle j'ai fait le test a un bon signal. Mais je pense que c'est un problème de filtre, je dois tenter RoboRealm (voir mon édition ci-dessus).

n°1878875
Trias
0% VCS, 0% prod, 100% pony
Posté le 29-09-2013 à 20:03:14  profilanswer
 

Ca m'étonne tout de même qu'elle ne puisse pas sortir un flux non compressé, mais peut-être est-ce là la particularité d'Hauppauge.  :jap:  
 
Pour ma part je sais que VVCR n'intègre pas de mécanisme de protection contre les erreurs, et donc a tendance à planter là où les logiciels du fabriquants compensent les défauts de la carte. D'où l'idée de tester avec un flux sans erreur, de type APN. :)


Message édité par Trias le 29-09-2013 à 20:03:38

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
n°1878938
arnuche
Posté le 30-09-2013 à 11:30:59  profilanswer
 

D'autres ont réussi à numériser des VHS avec cette config, je pense que c'est un problème de driver, comme expliqué dans le topic dont j'ai mis le lien.
Mais je dois encore essayer le convertisseur HCW2.

n°1879142
arnuche
Posté le 01-10-2013 à 16:14:10  profilanswer
 

Bonne nouvelle : après des heures de chipotage, j'ai enfin réussi à capturer en avi l'image de ma PVR-150, et avec le son directement dans l'avi en plus ! :)  
Il fallait bien mettre les anciens drivers Hauppauge (ceux du cd datant de 2004) et ça marche avec Virtual VCR qui ne se coupe plus après 1 seconde.
Pour le son, il faut bien mettre Hauppauge WinTV PVR aux 2 lignes vidéo et audio dans la partie devices de VVCR, mais ça ne suffit pas, il faut aussi choisir Hauppauge WinTV PVR dans les options d'enregistrement audio de Windows (XP dans mon cas) : panneau de config, sons et périphériques audio, audio, enregistrement audio (unité par défaut).
Dans l'onglet audio de VVCR, il faut cocher capture audio (ne pas cocher compress audio) et mettre 48 khz au lieu de 44.1.
Pour le reste des réglages, voir ce post ;
http://www.shspvr.com/smf/index.php?topic=6403.0
Il a oublié de préciser que dans la partie filters, il faut aussi cocher use pre filtering après avoir choisi le filtre Hauppauge (et avoir cliqué sur add) pour qu'il soit pris en compte, sinon la capture ne fonctionne pas.
 
edit : il faut capturer en yuy2, j'explique pourquoi là ;
http://forum.hardware.fr/hfr/Video [...] m#t1879885
 
J'ai juste 2 petits problèmes heureusement pas très graves : je n'entends pas le son pendant la capture, mais je ne l'entends pas non plus avec WinTV alors que sur mon ancien pc je l'avais donc le problème doit venir d'un de mes réglages, je n'ai pas encore trouvé le quel.
L'autre problème, c'est qu'il y a une erreur d'en-tête concernant le framerate : que j'enregistre la vidéo en Huffyuv ou en Lagarith (basé sur Huffyuv mais en plus efficace, prend moins de place), le framerate est de 29.97 fps au lieu de 25 alors que la source est bien en PAL, ce qui fait que l'image défile trop vite et n'est pas synchro avec le son. Mais ça se règle facilement : après l'enregistrement, on ouvre la vidéo dans Virtual Dub (qui détecte au passage une erreur pas grave de non zero start position), on va dans video, framerate, source rate adjustment, change framerate to et on met 25. On met aussi direct stream copy dans l'onglet video pour ne pas ré-encoder puis on sauve en avi. :)  
Avant ça j'avais essayé Dscaler qui ne fonctionnait pas. Peut-être qu'il fonctionnerait, maintenant que j'ai mis les anciens drivers, mais je l'avais désinstallé et je ne compte pas le ré-essayer puisque ça marche avec VVCR.

Message cité 1 fois
Message édité par arnuche le 06-10-2013 à 12:16:20
n°1879295
Trias
0% VCS, 0% prod, 100% pony
Posté le 02-10-2013 à 13:14:01  profilanswer
 

arnuche a écrit :

Bonne nouvelle : après des heures de chipotage, j'ai enfin réussi à capturer en avi l'image de ma PVR-150, et avec le son directement dans l'avi en plus ! :)  
Il fallait bien mettre les anciens drivers Hauppauge (ceux du cd datant de 2004) et ça marche avec Virtual VCR qui ne se coupe plus après 1 seconde.

Bien joué.  :jap:  

Citation :

Pour le son, il faut bien mettre Hauppauge WinTV PVR aux 2 lignes vidéo et audio dans la partie devices de VVCR, mais ça ne suffit pas, il faut aussi choisir Hauppauge WinTV PVR dans les options d'enregistrement audio de Windows (XP dans mon cas) : panneau de config, sons et périphériques audio, audio, enregistrement audio (unité par défaut).

C'est lié à VVCR. Sous W7, j'ai l'impression qu'il ne voit pas d'autre periphérique que celui par défaut. :)

Citation :

J'ai juste 2 petits problèmes heureusement pas très graves : je n'entends pas le son pendant la capture, mais je ne l'entends pas non plus avec WinTV alors que sur mon ancien pc je l'avais donc le problème doit venir d'un de mes réglages, je n'ai pas encore trouvé le quel.

Dans le mixeur windows, section enregistrement, sur le périphérique que tu utilises tu dois avoir une petite case à cocher « écouter ce périphérique ».  Vérifie que c'est bien le cas. :)  

Citation :

L'autre problème, c'est qu'il y a une erreur d'en-tête concernant le framerate : que j'enregistre la vidéo en Huffyuv ou en Lagarith (basé sur Huffyuv mais en plus efficace, prend moins de place), le framerate est de 29.97 fps au lieu de 25 alors que la source est bien en PAL, ce qui fait que l'image défile trop vite et n'est pas synchro avec le son. Mais ça se règle facilement : après l'enregistrement, on ouvre la vidéo dans Virtual Dub (qui détecte au passage une erreur pas grave de non zero start position), on va dans video, framerate, source rate adjustment, change framerate to et on met 25. On met aussi direct stream copy dans l'onglet video pour ne pas ré-encoder puis on sauve en avi. :)

Tu as dans VVCR des options (dans capture pin je crois) pour le périph vidéo, où tu peux spécifier le frame-rate. Ceci dit chez moi il ne me laisse pas capturer autrement qu'en 25 fps.  :o

Message cité 1 fois
Message édité par Trias le 02-10-2013 à 13:14:18

---------------
KEF – Certains pensent. D'autres croient. Qui pensez vous qu'il faille croire ? – SC2 #HFR #Pony
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  67  68  69  ..  78  79  80  81  82  83

Aller à :
Ajouter une réponse
 

Sujets relatifs
une bonne carte d'acquisition fiable et pas trop cher ?Quelle carte pour une station d'acquisition video ?
NFORCE 2 / ACQUISITIONproblème son lors de l'acquisition vidéo
Un PII 350 ca suffit pour de l'acquisition en mjpeg ?Acquisition analogique
Adieux VHS :DQu'en est-il de l'acqusition VHS (filtres, codecs les plus adaptés)
Transfert Betacam --> VHSCarte d'acquisition video ??
Plus de sujets relatifs à : [Topic Unique] L'acquisition VHS et assimilé


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)