[Résolu] Coller 2 vidéo : Problème de bloc/sacade

Modérateur: Modérateurs

Coller 2 vidéo : Problème de bloc/sacade

Messagepar Subbat » Ven 15 Aoû, 2014 18:13

Hello,

Je souhaites pouvoir faire un script avisynth dans lequel je colle plusieurs rush de mon camescope avec un fondu entre chaque rush...

J'ai semble-t-il bien réussi à faire mon script, puisqu'il est bien lu, que les transitions entre les rush est bien faite... mais le hic, c'est que la vidéo me fait des bloc ou sacade, je ne serais dire quoi exactement...

les rush ont cette caractéristique :
Code: Tout sélectionner
Général
ID                                       : 0 (0x0)
Nom complet                              : Z:\Data_user\sebastien\Videos\TEST_montage\2010-07 - 0001.MTS
Format                                   : BDAV
Format/Info                              : Blu-ray Video
Taille du fichier                        : 146 Mio
Durée                                    : 1mn 45s
Type de débit global                     : Variable
Débit global moyen                       : 11,6 Mb/s
Débit global maximum                     : 18,0 Mb/s

Vidéo
ID                                       : 4113 (0x1011)
ID de menu                               : 1 (0x1)
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Profil du format                         : High@L4.0
Paramètres du format, CABAC              : Oui
Paramètres du format, RefFrames          : 2 images
Paramètres du format, GOP                : M=2, N=13
Identifiant du codec                     : 27
Durée                                    : 1mn 44s
Type de débit                            : Variable
Débit                                    : 10,9 Mb/s
Débit maximum                            : 16,0 Mb/s
Largeur                                  : 1 440 pixels
Hauteur                                  : 1 080 pixels
Format à l'écran                         : 16/9
Images par seconde                       : 25,000 Im/s
Espace de couleurs                       : YUV
Sous-échantillonnage de la chrominance   : 4:2:0
Profondeur des couleurs                  : 8 bits
Type de balayage                         : Entrelacé
Ordre de balayage                        : Ligne du haut d'abord
Bits/(Pixel*Image)                       : 0.280
Taille du flux                           : 136 Mio (93%)

Audio
ID                                       : 4352 (0x1100)
ID de menu                               : 1 (0x1)
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Extension du mode                        : CM (complete main)
Paramètres du format, Endianness         : Big
Identifiant du codec                     : 129
Durée                                    : 1mn 45s
Type de débit                            : Constant
Débit                                    : 256 Kbps
Canaux                                   : 2 canaux
Position des cannaux                     : Front: L R
Echantillonnage                          : 48,0 KHz
Profondeur des couleurs                  : 16 bits
Mode de compression                      : Avec perte
Délai par rapport Vidéo                  : -80ms
Taille du flux                           : 3,21 Mio (2%)

Texte
ID                                       : 4608 (0x1200)
ID de menu                               : 1 (0x1)
Format                                   : PGS
Identifiant du codec                     : 144
Durée                                    : 1mn 44s
Délai par rapport Vidéo                  : -80ms



J'ai lu quelque part que avisynth, quand on colle 2 vidéos n'aime pas qu'elles soient en débit variable... j'ai donc essayé de mettre un convertfps sur chaque rush avant de les coller, mais ça ne change rien...

Ci-après le script que j'ai fait...
Code: Tout sélectionner
# **** m4ng & AVIsynth 2.5x script **** pass 2+

LoadPlugin("C:\PROGRA~2\m4ng_v5\system\undot.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\FluxSmooth.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\Convolution3D.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\MaskTools.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\MVTools.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\Asharp.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\MSharpen.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\VSFilter.dll") #1

Source1="z:\data_user\sebastien\videos\test_montage\2010-07 - 0001.MTS"
Source2="z:\data_user\sebastien\videos\test_montage\2010-07 - 0002.mts"
Source3="z:\data_user\sebastien\videos\test_montage\2010-07 - 0003.mts"

Video1=DirectShowSource( Source1)
Video1=ConvertToYV12(Video1)
# DEINT
Load_Stdcall_Plugin("C:\PROGRA~2\m4ng_v5\system\yadif.dll")
Video1=Yadif(Video1,order=1)
# RESIZE
Video1=BilinearResize(Video1, 1440, 812).convertfps(25)
Video2=DirectShowSource( Source2)
Video2=ConvertToYV12(Video2)
# DEINT
Load_Stdcall_Plugin("C:\PROGRA~2\m4ng_v5\system\yadif.dll")
Video2=Yadif(Video2,order=1)
# RESIZE
Video2=BilinearResize(Video2, 1440, 812).convertfps(25)
Video3=DirectShowSource( Source3)
# DEINT
Load_Stdcall_Plugin("C:\PROGRA~2\m4ng_v5\system\yadif.dll")
Video3=Yadif(Video3,order=1)
# RESIZE
Video3=BilinearResize(Video3, 1440, 812).convertfps(25)
Video=Dissolve(Video1,Video2,Video3,50)
Video=ConvertToRGB(Video)
Return(AssumeFrameBased(Video))


Si quelqu'un (leon ?) a une idée... merci d'avance...

Si besoin, pour test, je veux bien donner les rush, mais en MP, ce sont des films persos...
Image
Image Image
Avatar de l’utilisateur
Subbat
Administrateur
Administrateur
 
Messages: 8418
Inscription: 11 Déc 2008
Localisation: Quelque part... dans le centre de la France...

Messagepar leon1789 » Ven 15 Aoû, 2014 18:25

convertfps modifie le nombre d'images par seconde. Tu as mis en convertfps(25), mais tes sources sont déjà en 25 fps.

Je ne vois pas de souci avec des vidéos à débit variable (car elles le sont quasiment toutes, pour ainsi dire...).

Pour l'instant, je n'ai pas de réponse, mais des questions...

L'original est en 1440x 1080 et tu encodes en 1440 x 812 car la source est en anamorphose (et entrelacée qui plus est), c'est ça ?

tu utilises directshowsource : est-ce que ffmpegsource peut aussi fonctionner avec tes mts ? (je ne sais pas, je n'ai pas de mts)

est-ce que tout se passe bien à la prévisualisation de ton script avs ? ou bien les problèmes arrivent déjà ?
Avatar de l’utilisateur
leon1789
 
Messages: 775
Inscription: 26 Aoû 2007

Messagepar leon1789 » Ven 15 Aoû, 2014 18:38

Tu encodes à quel débit ?
Avatar de l’utilisateur
leon1789
 
Messages: 775
Inscription: 26 Aoû 2007

Messagepar Subbat » Ven 15 Aoû, 2014 18:38

leon1789 a écrit:convertfps modifie le nombre d'images par seconde. Tu as mis en convertfps(25), mais tes sources sont déjà en 25 fps.

Je ne vois pas de souci avec des vidéos à débit variable (car elles le sont quasiment toutes, pour ainsi dire...).

Je crois que je me suis mélanger les pinceaux... c'est le framerate variable qui coince quand on colle 2 vidéos... et j'ai mélangé avec débit variable... j'ai donc cru que mes vidéos étaient à framerate variable d'où mon convertfps...

Pour l'instant, je n'ai pas de réponse, mais des questions...

L'original est en 1440x 1080 et tu encodes en 1440 x 812 car la source est en anamorphose (et entrelacée qui plus est), c'est ça ?

Oui c'est ça...

tu utilises directshowsource : est-ce que ffmpegsource peut aussi fonctionner avec tes mts ? (je ne sais pas, je n'ai pas de mts)

je ne sais pas... je peux t'envoyer au moins 2 rush si tu veux... sinon, il faut que je fasse quoi pour tester avec ffmpegsource ?

est-ce que tout se passe bien à la prévisualisation de ton script avs ? ou bien les problèmes arrivent déjà ?

Ca merde déjà à la lecture du script...
Image
Image Image
Avatar de l’utilisateur
Subbat
Administrateur
Administrateur
 
Messages: 8418
Inscription: 11 Déc 2008
Localisation: Quelque part... dans le centre de la France...

Messagepar Subbat » Ven 15 Aoû, 2014 18:38

leon1789 a écrit:Tu encodes à quel débit ?

crf mode x264
Image
Image Image
Avatar de l’utilisateur
Subbat
Administrateur
Administrateur
 
Messages: 8418
Inscription: 11 Déc 2008
Localisation: Quelque part... dans le centre de la France...

Messagepar Underground78 » Ven 15 Aoû, 2014 19:12

Tu pourrais mettre un screenshot du soucis peut-être ?

Sinon https://github.com/FFMS/ffms2/releases/tag/2.20 pour télécharger ffmpegsource et https://github.com/FFMS/ffms2/blob/mast ... visynth.md pour la doc. Mais avec ce que je vois sur le support du TS et du H264 interlacé, c'est pas gagné...
Avatar de l’utilisateur
Underground78
Administrateur
Administrateur
 
Messages: 11267
Inscription: 06 Fév 2007
Localisation: France

Messagepar leon1789 » Ven 15 Aoû, 2014 19:30

Est-ce que ton problème arrive uniquement avec tes 3 sources, ou bien cela arrive à chaque fois que tu utilises 2 rush de ton camescope ?
Si c'est uniquement avec ces 3 sources, alors ça craint car ça risque d'être lié à tes fichiers...
Si cela arrive quelles que soient les vidéos de ton camescope, tu peux nous laisser deux petits films anodins, non ?
Avatar de l’utilisateur
leon1789
 
Messages: 775
Inscription: 26 Aoû 2007

Messagepar Subbat » Ven 15 Aoû, 2014 19:48

Underground78 a écrit:Tu pourrais mettre un screenshot du soucis peut-être ?

Sinon https://github.com/FFMS/ffms2/releases/tag/2.20 pour télécharger ffmpegsource et https://github.com/FFMS/ffms2/blob/mast ... visynth.md pour la doc. Mais avec ce que je vois sur le support du TS et du H264 interlacé, c'est pas gagné...


Merci pour la doc, je regarderais ça... mais en même temps on a déjà tout ça dans m4ng... il suffit que je regarde comment est fait un script de m4ng avec ffmpegsource d'utilisé... :o:
Image
Image Image
Avatar de l’utilisateur
Subbat
Administrateur
Administrateur
 
Messages: 8418
Inscription: 11 Déc 2008
Localisation: Quelque part... dans le centre de la France...

Messagepar Subbat » Ven 15 Aoû, 2014 19:51

leon1789 a écrit:Est-ce que ton problème arrive uniquement avec tes 3 sources, ou bien cela arrive à chaque fois que tu utilises 2 rush de ton camescope ?
Si c'est uniquement avec ces 3 sources, alors ça craint car ça risque d'être lié à tes fichiers...
Si cela arrive quelles que soient les vidéos de ton camescope, tu peux nous laisser deux petits films anodins, non ?


Je testerais avec d'autres rush, mais à mon avis ce sera pareil... puisque chaque rush pris individuellement dans un script fonctionne très bien... et c'est surtout à partir du 2ème rush que ça merde dans le script que j'ai posté...

Au pire oui... je filmerais 2 ou 3 conneries de quelques secondes et je les porterais...
Image
Image Image
Avatar de l’utilisateur
Subbat
Administrateur
Administrateur
 
Messages: 8418
Inscription: 11 Déc 2008
Localisation: Quelque part... dans le centre de la France...

Messagepar Subbat » Ven 15 Aoû, 2014 20:01

Le problème doit venir du MTS, en remuxant chaque rush dans un mkv, pas de soucis de lecture...

En revanche, il faut que je précise le fps dans le script pour chaque source avec le mkv, sinon la vidéo est lu trop vite...

Donc, le script ci-après fonctionne très bien, et ce sont exactement les même vidéo que j'ai juste muxées chacune dans un mkv...

Code: Tout sélectionner
# **** m4ng & AVIsynth 2.5x script **** pass 2+

LoadPlugin("C:\PROGRA~2\m4ng_v5\system\undot.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\FluxSmooth.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\Convolution3D.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\MaskTools.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\MVTools.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\Asharp.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\MSharpen.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\VSFilter.dll") #1
LoadPlugin("C:\PROGRA~2\m4ng_v5\system\ffmpegsource.dll")

Source1="z:\data_user\sebastien\videos\test_montage\2010-07 - 0001.mkv"
Source2="z:\data_user\sebastien\videos\test_montage\2010-07 - 0002.mkv"
Source3="z:\data_user\sebastien\videos\test_montage\2010-07 - 0003.mkv"

Video1=directshowsource( Source1, fps=25.000000)
Video1=ConvertToYV12(Video1)
# DEINT
Load_Stdcall_Plugin("C:\PROGRA~2\m4ng_v5\system\yadif.dll")
Video1=Yadif(Video1,order=1)
# RESIZE
Video1=BilinearResize(Video1, 1440, 812)
Video2=directshowsource( Source2, fps=25.000000)
Video2=ConvertToYV12(Video2)
# DEINT
Load_Stdcall_Plugin("C:\PROGRA~2\m4ng_v5\system\yadif.dll")
Video2=Yadif(Video2,order=1)
# RESIZE
Video2=BilinearResize(Video2, 1440, 812)
Video3=directshowsource( Source3, fps=25.000000)
# DEINT
Load_Stdcall_Plugin("C:\PROGRA~2\m4ng_v5\system\yadif.dll")
Video3=Yadif(Video3,order=1)
# RESIZE
Video3=BilinearResize(Video3, 1440, 812)
Video=Dissolve(Video1,Video2,Video3,50)
Video=ConvertToRGB(Video)
Return(AssumeFrameBased(Video))
Image
Image Image
Avatar de l’utilisateur
Subbat
Administrateur
Administrateur
 
Messages: 8418
Inscription: 11 Déc 2008
Localisation: Quelque part... dans le centre de la France...

Messagepar leon1789 » Ven 15 Aoû, 2014 20:08

Ton dernier message indique un souci dans le couple directshowsource+mts . Le souci ne perciste pas avec directshowsource+mkv. Peut-être que ce sera pareil avec ffmpegsource+mts ? A voir...
Avatar de l’utilisateur
leon1789
 
Messages: 775
Inscription: 26 Aoû 2007

Messagepar Underground78 » Ven 15 Aoû, 2014 20:11

Tu as vérifié dans GraphStudio que la même chaîne de décodage est utilisée dans les deux cas ?
Avatar de l’utilisateur
Underground78
Administrateur
Administrateur
 
Messages: 11267
Inscription: 06 Fév 2007
Localisation: France

Messagepar Subbat » Ven 15 Aoû, 2014 20:18

leon1789 a écrit:Ton dernier message indique un souci dans le couple directshowsource+mts . Le souci ne perciste pas avec directshowsource+mkv. Peut-être que ce sera pareil avec ffmpegsource+mts ? A voir...


Oui il faudra que je teste...


Underground78 a écrit:Tu as vérifié dans GraphStudio que la même chaîne de décodage est utilisée dans les deux cas ?


Ah non... je vais regardé ça...

[Edit]Les 2 scripts donne la même chose... et la même vidéo en mts ou mkv donne la même chose (décodage ffdshow), à la seule différence que dans le cas du mts, les sous-titre ne sont pas vu... Un problème de splitter en fait peut-être...
Image
Image Image
Avatar de l’utilisateur
Subbat
Administrateur
Administrateur
 
Messages: 8418
Inscription: 11 Déc 2008
Localisation: Quelque part... dans le centre de la France...

Messagepar Underground78 » Ven 15 Aoû, 2014 22:33

Tu as quoi comme splitter ? Tu as essayé LAV Filters ?
Avatar de l’utilisateur
Underground78
Administrateur
Administrateur
 
Messages: 11267
Inscription: 06 Fév 2007
Localisation: France

Messagepar Subbat » Ven 15 Aoû, 2014 23:22

C'est haali pour le m2ts... Pas essayer lav sur ce pc non, c'est une idée.
Image
Image Image
Avatar de l’utilisateur
Subbat
Administrateur
Administrateur
 
Messages: 8418
Inscription: 11 Déc 2008
Localisation: Quelque part... dans le centre de la France...

Messagepar Subbat » Sam 16 Aoû, 2014 10:33

C'était visiblement bien un problème de splitter... avec LAV, c'est OK... Les sous-titres du mts sont vus dans le graphstudio, et je n'ai plus de saccade/bloc du script...

Merci à vous de vous être penché sur ce soucis... :D
Image
Image Image
Avatar de l’utilisateur
Subbat
Administrateur
Administrateur
 
Messages: 8418
Inscription: 11 Déc 2008
Localisation: Quelque part... dans le centre de la France...

Messagepar Underground78 » Sam 16 Aoû, 2014 10:35

Cool ! :)
Avatar de l’utilisateur
Underground78
Administrateur
Administrateur
 
Messages: 11267
Inscription: 06 Fév 2007
Localisation: France

Messagepar leon1789 » Sam 16 Aoû, 2014 11:11

Bien joué le chat ! Je n'aurais jamais trouvé...
Avatar de l’utilisateur
leon1789
 
Messages: 775
Inscription: 26 Aoû 2007


Retourner vers Scripts Avisynth

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité