injecter un script avs dans m4ng
Modérateur : Modérateurs
injecter un script avs dans m4ng
Bonjour,
je ne connais pas bien m4ng que je voudrais tester;
mon but est de poster sur YT ou DM des extraits capturés sur la tnt (.ts) ou éventuellement à partir de rattrapage type captvty. Je ne cherche pas à faire mieux que du 640 x 360 dans un but de réduction du poids de la vidéo et du temps d'encodage et d'upload
Je maitrise relativement bien la partie multicut sous script avs. Il y a également le resize inclus.
j'utilisais x264 avec un crf de 23 (assez proche du preset 'Video SD' 20 crf).
Y a-t-il un moyen d'introduire un fichier avs directement (drag&drop), pour ne plus s'occuper que du choix des codecs ?
Il me semble que le format web est sans doute le plus adapté mais je peine à m'y retrouver
Pourriez-vous m'aider à choisir le format le plus adapté pour youtube SD :
- quel container ? flv, mp4 ?
- pourquoi seul flaac est-il proposé en codec audio ? où se trouve le mp3
- audio 1 2 3 4 5 ??? des standards bien au débit bien trop élevé pour ce que je recherche (128 kbps largement suffisant)
A moins que l'on puisse se passer du réencodage de l'audio en reprenant celui de la source; mais est-ce possible ?
Pour la partie multicut, j'ai testé le module 'couper les pubs' mais j'ai un décalage son à la lecture, que je n'ai pas avec avspmod :
[lightbox]http://img15.hostingpics.net/thumbs/min ... vspmod.png[/lightbox]
je ne connais pas bien m4ng que je voudrais tester;
mon but est de poster sur YT ou DM des extraits capturés sur la tnt (.ts) ou éventuellement à partir de rattrapage type captvty. Je ne cherche pas à faire mieux que du 640 x 360 dans un but de réduction du poids de la vidéo et du temps d'encodage et d'upload
Je maitrise relativement bien la partie multicut sous script avs. Il y a également le resize inclus.
j'utilisais x264 avec un crf de 23 (assez proche du preset 'Video SD' 20 crf).
Y a-t-il un moyen d'introduire un fichier avs directement (drag&drop), pour ne plus s'occuper que du choix des codecs ?
Il me semble que le format web est sans doute le plus adapté mais je peine à m'y retrouver
Pourriez-vous m'aider à choisir le format le plus adapté pour youtube SD :
- quel container ? flv, mp4 ?
- pourquoi seul flaac est-il proposé en codec audio ? où se trouve le mp3
- audio 1 2 3 4 5 ??? des standards bien au débit bien trop élevé pour ce que je recherche (128 kbps largement suffisant)
A moins que l'on puisse se passer du réencodage de l'audio en reprenant celui de la source; mais est-ce possible ?
Pour la partie multicut, j'ai testé le module 'couper les pubs' mais j'ai un décalage son à la lecture, que je n'ai pas avec avspmod :
[lightbox]http://img15.hostingpics.net/thumbs/min ... vspmod.png[/lightbox]
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
Salut,
Oui c'est possible de glisser un script avisynth dans m4ng...
Par contre, si tu as un décalage audio, c'est peut-être du à ton enregistrement TNT, c'est assez fréquent avec... Dans ce cas, l'utilisation du mode autonome de m4ng (encodeur interne de m4ng sur la v5) s'en sort souvent mieux...
Pour ce qui est du profil d'encodage, pour le web, je dirais x264 crf pour la vidéo et aac 64 ou 96 bits pour l'audio, dans un mp4... En revanche c'est étrange que tu ne puisses choisir le mp3 pour l'audio...
Oui c'est possible de glisser un script avisynth dans m4ng...
Par contre, si tu as un décalage audio, c'est peut-être du à ton enregistrement TNT, c'est assez fréquent avec... Dans ce cas, l'utilisation du mode autonome de m4ng (encodeur interne de m4ng sur la v5) s'en sort souvent mieux...
Pour ce qui est du profil d'encodage, pour le web, je dirais x264 crf pour la vidéo et aac 64 ou 96 bits pour l'audio, dans un mp4... En revanche c'est étrange que tu ne puisses choisir le mp3 pour l'audio...
Merci de ta réponse Subbat,
Je n'ai pas été très précis; le décalage auquel j'ai fait face, n'était pas sur de la tnt mais sur .ts issu de captvity
Ok, je vais tester v5 pour comparer (à vrai dire, j'avais pensé que les efforts avaient été orienté vers le x265 qui ne me concerne pas; qui plus est v5 est encore une béta ...)
Donc , à qualité comparable, x264, même pour du SD, est plus performant que xvid (principalement car le tps d'encodage est celui d'1 seule passe).
Je n'ai pas été très précis; le décalage auquel j'ai fait face, n'était pas sur de la tnt mais sur .ts issu de captvity
Ok, je vais tester v5 pour comparer (à vrai dire, j'avais pensé que les efforts avaient été orienté vers le x265 qui ne me concerne pas; qui plus est v5 est encore une béta ...)
Le paramètre conteneur par défaut est flv : j'ai pensé qu'en sélectionnant un format (web) tous les paramètres basculaient automatiquement sur les valeurs optimales ...Pour ce qui est du profil d'encodage, pour le web, je dirais x264 crf pour la vidéo et aac 64 ou 96 bits pour l'audio, dans un mp4
Donc , à qualité comparable, x264, même pour du SD, est plus performant que xvid (principalement car le tps d'encodage est celui d'1 seule passe).
si j'ai bien compris, ça démarre vdubmod, ce qui ne m'avance pas trop; autant démarrer vdub 1.10.14; je pensais à 1 script avs directement traité par le codec x264. De toute façon, j'ai 1 message d'erreur : pas de flux video :( (vdub, lui, le lit trés bien)Oui c'est possible de glisser un script avisynth dans m4ng...
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
bah écoute, moi je n'ai pas de problème avec l'encodage d'un sccript avs dans m4ng... je charges mon script, je règle mes codecs vidéo et audio, puis le conteneur, et je lance... et j'ai bien ce que j'ai demandé à la fin...
Sache que de toute façon, en mode normal, m4ng génère lui-même un scritp avisynth pour faire l'encodage...
Si tu arrives à lire ton script avec graphstudio, alors il n'y a aucune raison que m4ng n'arrive pas à l'encoder...
Sache que de toute façon, en mode normal, m4ng génère lui-même un scritp avisynth pour faire l'encodage...
Si tu arrives à lire ton script avec graphstudio, alors il n'y a aucune raison que m4ng n'arrive pas à l'encoder...
Merci de ta réponse,
J'ai pas testé avec graphstudio; en revanche, en ouvrant directement vdubmod, l'avs est pris;
[lightbox]http://img11.hostingpics.net/thumbs/mini_513944vdub.jpg[/lightbox]
Mais bon, j'ai l'impression de très mal me faire comprendre; si l'avs est traité par virtualdubmod comme je crois le deviner, le format en sortie est obligatoirement de l'avi et donc si je demande à m4ng, un format de sortie tel que le mp4, calibré pour yt, je présage qu'il faudra un deuxième encodage ce qui doublera grosso modo, le tps d'encodage.
Pour aller au bout de mes arrières pensées, j'ai cru qu'il y avait un module d'injection directe, avs to x264, avs to xvid ... avec choix du container de sortie mp4/mkv.
L'idée du script contenant déjà tous les réglages, trim, crop, desentrelacement, resize, etc, directement traité par le codec sans l'intermédiaire d'aucun système de montage non-linéaire, (avec bien sûr du code) me semblait brillant
Vraiment désolé si je tombe complétement à côté
J'ai pas testé avec graphstudio; en revanche, en ouvrant directement vdubmod, l'avs est pris;
[lightbox]http://img11.hostingpics.net/thumbs/mini_513944vdub.jpg[/lightbox]
Mais bon, j'ai l'impression de très mal me faire comprendre; si l'avs est traité par virtualdubmod comme je crois le deviner, le format en sortie est obligatoirement de l'avi et donc si je demande à m4ng, un format de sortie tel que le mp4, calibré pour yt, je présage qu'il faudra un deuxième encodage ce qui doublera grosso modo, le tps d'encodage.
Pour aller au bout de mes arrières pensées, j'ai cru qu'il y avait un module d'injection directe, avs to x264, avs to xvid ... avec choix du container de sortie mp4/mkv.
L'idée du script contenant déjà tous les réglages, trim, crop, desentrelacement, resize, etc, directement traité par le codec sans l'intermédiaire d'aucun système de montage non-linéaire, (avec bien sûr du code) me semblait brillant
Vraiment désolé si je tombe complétement à côté
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
Non Virtualdubmod n'est utilisé que si le codec vidéo est de l'xvid, divx... mais pas pour le x264... le script avisynth est alors directement envoyé au x264.exe...
Je ne comprend donc pas pourquoi m4ng n'accepte pas ton script en entrée... et c'est pourquoi je te demandais si tu pouvais nous en mettre ici une copie...
J'ai moi-même charger un script avisynth assez complexe dans m4ng... et j'ai bien eu ce que je demandais... un mkv avec du x264 et de l'aac... et Virtualdubmod n'est jamais intervenu...
Je ne comprend donc pas pourquoi m4ng n'accepte pas ton script en entrée... et c'est pourquoi je te demandais si tu pouvais nous en mettre ici une copie...
J'ai moi-même charger un script avisynth assez complexe dans m4ng... et j'ai bien eu ce que je demandais... un mkv avec du x264 et de l'aac... et Virtualdubmod n'est jamais intervenu...
Ok, ça s'éclaircit un peu,
Tout d'abord le script avs apparaissait complet ds le screenshot de mon 1er post :
Voici pourquoi, j'ai cru que vdubmod était sollicité : en glissant la 1ère fois mon avs ds m4ng, j'ai eu les messages de validation de licence de virtualdubmod que je n'avais jamais encore ouvert; le message d'erreur est survenu ensuite.
Curieux tout de même car je suppose que le choix de virtualdubmod ou de l'encodeur x264, se fait aprés validation par l'utilisateur. Bon peut-être y avait-il trace d'un test précédent avec xvid. Ça reste un détail.
Peut-être un pb de réglage de ffdshow, de splitter ou autre; c'est vrai que je ne suis pas très à l'aise avec l'outil codec tweak tool (je me suis juste assuré que les filtres microsoft sont désactivés au profit de ffdshow)
Tout d'abord le script avs apparaissait complet ds le screenshot de mon 1er post :
Code : Tout sélectionner
Import("D:\PortableApps\AvsGen\templates\plugins\dss2trim.avsi")
## Source
v = dss2("Salut les Terriens.ts", fps=25)
a = DirectShowSource("Salut les Terriens.ts", video=False)
AudioDub(v,a)
#dss2trim("Salut les Terriens.ts") # Trim de sécurité dss2
#trim(
vid=LanczosResize(last,640,360).ConvertToRGB32().fadein(20).fadeout(15)
logo=CoronaSequence("D:\vid\Vdublogo\anim\i*.bmp",sort=2).ConvertToRGB32.ColorKeyMask($4d4d4d,$000000).fadeio(10)
fixe=Imagesource("D:\vid\Vdublogo\anim\image0000.bmp",end=1200).convertfps(25).ConvertToRGB32
logo=logo+fixe
logo=ColorKeyMask(logo,$4d4d4d,$000000)
#logo=fadeout(logo,20)
logo=loop(logo)
# place the image into the upper right corner of the video
ovl=Layer(vid,logo,"add",131,370,0)
return ovl
Curieux tout de même car je suppose que le choix de virtualdubmod ou de l'encodeur x264, se fait aprés validation par l'utilisateur. Bon peut-être y avait-il trace d'un test précédent avec xvid. Ça reste un détail.
Peut-être un pb de réglage de ffdshow, de splitter ou autre; c'est vrai que je ne suis pas très à l'aise avec l'outil codec tweak tool (je me suis juste assuré que les filtres microsoft sont désactivés au profit de ffdshow)
message d'erreur : cette source ne contient pas de piste vidéo cf :
http://www.hostingpics.net/viewer.php?id=513944vdub.jpg
http://www.hostingpics.net/viewer.php?id=513944vdub.jpg
Re-
mes dlls sont ds C:\Program Files (x86)\AviSynth 2.5\plugins
[lightbox]http://img15.hostingpics.net/thumbs/mini_194883Slt.png[/lightbox]
la lecture ds graphstudio se fait correctement
mes dlls sont ds C:\Program Files (x86)\AviSynth 2.5\plugins
[lightbox]http://img15.hostingpics.net/thumbs/mini_194883Slt.png[/lightbox]
la lecture ds graphstudio se fait correctement
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
Ok...
Alors charges ce script dans m4ng... va dans la prévisualisation, éventuellement tu fais une capture de ce qui sera écrit comme message d'erreur... puis tu cliques sur éditer le script...
Si dans le message d'erreur, il est fait référence à un ligne en particulier dis-nous ce que contient cette ligne...
Ensuite, tu remplaces le contenu du script m4ng pas ton script, tu enregistres, tu fermes le bloc note, et tu nous dis ce que donne la prévisualisation...
Espérant que je suis clair...
Alors charges ce script dans m4ng... va dans la prévisualisation, éventuellement tu fais une capture de ce qui sera écrit comme message d'erreur... puis tu cliques sur éditer le script...
Si dans le message d'erreur, il est fait référence à un ligne en particulier dis-nous ce que contient cette ligne...
Ensuite, tu remplaces le contenu du script m4ng pas ton script, tu enregistres, tu fermes le bloc note, et tu nous dis ce que donne la prévisualisation...
Espérant que je suis clair...
Grrr
Là en effet, c'est plus très clair : en fait, je patauge complètement;
En introduisant mon script ds m4ng, j'ai après une dizaine de secondes, ce fameux message d'erreur : "cette source ne contient pas de piste vidéo ..."
Dés l'instant ou je valide OK ce message d'erreur, tout devient grisé et vierge; la suite de tes instructions et notamment l'accès à la prévisualisation, n'a pour moi plus le moindre sens.
Là en effet, c'est plus très clair : en fait, je patauge complètement;
En introduisant mon script ds m4ng, j'ai après une dizaine de secondes, ce fameux message d'erreur : "cette source ne contient pas de piste vidéo ..."
Dés l'instant ou je valide OK ce message d'erreur, tout devient grisé et vierge; la suite de tes instructions et notamment l'accès à la prévisualisation, n'a pour moi plus le moindre sens.
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
Bon bah on va essayé autrement...
Tu charges n'importe quelle vidéo dans m4ng (pas un ts de préférence sinon dgavcdecode va se mettre en route... un avi serait bien...)...
Ensuite tu vas dans la prévisualisation (bouton TV), tu cliques sur script AVS puis "Editer et modifier le script"... tu remplaces tout le contenu du bloc note pas ton script puis enregistrer et fermer...
Et dis nous si la prévisualisation rend bien ton script...
Tu charges n'importe quelle vidéo dans m4ng (pas un ts de préférence sinon dgavcdecode va se mettre en route... un avi serait bien...)...
Ensuite tu vas dans la prévisualisation (bouton TV), tu cliques sur script AVS puis "Editer et modifier le script"... tu remplaces tout le contenu du bloc note pas ton script puis enregistrer et fermer...
Et dis nous si la prévisualisation rend bien ton script...
Re-,
Ouf, j'y suis enfin parvenu. Il fallait absolument coller le chemin complet de la source puisque l'avi et l'avs ne sont pas ds le même répertoire.
Qui plus est, une fois le script Am4ng.avs modifié, le sauver n'est pas suffisant : si on ne referme pas la fenêtre on reste planté devant son écran à vainement attendre une réaction de m4ng
Donc finalement, oui, ça marche.
EDIT : curieusement en activant le bouton mpc-hc, le script n'est pas rendu. A ma connaissance mpc-hc sait traiter les scripts avs
Ouf, j'y suis enfin parvenu. Il fallait absolument coller le chemin complet de la source puisque l'avi et l'avs ne sont pas ds le même répertoire.
Qui plus est, une fois le script Am4ng.avs modifié, le sauver n'est pas suffisant : si on ne referme pas la fenêtre on reste planté devant son écran à vainement attendre une réaction de m4ng
Donc finalement, oui, ça marche.
EDIT : curieusement en activant le bouton mpc-hc, le script n'est pas rendu. A ma connaissance mpc-hc sait traiter les scripts avs
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
J'avais bien noté, tu enregistres puis tu fermes...
Par contre, ça ne nous dis pas vraiment pourquoi quand tu charges directement ton avs dans m4ng ça plante...
Tu pourrais m'envoyer les dll que tu utilises pour ton script que j'essaie de reproduire un script identique...
Si j'ai bien vu tu as directshowsource2 et sans doute une autre pour le coronasequence... et peut-être encore d'autres...
Par contre, ça ne nous dis pas vraiment pourquoi quand tu charges directement ton avs dans m4ng ça plante...
Tu pourrais m'envoyer les dll que tu utilises pour ton script que j'essaie de reproduire un script identique...
Si j'ai bien vu tu as directshowsource2 et sans doute une autre pour le coronasequence... et peut-être encore d'autres...
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
Je n'avais pas vu ton edit... Oui il le peut effectivement... mais je ne sais pas si son utilisation dans m4ng le permet...
MPC-HC dans m4ng est là pour ceux qui utilisent le mode autonome, parce que justement, ils ont un problème avec les directshow, etc... MPC est alors présent pour une prévisualisation de la source, et c'est ffmpeg qui encode sans passer par avisynth... Dans ton cas, je ne vois pas l'intérêt d'utiliser la prvisualisation par MPC-HC
MPC-HC dans m4ng est là pour ceux qui utilisent le mode autonome, parce que justement, ils ont un problème avec les directshow, etc... MPC est alors présent pour une prévisualisation de la source, et c'est ffmpeg qui encode sans passer par avisynth... Dans ton cas, je ne vois pas l'intérêt d'utiliser la prvisualisation par MPC-HC
- Underground78
- Administrateur
- Messages : 11272
- Enregistré le : mar. 06 févr., 2007 21:54
- Localisation : France
- Contact :
Essaie de désactiver la prise en charge des scripts AviSynth dans les options (Options > Filtres internes). Il est possible que tout ça soit un peu trop récursif pour que MPC-HC s'en sorte.hipe_39 a écrit :EDIT : curieusement en activant le bouton mpc-hc, le script n'est pas rendu. A ma connaissance mpc-hc sait traiter les scripts avs
Bon,
dss2 isolé et sans dll de fioriture pose le même pb :
>> message d'erreur
dss2 = avss.dll http://cjoint.com/?DIbwn2Xp0iR
dss2 isolé et sans dll de fioriture pose le même pb :
Code : Tout sélectionner
v = dss2("D:\vid\tracteur.mpg", fps=25)
a = DirectShowSource("D:\vid\tracteur.mpg", video=False)
AudioDub(v,a).ConvertToRGB32()
dss2 = avss.dll http://cjoint.com/?DIbwn2Xp0iR
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
Euh... je n'ai pas encore testé... mais je crois que je viens de comprendre grace à ce que tu as écris un peu plus haut...
Je n'avais pas remarqué que dans ton script, le chemin vers ta source n'était pas complet mais qu'il y avait uniquement le nom du .ts...
Le problème doit donc venir de là... Si tu mets le chemin complet derrière ton v=dss2 et derrière le a=directshowsource, je pense que tu pourras chargé ton script dans m4ng sans avoir à aller dans la prévisualisation pour éditer le scritp de m4ng...
A essayer donc... si ce n'est déjà fait...
Je n'avais pas remarqué que dans ton script, le chemin vers ta source n'était pas complet mais qu'il y avait uniquement le nom du .ts...
Le problème doit donc venir de là... Si tu mets le chemin complet derrière ton v=dss2 et derrière le a=directshowsource, je pense que tu pourras chargé ton script dans m4ng sans avoir à aller dans la prévisualisation pour éditer le scritp de m4ng...
A essayer donc... si ce n'est déjà fait...
Pas fameux tout ça.
En fait j'ai toujours la même erreur quelque soit le script :
En fait j'ai toujours la même erreur quelque soit le script :
Code : Tout sélectionner
AVISource("D:\vid\test 1.avi")
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
Moi si je drag&drop le script ci-après, m4ng l'accepte... et après télécharger la dll imagesequence... j'ai le rendu dans la preview...
Code : Tout sélectionner
## Source
v = dss2("Z:\Data_user\sebastien\Videos\TEST_montage\2010-07 - 0001.M2TS", fps=25)
a = DirectShowSource("Z:\Data_user\sebastien\Videos\TEST_montage\2010-07 - 0001.M2TS", video=False)
AudioDub(v,a)
#dss2trim("Salut les Terriens.ts") # Trim de sécurité dss2
#trim(
vid=LanczosResize(last,640,360).ConvertToRGB32().fadein(20).fadeout(15)
logo=CoronaSequence("Z:\Data_user\sebastien\Images\Photo_titi\200*.JPG",sort=2).ConvertToRGB32.ColorKeyMask($4d4d4d,$000000).fadeio(10)
fixe=Imagesource("Z:\Data_user\sebastien\Images\Photo_titi\20091231 (16).JPG",end=1200).convertfps(25).ConvertToRGB32
logo=logo+fixe
logo=ColorKeyMask(logo,$4d4d4d,$000000)
#logo=fadeout(logo,20)
logo=loop(logo)
# place the image into the upper right corner of the video
ovl=Layer(vid,logo,"add",131,370,0)
return ovl
Bon tout est dit, j'ai dû mal installer un truc ou mal paramétrer un codec via codec tweak tool
Peut-être même manque-t-il un élément de la suite m4ng :
j'ai pris juste le pack codec en plus ...
Vu que j'ai pas encore testé v5, autant que je reparte à 0 avec la beta; je ferai de nouveaux tests demain
Peut-être même manque-t-il un élément de la suite m4ng :
j'ai pris juste le pack codec en plus ...
Vu que j'ai pas encore testé v5, autant que je reparte à 0 avec la beta; je ferai de nouveaux tests demain