FAQ charger des clips
Line 161: | Line 161: | ||
* Utilisez le fichier de timecodes à nouveau quand vous multiplexez vos video et audio encodées. Si vous ne faites pas cela, les video et audio de votre encodage final seront désynchronisés. | * Utilisez le fichier de timecodes à nouveau quand vous multiplexez vos video et audio encodées. Si vous ne faites pas cela, les video et audio de votre encodage final seront désynchronisés. | ||
− | La raison principale de tout ceci est que FFmpegSource ouvre la video telle qu'elle est. Il n'ajoute pas ou ne supprime pas de trames pour la convertir en video à fréquence constante pour | + | La raison principale de tout ceci est que FFmpegSource ouvre la video telle qu'elle est. Il n'ajoute pas ou ne supprime pas de trames pour la convertir en video à fréquence constante pour assurer la synchronisation. |
2) Procurez-vous [http://avisynth.org/mediawiki/Ffdshow ffdshow] et ouvrez le fichier MP4/MKV avec DirectShowSource, comme ceci par exemple | 2) Procurez-vous [http://avisynth.org/mediawiki/Ffdshow ffdshow] et ouvrez le fichier MP4/MKV avec DirectShowSource, comme ceci par exemple | ||
Line 171: | Line 171: | ||
1) Utiliser le plugin [http://forum.doom9.org/showthread.php?t=127037 FFmpegSource]. Voir ci-dessus pour son usage. Pour le moment les conteneurs supportés sont: AVI, MKV et MP4. | 1) Utiliser le plugin [http://forum.doom9.org/showthread.php?t=127037 FFmpegSource]. Voir ci-dessus pour son usage. Pour le moment les conteneurs supportés sont: AVI, MKV et MP4. | ||
− | 2) procurez-vous [http://forum.doom9.org/showthread.php?p=959013 DGAVCDec]. Pour le moment vous devez extraire le flux brut (*.264) du conteneur d'abord (à l'aide de MKVExtract, MPlayer, TSRemux ou de n'importe quel programme pouvant | + | 2) procurez-vous [http://forum.doom9.org/showthread.php?p=959013 DGAVCDec]. Pour le moment vous devez extraire le flux brut (*.264) du conteneur d'abord (à l'aide de MKVExtract, MPlayer, TSRemux ou de n'importe quel programme pouvant extrair ces flux). Ouvrez le fichier de flux brut dans DGAVCIndex pour créer un fichier index (disons track1.dga). Ouvrez le fichier index dans AviSynth: |
# video brute démultiplexée à partir de M2TS (Blu-ray BDAV MPEG-2 transport streams) | # video brute démultiplexée à partir de M2TS (Blu-ray BDAV MPEG-2 transport streams) |
Revision as of 23:10, 15 September 2008
Quels sont les formats multimedia compatibles avec AviSynth?
La plupart des formats vidéo/audio peuvent être chargés par AviSynth, mais il y a quelques exceptions comme flv4 (VP6) et dvr-ms. Si ce n'est pas possible de charger un clip dans AviSynth, vous devrez le convertir à un autre format compatible. Pensez bien à choisir un format pour lequel vous obtiendrez un résultat de qualité équivalente à l'original après conversion.
Quelles sont les possibilités existantes pour charger mon clip dans AviSynth?
En général, il y a deux façons de charger votre vidéo dans AviSynth:
- utiliser un plugin AviSynth conçu pour un format spécifique.
- utiliser le plugin DirectShowSource.
Assurez-vous que votre clip contient au maximum un flux vidéo et/ou un flux audio (c'est-à-dire supprimez les sous-titres et les autres flux vidéo/audio). Si vous voulez charger un clip qui contient à la fois de la vidéo et de l'audio, vous avez deux options:
- Démultiplexer le flux audio et charger les flux séparément dans AviSynth.
- Essayer de charger le clip dans AviSynth. Ceci pourrait marcher ou pas. Pour les AVIs, assurez-vous d'avoir un bon splitter AVI splitter installé, par ex. le splitter AVI de Gabest. (Oui, Windows est livré avec son propre splitter AVI, qui marchera dans la plupart des cas.)
Quand vous chargez un clip dans AviSynth il est conseillé de suivre les consignes suivantes:
- Quand il est possible de charger votre clip dans AviSynth soit avec AviSource ou un plugin spécifique, faites ainsi, car c'est généralement plus fiable que les alternatives qui sont listées ci-dessous.
- Si la solution précédente échoue, chargez votre clip à l'aide du plugin DirectShowSource.
- Si la solution précédente échoue, convertissez votre clip à un format différent (compatible avec AviSynth).
Quels sont les avantages et désavantages à utiliser DirectShowSource pour charger vos fichier multimédia?
avantages de DirectShowSource:
- Beaucoup de formats vidéo et audio sont supportés à travers DirectShowSource (jetez un coup d'oeil à ffdshow par exemple).
désavantages de DirectShowSource:
- Il est moins fiable que AviSource et les plugins d'entrée vidéo/audio spécifiques.
- Il a des problèmes de recherche (seeking).
- Il peut être compliqué d'obtenir un filtre DirectShow spécifique qui fasse le décodage pour vous. Dans beaucoup de cas, vous allez avoir de multiples décodeurs qui peuvent décoder le même format spécifique. Celui qui sera utilisé est celui qui a le plus fort mérite (voir ci-dessous ...). Il peut être difficile d'être sûr qu'un décodeur particulier fait le décodage.
AviSynth possède-t-il un mode direct stream copy comme VirtualDub?
Non, la vidéo et l'audio sont décompressés quand ils sont ouverts avec AviSynth.
Il y a une modification d'AviSynth v2.55 qui supporte le mode 'direct stream copy' pour la vidéo et l'audio. Cette modification est appelée DSynth et peut être téléchargée ici. Peut-être sera-t-elle mise à jour et fusionnée avec les build AviSynth officiels un de ces jours.
Comment charger des fichiers AVI dans AviSynth?
Utilisez AviSource pour charger vos fichiers AVI dans AviSynth. Exemple:
AviSource("d:\nomfichier.avi")
ou sans le son:
AviSource("d:\nomfichier.avi", false)
Si AviSynth se plaint de ne pas pouvoir charger votre fichier avi (couldn't decompress ...) vous devez installer un codec approprié. GSpot, par exemple, vous indiquera quel est le codec que vous devez installer pour pouvoir ouvrir votre fichier avi.
Pour forcer l'utilisation d'un décodeur pour charger le clip dans AviSynth:
# charger votre fichier avi à l'aide du codec XviD: AviSource("d:\nomfichier.avi", fourCC="XVID") # ouvre un fichier avi (par exemple encodé avec DivX3) à l'aide du codec XviD
# charger votre dv-avi à l'aide du codec DV Canopus: AviSource("d:\nomfichier.avi", fourCC="CDVC")
Puis-je charger vidéo et son à partir d'un fichier AVI dans AviSynth?
Il est toujours possible de démultiplexer votre son à partir du fichier AVI et de le charger séparément dans AviSynth à l'aide d'un décodeur audio, mais dans certains cas (par exemple: fichier AVI avec son MP2/MP3/AC3/DTS) il est possible de le charger directement dans AviSynth.
Pour charger votre fichier AVI avec le son vous avez besoin (1) d'un codec VfW (Video for Windows) pour ouvrir (c'est-à-dire décoder) votre vidéo dans AviSynth et d'un codec ACM (Audio Compression Manager) pour ouvrir votre son dans AviSynth. De tels codecs sont disponibles pour beaucoup de formats vidéo et audio, mais certainement pas pour tous.
Ici (...) vous pouvez trouver ces codecs.
Comment charger un fichier MPEG-1/MPEG-2/DVD VOB/TS/PVA dans AviSynth?
DGDecode est un plugin externe et supporte les flux MPEG-1, MPEG-2 / VOB, TS (avec vidéo MPEG-4 ASP) et PVA. Ouvrez les d'abord dans DGIndex et créez un script d2v qui peut être ouvert dans AviSynth (notez qu'il va ouvrir seulement la vidéo dans AviSynth):
Quelques exemples:
# DGDecode: LoadPlugin("d:\dgdecode.dll") mpeg2source("d:\nomfichier.d2v")
Si votre flux de transport (*.TS) contient une vidéo MPEG-4 AVC vous devez démultiplexer son flux vidéo brut et utiliser DGAVCDec pour l'ouvrir dans AviSynth. Voir ici pour son utilisation.
Comment charger des fichiers QuickTime avec AviSynth?
Il y a deux façons de charger vos fichiers video quicktime dans AviSynth (ainsi que RawSource pour les movs non compressés): QTSource et QTReader. Le premier est très récent et peut ouvrir beaucoup de formats quicktime (avec la possibilité de les ouvrir comme YUY2), mais vous devez installer le lecteur QuickTime afin de pouvoir utiliser ce plugin. Le deuxième est très ancien, aucune installation de lecteur n'est nécessaire pour pouvoir ouvrir les formats quicktime avec AviSynth.
QTSource:
Vous avez besoin de Quicktime 6 pour la video seulement et de Quicktime 7 pour l'audio et la video.
# YUY2 (défaut): QTInput("NomFichier.mov", color=2) # avec audio (dans beaucoup de cas possible avec QuickTime 7) QTInput("NomFichier.mov", color=2, audio=true) # raw (avec par exemple un format YUYV): QTInput("NomFichier.mov", color=2, mode=1, raw="yuyv") # dither = 1; convertit 10bit raw (bruts) en 8bit video (v210 = 10bit uyvy): QTInput("NomFichier.mov", color=2, dither=1, raw="v210")
QTReader:
Si ça ne marche pas, ou si vous n'avez pas QuickTime, téléchargez le plugin QTReader (se trouve dans la section download de Doom9):
LoadVFAPIPlugin("C:\QTReader\QTReader.vfp", "QTReader") QTReader("C:\quicktime.mov")
Comment charger des fichiers video raw (bruts) dans AviSynth?
Le plugin externe RawSource supporte tous les types de fichiers video raw avec une entête YUV4MPEG2 et sans entête (les fichiers video qui contiennent des données video YUV2, YV16, YV12, RGB ou Y8).
Exemples:
# Ceci suppose qu'il y ait une entête YUV4MPEG2 valide à l'intérieur: RawSource("d:\yuv4mpeg.yuv") # Un fichier raw avec des données RGBA: RawSource("d:\src6_625.raw",720,576,"BGRA") # Vous pouvez entrer les positions en octets des trames video directement (qui peuvent être trouvées à l'aide de yuvscan.exe). # C'est utile si ce n'est pas vraiment une video raw, mais par ex. des fichiers MOV non compressés ou un fichier avec une sorte d'entête: RawSource("d:\yuv.mov", 720, 576, "UYVY", index="0:192512 1:1021952 25:21120512 50:42048512 75:62976512")
Comment charger des fichiers RM/RMVB (RealMedia) dans AviSynth?
RM/RMVB (RealMedia / RealMedia Variable Bitrate contient générallement des données Real Video/Audio): installez le rmvb splitter et les codecs Real codecs en installant RealPlayer/RealAlternative. Créez le script:
DirectShowSource("d:\clip.rmvb", fps=25, convertfps=true) # ajustez la fréquence trame (fps) si nécessaire
Comment charger des fichiers Windows Media Video dans AviSynth?
WMV/ASF (Windows Media Video / Advanced Systems Format; contient généralement des données WMV/WMA) n'est pas totalement supporté par ffdshow, vous devrez donc installer les codecs wmv. Obtenez le WMF SDK v9 pour W2K ou supérieur pour XP/Vista qui contient les codecs (et les DMO wrappers nécessaires pour utiliser les filters DMO dans DirectShow). (Notez que le propre VC1 de Microsoft n'est pas supporté dans W2K puisque vous avez besoin de WMF SDK v11.) Créez le script:
DirectShowSource("d:\clip.wmv", fps=25, convertfps=true) # ajustez la fréquence trame (fps) si nécessaire
Comment charger des fichiers MP4/MKV/M2TS/EVO dans AviSynth?
Si vos fichiers contiennent des videos MPEG-4 ASP, alors il y a deux possibilités pour les ouvrir avec AviSynth:
1) Utilisez le plugin FFmpegSource. Toutes les dlls inclues sauf ffmpegsource.dll doivent être copiées dans votre dossier system. Quelque exemples:
# charger la video d'un MKV et retourner un fichier de timecodes: FFmpegSource("D:\fichier.mkv", vtrack = -1, atrack = -2, timecodes="fichier_timecodes.txt") # charger la video et l'audio d'un MP4 et retourner un fichier de timecodes: FFmpegSource("D:\fichier_aac.mp4", vtrack = -1, atrack = -1, timecodes="fichier_timecodes.txt")
Il est important de générer un fichier timecode pour vérifier si la vidéo a une fréquence constante. Si c'est le cas, vous n'avez pas besoin d'utiliser le fichier timecode et vous pouvez traiter la vidéo de la manière que vous souhaitez. Cependant, beaucoup de fichiers non-AVI contiennent une video à fréquence variable (les fichiers AVI ont, eux, une fréquence fixe), et dans ce cas vous devez vous assurer des deux choses suivantes:
- Ne changez pas la fréquence trame ni le nombre de trames dans AviSynth. Si vous ne faites pas cela (et que vous ne changez pas le fichier de timecodes manuellement) les video et audio de votre encodage final seront désynchronisés.
- Utilisez le fichier de timecodes à nouveau quand vous multiplexez vos video et audio encodées. Si vous ne faites pas cela, les video et audio de votre encodage final seront désynchronisés.
La raison principale de tout ceci est que FFmpegSource ouvre la video telle qu'elle est. Il n'ajoute pas ou ne supprime pas de trames pour la convertir en video à fréquence constante pour assurer la synchronisation.
2) Procurez-vous ffdshow et ouvrez le fichier MP4/MKV avec DirectShowSource, comme ceci par exemple
DirectShowSource("D:\fichier.mkv", convertfps=true) # convertfps=true assure la synchronisation si votre video a une fréquence variable
Si vos fichiers contiennent des video MPEG-4 AVC, alors il y a deux possibilités pour les ouvrir dans AviSynth:
1) Utiliser le plugin FFmpegSource. Voir ci-dessus pour son usage. Pour le moment les conteneurs supportés sont: AVI, MKV et MP4.
2) procurez-vous DGAVCDec. Pour le moment vous devez extraire le flux brut (*.264) du conteneur d'abord (à l'aide de MKVExtract, MPlayer, TSRemux ou de n'importe quel programme pouvant extrair ces flux). Ouvrez le fichier de flux brut dans DGAVCIndex pour créer un fichier index (disons track1.dga). Ouvrez le fichier index dans AviSynth:
# video brute démultiplexée à partir de M2TS (Blu-ray BDAV MPEG-2 transport streams) LoadPlugin("C:\Program Files\AviSynth\plugins\DGAVCDecode.dll") AVCSource("D:\track1.dga")
How do I load WAVE PCM files into AviSynth?
Use WavSource to open your WAVE PCM files (assuming that they are smaller than 4GB):
WavSource("D:\file.wav")
Use the plugin RaWav to open your WAVE PCM files that are larger than 4GB (Sonic Foundry Video Editor Wave64 Files or W64):
RaWavSource("D:\file.w64", SampleRate=96000, SampleBits=24, Channels=6) # or when a W64 header is present RaWavSource("D:\file.w64", SampleRate=6) # assumes the presence of a W64 header and reads the needed info from it
How do I load MP1/MP2/MP3/MPA/AC3/DTS/LPCM into AviSynth?
Use NicAudio for loading your MP1/MP2/MP3/MPA/AC3/DTS/LPCM in AviSynth:
Some examples:
LoadPlugin("C:\Program Files\AviSynth25\plugins\NicAudio.dll") # AC3 audio: V = BlankClip(height=576, width=720, fps=25) A = NicAC3Source("D:\audio.AC3") # A = NicAC3Source("D:\audio.AC3", downmix=2) # downmix to stereo AudioDub(V, A)
# LPCM audio (48 kHz, 16 bit and stereo): V = BlankClip(height=576, width=720, fps=25) A = NicLPCMSource("D:\audio.lpcm", 48000, 16, 2) AudioDub(V, A)
How do I load aac/flac/ogg files into AviSynth?
Use ffdshow (set AAC to libfaad or realaac), and use
DirectShowSource("d:\audio.aac")
For WAVE_FORMAT_EXTENSIBLE, ogg, flac, wma, and other formats, BassAudio and the correspoding libraries and Add-Ons can be used. Note that BassAudioSource can decode stereo aac/mp4, but it can't decode multichannel aac.
Some examples:
bassAudioSource("C:\ab\Dido\001 Here With Me.m4a")
bassAudioSource("C:\ab\Dido\001 Here With Me.aac")
How do I load pictures into AviSynth?
1) Use ImageReader or ImageSource to load your pictures into AviSynth (can load the most popular formats, except GIF and animated formats). See internal documentation for information.
2) Use the Immaavs plugin for GIF, animated formats and other type of pictures.
# single picture: immareadpic("x:\path\pic.bmp") # animation: immareadanim("x:\path\anim.gif") # image sequence: immareadseq("x:\path\seq%3.3d.png", start=5, stop=89, fps=25, textmode=2, posx=50, posy=50)