Script AviSynth coller 2 video

Script AviSynth coller 2 video - Traitement Vidéo - Video & Son

Marsh Posté le 06-06-2008 à 09:57:10    

Bonjour à tous , j'ai réaliser un script avisynth pour ajouter une intro paramétrable à un série de vidéos, jusque là pas de problème mon script marche
comme il faut mais au moment de la 'coller' à ma partie vidéo qui contient du son j'obtient cette erreur  
 
Avisynth open failure :
Splice : one clip has audio and the other doesn't ( not allowed)

 
Quelqu'un peut me dire comment faire pour m'en sortir  :wahoo:  
 
Merci d'avance


Message édité par nutty91 le 06-06-2008 à 11:29:46
Reply

Marsh Posté le 06-06-2008 à 09:57:10   

Reply

Marsh Posté le 06-06-2008 à 15:49:32    

personne n'a de solution  ? :'(

Reply

Marsh Posté le 06-06-2008 à 21:49:17    

Bonjour,
 
Pour pouvoir t'aider, il faudrait voir ton script avisynth, en attendant : le message d'erreur indique qu'il faut ajouter une piste sonore à une des vidéos (probablement à l'intro si elle est muette). Tu peux peut-être utiliser le code suivant, en adaptant le taux d'échantillonage (sample rate) à celui de ta vidéo (extrait de la doc d'avisynth) :
 

# adds a silent audio stream (with a samplerate of 48 kHz) to a video clip:
video = AviSource("E:\pdwork\DO-Heaven.AVI" )
audio = BlankClip(video, audio_rate=48000)
AudioDub(video, audio)


 
A toute fin utile, voila la méthode que j'utilise pour ajouter des génériques texte à une vidéo


---------------
urzhiata : sons, pixels & court-circuits : | : | : | : codelab.fr : forum du code créatif (pure-data, processing, ...)
Reply

Marsh Posté le 11-06-2008 à 12:29:33    

Voici mon script avisynth
 
video = AVISource("E:\vderenty\My Videos\Temp-DIvX.avi" ).KillAudio
video = video ++ AVISource("E:\vderenty\My Videos\ItemSearch43_backup.avi" ).KillAudio
audio = WavSource("audio_itemSearch.wav" )
video = AudioDubEx(video, audio)
Trim(0,450)
Subtitle("ELAN - ERP", 300, 290, 200, 500, "Eurostile", 40, $3792D0)
Subtitle("ORACLE APPLICATIONS", 210, 340, 200, 500, "Eurostile", 40, $3792D0)
Subtitle("Approving Documents", 245, 410, 200, 500, "Eurostile Bold", 35, $3792D0)

 
Voila, j'ai essayer dans ce code de supprimer les flux audio des deux clip et de le rajouter grâce a audioDubEx...
 
J'ai plus l'ancienne erreur avec mes modifs, j'en ai une autre --> splice: video formats don't match
 
pour ta solution , j'ai essayé et j'obtient la même erreur ...  
j'ai aussi tester en mettant des  

video2 = video2.ChangeFPS(29.97)
video2 = video2.BicubicResize(800,600)

 
sur les 2 clip , rien a faire ... tjrs ce fichu message
 
 
 
 

Reply

Marsh Posté le 11-06-2008 à 13:45:19    

Je viens de faire l'essai avec le script suivant qui fonctionne (en remplacant tes fichiers vidéos par des fichiers à moi!). Est ce que ça marche pour toi ?
 

v1 = AVISource("E:\vderenty\My Videos\Temp-DIvX.avi" ).KillAudio.BicubicResize(800,600).ChangeFPS(29.97).ConvertToYUY2()  
v2 = AVISource("E:\vderenty\My Videos\ItemSearch43_backup.avi" ).KillAudio.BicubicResize(800,600).ChangeFPS(29.97).ConvertToYUY2()  
v3 = v1 + v2
audio = WavSource("audio_itemSearch.wav" )  
v4 = AudioDubEx(v3, audio)  
v5 = Trim(v4,0,450)  
v6 = Subtitle(v5,"ELAN - ERP", 300, 290, 200, 500, "Eurostile", 40, $3792D0)  
v7 = Subtitle(v6,"ORACLE APPLICATIONS", 210, 340, 200, 500, "Eurostile", 40, $3792D0)  
v8 = Subtitle(v7,"Approving Documents", 245, 410, 200, 500, "Eurostile Bold", 35, $3792D0)  
return v8


---------------
urzhiata : sons, pixels & court-circuits : | : | : | : codelab.fr : forum du code créatif (pure-data, processing, ...)
Reply

Marsh Posté le 11-06-2008 à 14:42:08    

ça marche !!!  :love:  
 
Seul Hic : le clip vidéo ne comporte pas la 2eme vidéo ...
 
j'ai juste la vidéo intitulée Temp-DIvX.avi avec le son (v3) par dessus  :heink:  
 
une idée ?  :??:  
 

Reply

Marsh Posté le 11-06-2008 à 14:53:01    

argh,
 
une idée ? problème avec le trim ? combien de temps dure la vidéo résultat (elle devrait durer 15 secondes : 450 frames à 29.97 fps)


---------------
urzhiata : sons, pixels & court-circuits : | : | : | : codelab.fr : forum du code créatif (pure-data, processing, ...)
Reply

Marsh Posté le 11-06-2008 à 15:14:49    

Mais oui , je suis trop bête ... c'était effectivement ma Trim :)
 
voila tout s'enchaine plus ou moins correctement, j'ai encore des retouche a faire pour supprimer les clignotement lors de certaine transition .
Et il faut que je fasse démarrer la piste audio à une frame donnée également .
 
Je vais me renseigner pour ces précisions , merci de ton précieux coup de main  

Reply

Marsh Posté le 12-06-2008 à 11:54:27    

c'est encore moi , je voulais signaler que j'ai des petit problèmes au niveau du rendu...
 
Arriver a la jointure entre mon 1er et 2eme clip ça commence de saccader / clignoter , je ne comprends pas pourquoi ... J'ai essayer de modifier mes fps sans résultats ...
 
Quelqu'un aurait une idée ???

Reply

Marsh Posté le 12-06-2008 à 22:11:03    

C'est en lisant le fichier avs que ça saccade?, ou as tu recréé un fichier vidéo à partir de ton montage avisynth?
Si c'est le premier cas, essaye le deuxième :)
(avec virtual dub ou ffmpeg, par exemple)


---------------
urzhiata : sons, pixels & court-circuits : | : | : | : codelab.fr : forum du code créatif (pure-data, processing, ...)
Reply

Marsh Posté le 12-06-2008 à 22:11:03   

Reply

Marsh Posté le 25-07-2008 à 15:41:37    

Hello , me revoilà , j'ai réussi a régler le problème pour ma vidéo qui clignoté en ré encodant le .avi avec un autre logiciel de conversion ...
 
Je n'est plus qu'un seul problème ' faire partir la bande sonore au moment ou je le désire ' , là elle part a l'intro et je trouve pas de paramètres pour qu'elle démarre plus tard :s
 

Reply

Marsh Posté le 28-07-2008 à 12:21:12    

Salut,
 
As tu essayé de créer un morceau sonore vide que tu places avant le début de ta bande sonore?

Reply

Marsh Posté le 28-07-2008 à 16:26:53    

Bonsoir,  
 
J'y ai pensé mais je n'envisage cette option que s'il est possible de créer une piste  
audio 'blank' d'une durée précise directement dans le script  :o  
 
Je croise les doigts pour que se soit le cas  :whistle:  
 

Reply

Marsh Posté le 17-11-2009 à 07:44:35    

Bonjour
Je viens de créer un script pour marier 3 clips vidéo dont le premier est un clip vidéo fait à partir d’ images (720x576,audioac3 pal dvd) encodé à partir de ffmpeg ,mon souci est que j’ai comme message (framerate i do’nt match…)
 
Ma question est  puis je associer des vidéos à partir d’images avec des vidéos classiques provenant d’un caméscope ou bien d’une vidéo encodée avec ffmpeg
 
Voici mon script certainement avec pas mal d’erreur mais progresser avec avisynth est bien moins aisé qu’avec ffmpeg.
 
 
# declaration variables
 
vid01 = ""
vid01 = "e:\ffmpeg\video\01.mpg"
 
 
vid02 = ""
vid02 = "e:\ffmpeg\video\02.mpg"  
 
vid03 = ""
vid03 = "e:\ffmpeg\video\03.mpg"
 
# directshowsource
 
dirs01 = ""
dirs02 = ""
dirs03 = ""
 
# lecture des videos
 
dirs01 = directshowsource(vid01)
dirs02 = directshowsource(vid02)
dirs03 = directshowsource(vid03)
 
#fondu enchaine des videos
 
return dissolve(dirs01, dirs02, dirs03, 30)
 
#fadein
 
fadein(50)
 
#fadeout
 
fadeout(50)
 
return video

Reply

Marsh Posté le 17-11-2009 à 11:42:02    

Citation :

Ma question est  puis je associer des vidéos à partir d’images avec des vidéos classiques provenant d’un caméscope ou bien d’une vidéo encodée avec ffmpeg


oui bien sûr, tout ce qu'avisynth est capable d'ouvrir  peut être manipulé.
 

Citation :

mon souci est que j’ai comme message (framerate i do’nt match…)


Des clips ne peuvent être mis bout à bout que s'ils ont la même cadence d'image. (Pas de framerate variable avec avisynth)
Le message indique que une au moins des 3 videos n'a pas le même framerate. je suppose le clip issus d'images ?
Pour ajuster le framerate il y a 3 fonctions dans avisynth
 
assumefps(...) accélère ou ralenti- audio compris si assumefps(true) - l'audio est accéléré-ralenti par augmentation-diminution de la fréquence d'échantillonage (ex : 44100 --> 44593) il faut donc en suivant ramené l'échantillonage à sa valeur d'origine avec resampleaudio(44100)
soit: assumefps(true).resampleaudio(44100)
Si le pitch (tonalité) change trop, il est aussi possible de la corriger cf timestrech
 
changefps(...) duplique des frames, audio reste synchro --> saccades sur videos, pas de pb sur clip d'images
 
convertfps(...) blende les frames entre elles. audio reste synchro
 
Sur un clip fait à partir d'images utilise changefps() - changefps(25) en l'occurence si les autre clips sont PAL 25 fps
 
Regarde la doc, tout est bien expliqué (en anglais)
 

Citation :

Voici mon script certainement avec pas mal d’erreur mais progresser avec avisynth est bien moins aisé qu’avec ffmpeg.


quelques remarques.
essaye d'éviter autant que faire ce peut directshowsource pour ouvrir une video.
La raison est que le décodage mpeg2 mpeg4 via directshow est rarement précis à la frame prés.
ex: tu veut une coupure sur la 355 frame d'aprés ce que tu vois dans ton éditeur avs, mais la coupure se fera sur la 357.
 
Pour ouvrir du mpeg2 il y a soit DGDIndex  ( plugin externe) + plugin DGDecode.dll --> donne fichier index d2v
soit  
FFVideoSource  (plugin externe ffmpegSource) ---> crée egalement (mais de façon invisible un fichier index)
 
Quant au script,
aprés la ligne
return disolve(...)
les frames sont envoyées vers l'encodeur ce qui fait que les fadein-out suivant ne seront pas exécutés
 
il faut finir comme ça:
 
....
return dissolve(dirs01, dirs02, dirs03, 30) .fadein().fadeout()
 
ou plus simplement
dissolve(dirs01, dirs02, dirs03, 30) .fadein().fadeout()
le return n'est pas obligatoire car aprés le dissolve, il n'y a plus de clips variable (ils sont dans un clip unique)
 
ou encore  
dissolve(dirs01, dirs02, dirs03, 30)
fadein()
fadeout()

 
la syntaxe avs est trés riche...
 
enfin, les vid03 = "" seuls  etc.. sont inutiles


---------------
http://www.pate15.eu/pate15
Reply

Marsh Posté le 18-11-2009 à 07:29:44    

Un grand merci jabalia65
Je vais mettre en pratique ces infos des ce week-end, certainement d’autres difficultés vont se greffer à mes lacunes avec avisynth et naturellement d’autres questions, je risque de poser.
Pour info je dois rajouter un fichier sous titre .ssa, mon format de départ à convertir est du mp4(mov/aac)… on verra ,à bientôt certainement sur le forum.

Reply

Marsh Posté le 23-11-2009 à 07:28:35    

Me voila de retour
 
Apres avoir testé ces renseignements naturellement je viens de rencontrer d’autres problèmes
Avec les fichiers index d2v, après avoir crée l’index (save projet un fichier index, un fichier ac3, et mon fichier mpg) impossible de finaliser mon script correctement(une bonne cinquantaine de modifications sur la syntaxe apres x  relecture du manuel impossible)je ne vois pas mon erreur,ci-joint modèle de mon script,dans l’espoir d’une réponse,merci.
Voici le message d’erreur
 
#message : (script error invalide argumentsto fonction audiodub line 44)
 
 
 
# lecture des videos
 
dirs00 = mpeg2source(vid01).changefps(25)
dirs01 = mpeg2source(vid02)
#dirs02 = mpeg2source(vid03)
dirs03 = mpeg2source(vid04)
 
#lecture audio
 
loadplugin("C:\Program Files\AviSynth 2.5\plugins\NicAudio.dll" )
 
aud01 = "d:\ffmpeg\video\00.ac3"
aud02 = "d:\ffmpeg\video\01.ac3"
#aud04 = "d:\ffmpeg\video\02.ac3"
aud03 = "d:\ffmpeg\video\03.ac3"
 
 
 
 
#fondu enchaine des videos et fadein out
 
 
dissolve(dirs00, dirs01, dirs03, 30).fadein(30).fadeout(30)
 
#reunir les videos et l’audio
 
 
video = audiodub(dirs00,dirs01,dirs03,aud01,aud02,aud03)
 
return video

Reply

Marsh Posté le 23-11-2009 à 10:02:20    

salut,
Je te conseille tout d'abord, au cas ou tu ne le ferais pas encore, d'utiliser AVSP pour éditer et visualiser les scripts avs.
 
1 - ouverture des vidéos
 
# lecture des videos
dirs00 = mpeg2source(vid01).changefps(25)
dirs01 = mpeg2source(vid02)
..............

 
il faut que vid01 , vid02 , ... soit définies avant.  
ex:
vid01 = "d:\...\video_1.d2v"
 
mais tu peux aussi simplement les définir directement dans mpeg2source
dirs00 = mpeg2source( "d:\...\video_1.d2v" )
 
A ce niveaux là, dans avsp,tape  
 
return dirs00
et la video dirs00 s'affiche dans la prévue. En bas de la fenêtre, il y a des infos comme nbre de frames, fps, résolution etc..
tu peux return (er) succésivement toutes les vidéos et vérifie qu'elles ont les mêmes caractéristiques sinon tu pourras pas les coller ensemble.
(c'est pareil avec Vdub etc..)
 
2 - maintenant il faut ouvrir les pistes audio
Aprés le passage dans DGIndex, video.mpg et audio.ac3 ont été démuxés (séparés).
Avant de continuer le script, il faut les remettre ensemble car les fonctions "dissolve" et "fade in-out" agissent simultanément sur l'audio et la video. (c'est bien sur pas obligatoire d'avoir un fondu sur l'audio aussi  mais c'est à mon avis plus classe)
 
pour ouvrir l'ac3 le plugin nicaudio.dll est trés bien.
loadplugin("C:\Program Files\AviSynth 2.5\plugins\NicAudio.dll" )
pas vraiment indispensable si la dll du plugin est dans le dossier plugin d'avisynth.
Tous les plugins présents dans ce dossier sont chargés automatiquement.
 
Ensuite comme pour les d2v+mpeg2source, il faut appeller les audio .ac3
 
aud00 = NicAC3Source("d:\ffmpeg\video\00.ac3" )
aud01 = NicAC3Source("d:\ffmpeg\video\01.ac3" )
....

 
ensuite on rassemble video + audio en créant une nouvelle variable pour chaque vidéo reconstituée.
audidub ne fonctionne QUE pour une piste audio + une piste video  --> autant d'appel d'audiodub que de couple video-audio
 
video1 = audiodud(dirs00,aud00).changefps(25)
video2 = audiodud(dirs01,aud01)

 
et si tu doit changer le framerate avec une fonction qui ajuste aussi l'audio assumefps() c'est le moment de le faire car video+ audio sont ensembles.
Pour changefps(25) ce n'est pas la peine car changefps ne chage pas la durée de la vidéo => audio reste synchrone.
Comme tu as fait au dessus c'est donc bon mais c'est important de penser à la video comme à l'audio car beaucoup de filtres modifient les 2  ensembles.
 
###########################"
juste pour un autre exemple de syntaxe:
video1 = audiodub(mpeg2source( "d:\...\video_1.d2v" ).changefps(25),NicAC3Source("d:\ffmpeg\video\00.ac3" ))
video2 = ...

on peut chainer les fonctions l'une dans l'autre avec Avisynth. => moins de variables mais syntaxe plus lourde)
########################
 
n'oublie pas qu'a tout moment tu peux faire un return sur une variable pour voir si tout se déroule bien
 
3 - maintenant il ne reste plus car faire la jonction
 
dissolve(video1,video2,...,20).fadein(20).fadeout(20)
 
plus besoin de return car il n'y a plus de variable mais un seul clip
 
J'espère que c'est un peu plus clair
bon courage
 
en simple voilà le script correct
 
dirs00 = mpeg2source( "d:\...\video_0.d2v" )
dirs01 = mpeg2source( "d:\...\video_1.d2v" )
 
aud00 = NicAC3Source("d:\ffmpeg\video\00.ac3" )
aud01 = NicAC3Source("d:\ffmpeg\video\01.ac3" )
 
video_0 = audiodub(dirs00,aud00).changefps(25)
video_1 = audiodub(dirs01,aud01)
 
dissolve(video_0,video_1,20).fadein(20).fadeout(20)


Message édité par jabali65 le 23-11-2009 à 10:10:44

---------------
http://www.pate15.eu/pate15
Reply

Marsh Posté le 24-11-2009 à 07:30:23    

Merci Jabali65 , tes explications sont très claires et donne envie de travailler avec avisynth, dommage qu’il n’existe pas un manuel avec des renseignements aussi précis que tes explications,mais la partie n’est pas joué pour moi,j’ai encore beaucoup à découvrir,entre autre insérer un fichier sous titre .ssa, je fais les tests aujourd’hui et une fois de plus je me manifesterai dans les jours à venir.

Reply

Marsh Posté le 26-11-2009 à 07:34:16    

Bonjour jabali65
Encore merci pour le lien de cet éditeur,qui m’a permis de résoudre quelques erreurs dommage que le lien pour la translation en FR ne  fonctionne pas. Mon dernier problème est maintenant insérer un sous titre .ssa , donc dans mon script presque opérationnel j’ai crée une variable en lui indiquant le chemin de mon  fichier  .ssa et par miracle cela ne fonctionne pas ,par contre suite à cette erreur de syntaxe il m’affiche par défaut en haut à gauche avec une police basique de couleur jaune le d:\ffmpeg\vidfeo\fichier.ssa
Cela m’ouvre une porte pour afficher un titre mais ce n’est pas ce que je recherche, les effets sur le titre avec un .ssa sont beaucoup plus sophistiqués. Dns l’attente bonne journée.
 
# declaration variables
 
 
 
vid00 = "d:\ffmpeg\video\00.d2v"
 
 
vid01 = "d:\ffmpeg\video\01.d2v"
 
 
vid02 = "d:\ffmpeg\video\02.d2v"
 
 
vid03 = "d:\ffmpeg\video\03.d2v"
 
vid04 = "d:\ffmpeg\video\subtitle.ssa"  
 
 
 
# lecture des videos
 
dirs00 = mpeg2source(vid00).changefps(25).subtitle(vid04)
dirs01 = mpeg2source(vid01)
dirs02 = mpeg2source(vid02).changefps(25).greyscale
dirs03 = mpeg2source(vid03)
 
 
#fondu enchaine des videos et fadein out
 
 
dissolve(dirs00, dirs01, dirs02, dirs03, 50).fadein(50).fadeout(50)
 

Reply

Marsh Posté le 26-11-2009 à 10:08:06    

Pour incruster un fichier sous-titre avec avisynth tu peux utiliser VSFilter (supporte sub , srt , ssa)
 
syntaxe:

...
dissolve(dirs00, dirs01, dirs02, dirs03, 50).fadein(50).fadeout(50)  
textsub("d:\ffmpeg\video\subtitle.ssa" )

 
Regarde la doc avisynth C: /Program Files/AviSynth 2.5/Docs/english/index.htm , il y a la liste des fonctions internes et de la plupart des plugins importants classés par thèmes
 
++
 


---------------
http://www.pate15.eu/pate15
Reply

Marsh Posté le 30-11-2009 à 07:33:12    

Bonjour jabali65
 
Apres avoir composé mon script d’une quinzaine de clips,j’ai testé celui-ci avec AVSP,à priori tout est correct,mais au rendu avec les index et fichiers d2v, je me suis aperçu qu’a partir du clip vidéo 05 le dissolve ne se fait plus et naturellement ce qui suit (trim…)
J’ai fais un essai avec directshowsource et là aucun problème,sauf que sur ma config j’ai un problème de codec message de ffmpeg (error opening codec audio)sinon la vidéo sans le aucun soucis j’ai le dissolve à chaque clip ,ci-joint mon script,portant cela me parait correct.
 
# declaration variables
 
#video
 
vid00 = "d:\ffmpeg\video\00.d2v"
 
vid01 = "d:\ffmpeg\video\01.d2v"
 
vid02 = "d:\ffmpeg\video\02.d2v"
 
vid03 = "d:\ffmpeg\video\03.d2v"
 
vid04 = "d:\ffmpeg\video\04.d2v"
 
vid05 = "d:\ffmpeg\video\05.d2v"
 
vid06 = "d:\ffmpeg\video\06.d2v"
 
vid07 = "d:\ffmpeg\video\07.d2v"
 
vid08 = "d:\ffmpeg\video\08.d2v"
 
vid09 = "d:\ffmpeg\video\09.d2v"
 
vid10 = "d:\ffmpeg\video\10.d2v"
 
vid11 = "d:\ffmpeg\video\11.d2v"
 
vid12 = "d:\ffmpeg\video\12.d2v"
 
vid13 = "d:\ffmpeg\video\13.d2v"
 
vid14 = "d:\ffmpeg\video\14.d2v"
 
 
 
 
 
#audio
 
audio00 = "d:\ffmpeg\video\00.ac3"
 
audio01 = "d:\ffmpeg\video\01.ac3"
 
audio02 = "d:\ffmpeg\video\02.ac3"
 
audio03 = "d:\ffmpeg\video\03.ac3"
 
audio04 = "d:\ffmpeg\video\04.ac3"
 
audio05 = "d:\ffmpeg\video\05.ac3"
 
audio06 = "d:\ffmpeg\video\06.ac3"
 
audio07 = "d:\ffmpeg\video\07.ac3"
 
audio08 = "d:\ffmpeg\video\08.ac3"
 
audio09 = "d:\ffmpeg\video\09.ac3"
 
audio10 = "d:\ffmpeg\video\10.ac3"
 
audio11 = "d:\ffmpeg\video\11.ac3"
 
audio12 = "d:\ffmpeg\video\12.ac3"
 
audio13 = "d:\ffmpeg\video\13.ac3"
 
audio14 = "d:\ffmpeg\video\14.ac3"
 
 
# lecture des videos
 
dirs00 = mpeg2source(vid00)
dirs01 = mpeg2source(vid01)
dirs02 = mpeg2source(vid02)
dirs03 = mpeg2source(vid03)
dirs04 = mpeg2source(vid04)
dirs05 = mpeg2source(vid05)
dirs06 = mpeg2source(vid06)
dirs07 = mpeg2source(vid07)
dirs08 = mpeg2source(vid08)
dirs09 = mpeg2source(vid09)
dirs10 = mpeg2source(vid10)
dirs11 = mpeg2source(vid11)
dirs12 = mpeg2source(vid12)
dirs13 = mpeg2source(vid13)
dirs14 = mpeg2source(vid14)
 
 
#lecture ac3source
 
aud00 = nicac3source(audio00)
aud01 = nicac3source(audio01)
aud02 = nicac3source(audio02)
aud03 = nicac3source(audio03)
aud04 = nicac3source(audio04)
aud05 = nicac3source(audio05)
aud06 = nicac3source(audio06)
aud07 = nicac3source(audio07)
aud08 = nicac3source(audio08)
aud09 = nicac3source(audio09)
aud10 = nicac3source(audio10)
aud11 = nicac3source(audio11)
aud12 = nicac3source(audio12)
aud13 = nicac3source(audio13)
aud14 = nicac3source(audio14)
 
 
#reunir audios et videos
#change fps pour les videos d'images
 
video00 = audiodub(dirs00, aud00).changefps(25).trim(150,0)
video01 = audiodub(dirs01, aud01)
video02 = audiodub(dirs02, aud02).changefps(25)
video03 = audiodub(dirs03, aud03)
video04 = audiodub(dirs04, aud04)
video05 = audiodub(dirs05, aud05).trim(125,0)
video06 = audiodub(dirs06, aud06)
video07 = audiodub(dirs07, aud07)
video08 = audiodub(dirs08, aud08).trim(125,0)
video09 = audiodub(dirs09, aud09)
video10 = audiodub(dirs10, aud10)
video11 = audiodub(dirs11, aud11)
video12 = audiodub(dirs12, aud12)
video13 = audiodub(dirs13, aud13)
video14 = audiodub(dirs14, aud14)
 
 
#fondu enchaine des videos et fadein out
 
dissolve(video00,video01,video02,video03,video04,video05,video06,video07,video08,video09,v ideo10,video11,video12,video13,video14,30).fadein(50).fadeout(50)
 ma version d’avisynth est la 2.57
 
ma ligne ffmpeg –i fichiers.avs –target pal-dvd fichiervideo.mpg
 
dans l’attente,merci

Reply

Marsh Posté le 01-12-2009 à 07:25:48    

Euréka !
Cela vient de mon pc , après plusieurs essais sur x pc cela fonctionne correctement,alors encore un grand merci à jabali65 pour toutes ses explications très bien détaillées et pour ceux qui liront ce post ,vous avez un script pour commencer à faire du montage basique avec avisynth et une ligne de commande (ffmpeg ) pour un encodage mpg2(720x576)audio ac3 stéréo.

Reply

Marsh Posté le 11-03-2010 à 12:18:08    

slt  
je ne connais pas beaucoup les scripts avisynth .
Je voudrais aussi une video intro a une centaine de video .
Alors je veux utiliser virtualdub avec un script avisynth pour un peu automatiser le tout

Reply

Marsh Posté le 12-03-2010 à 20:32:48    

zarash a écrit :

slt  
je ne connais pas beaucoup les scripts avisynth .
Je voudrais aussi une video intro a une centaine de video .
Alors je veux utiliser virtualdub avec un script avisynth pour un peu automatiser le tout


 
Pas si simple car pour joindre 2 video il faut impérativement qu'elles aient les mêmes caractéristiques audio comme vidéo (résolution, framerate, colorimétrie; nombres de canaux audio, samplerate etc...)
 
Pour automatiser tout ceci avec Vdub j'ai utilisé VdubMOD et les templates avisynth avst.
Le template "Append_intro.avst" est est placer dans le dossier template de vdMod.
 
pré-requis:
 - Ta video "intro" doit avoir un audio stéréo (2 canaux) ou aucun (muet) :le script créera automatiquement une piste audio stéréo pour l'intro (si muet) ou pour le clip (si mono).
Tout le reste est ajusté automatiquement en fonction des caractéristiques du clip.
 
 - avoir des filtres de décodage "directshow" installé sur le PC.
pour mp4 - mkv --> haali splitter + ffdshow pour h.264,xvid,divx,flv1 vp6 aac etc..etc
pour flv flv splitter + encore ffdshow
 
-les derniers flv(h.264-aac) de youtube posent problème. Dans ce cas il vaut mieux démuxer (sortir la video .h264 et l'audio aac du conteneur flv avec flv extract et remuxer en mp4 avec yamb.
 
- placer la video intro dans le même répertoire que la-les videos à traiter
- placer le template "append_intro.avst" dans le dossier template de vdubmod
- ouvrir en passant par le menu "use avisynth template" (en bas à gauche)
- choisir fichier "all types" pour avoir accés aux flv ou mp4
 
voici un exemple 10mo video youtube mp4 + un menu avi xvid pour te faire la main.
 
du fait de la grande variété de formats video + audio et de la difficulter à tout ouvrir via directshow il est fort possible que ça coince de temps en temps.
 
 
 
 
 
 


---------------
http://www.pate15.eu/pate15
Reply

Marsh Posté le 13-03-2010 à 17:44:40    

Bon voila la solution que j'ai sur un autre forum au cas ou quelqu'un le meme probleme
 
Pour ajouter la séquence au début de chaque vidéo :
 
Créer un répertoire c:\tmpv. Copiez-y vos films.
Créer un sous répertoire c:\tmpv\intro. Copiez-y votre séquence d'intro.
Créer le répertoire c:\tmpv\avs.
 
Copier/coller les lignes suivantes dans un fichier texte et enregistrer sous joinavs.cmd :
 
........................................................
 
@echo off
REM Automatisation création fichiers AVS
cls
c:
cd \tmpv
for %%i IN (*.avi) do echo AVISource("c:\tmpv\Intro\Intro.avi" ) ++AVISource("c:\tmpv\%%i" ) > c:\tmpv\avs\%%i
ren c:\tmpv\avs\*.avi *.avs
@echo Fichiers AVS créés dans c:\tmpv\avs
@echo.
@pause
 
.....................................................
Exécutez joinavs.cmd
 
Lancer VirtulDub. Mettre les paramètres audio et video sur copie de flux directe.
Enregistrez les paramètres de traitement.
Ouvrez le centre de gestion des tâches. Dans Edition, videz la liste.
Puis cliquez répertoire de traitement. La source est C:\tmpv\avs, définir la destination.
Cliquer sur Démarrer.
La séquence d'intro et les films doivent tous être au même format.
 
Le fichier avisynth contient la ligne suivante : AVISource("fichier.avi" ) ++AVISource("fichier2.avi" ).
 
a noter que le resultat est avi brut quand vous mettez sur copie de flux direct audio et video .Mais vous pouvez directement compresser avec virtualdub

Reply

Marsh Posté le 14-03-2010 à 13:26:51    

Citation :

Le fichier avisynth contient la ligne suivante : AVISource("fichier.avi" ) ++AVISource("fichier2.avi" ).


cette ligne avisynth colle deux videos avec succés si:
les deux sont des avi de même résolution, même framerate, même espace de couleur, même fréquence d'échantillonage audio,même nombre de canaux audio -- bref 2 vidéos absolument identiques.
 
Si tu veux coller une intro à une de tes nombreuses vidéos de toutes origines et formats différents (sources web ou autres) ça ne marchera jamais à moins de les réencoder toutes au préalable dans le même format avi-résolution etc.. que ton intro.
tu va y passer des heures....
 
Le script que le t'ai fait compare intro et video et ajuste l'un ou l'autre de façon à avoir 2 vidéos identiques.
Ensuite et seulement est appliquée la ligne
intro ++ video qui va effectivement merger les 2 clip.
 
 


---------------
http://www.pate15.eu/pate15
Reply

Marsh Posté le 14-03-2010 à 16:27:05    

c'est ce que j'ai fait en premier .
J'ai convertit toutes les videos avec meme resolution meme framerate codec audio et video ......

Reply

Marsh Posté le 14-03-2010 à 17:22:34    

zarash a écrit :

c'est ce que j'ai fait en premier .
J'ai convertit toutes les videos avec meme resolution meme framerate codec audio et video ......


Alors OK pas de pb
 :hello:


---------------
http://www.pate15.eu/pate15
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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