SoftSharpen 8.8 - Script vidéo AviSynth

Modérateur : Modérateurs

Répondre
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit :bon, maintenant que le script arrive à maturité, que vois-tu comme presets?
Dans la dernière version actuelle, je propose ces options :
# SoftSharpen(Video, "Flou", "Net", "Larg", "Haut", "Fast", "Preset")
# EstimSoftSharpen(Video, "Larg", "Haut")

# -- Fast (true/false) indique un traitement relativement lent ou plus rapide
# Par défaut, Fast=false (i.e. traitement plus lent, mais plus précis)

# -- Preset (pouvant être "film","low motion","fast motion","anim","vhs")
# désigne une configuration typique : le script fixe en conséquence
# les valeurs de Flou, Net et Fast.
#
# RQ : une valeur spécifiée de Flou, Net ou Fast domine celle du Preset.
#
# RQ : les presets sont des réglages généraux, mais des valeurs plus
# adéquates à Video sont obtenues grace à la fonction EstimSoftSharpen !

Est-ce convenable ?

En ce qui concerne les "anim", vu leurs spécificités (par exemple, contrairement au film normaux, le flou se voit très vite, même en mouvement... ) j'ai aménagé un traitement particulier. Cela a malheureusement alongé un petit peu le temps de calcul. Mais celui-ci reste clairement inférieur à ce qu'il était dans les premières versions.
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

donc un preset pour chaque type de source + true/false pour "Fast"?
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

oui, c'est ce j'ai mis dans le script.

Cela dit, je ne suis pas certain de moi concernant les réglages des presets : j'ai testé sur 5 ou 6 vidéos, mais cela n'a pas de vraie valeur statistique... J'ai positionné les presets ainsi :

Code : Tout sélectionner

par défaut           --> Flou=22 , Net=20 , Fast=false
preset="film"        --> Flou=26 , Net=15 , Fast=false
preset="low motion"  --> Flou=28 , Net=10 , Fast=true
preset="fast motion" --> Flou=24 , Net=20 , Fast=false
preset="anim"        --> Flou=30 , Net=10 , Fast=true (+ traitement spcial)
preset="vhs"         --> Flou=22 , Net=26 , Fast=true
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

mon test VHS était avec Flou et Net à 30 pour bien éliminer toutes les saletés de l'image, dans ton preset, c'est la valeur la plus basse de tous, c'est un peu faiblard à mon avis.
Quel distingo fais-tu entre "film" et "low motion"/"fast motion"?
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit :mon test VHS était avec Flou et Net à 30 pour bien éliminer toutes les saletés de l'image, dans ton preset, c'est la valeur la plus basse de tous, c'est un peu faiblard à mon avis.
Je ne sais pas si je vais être très clair...

Je sais que tu avais mis les gaz à fond pour ton test :) Au début aussi je me disais que Flou=30 serait pas mauvais... mais mais...

Avec différentes expériences (toi, et quelques autres que je remercie), je crois qu'avoir de forts floutages et des objets très nets par ailleurs peut provoquer un ensemble pas terrible, comme une espèce de trucage mal fait (une image sur l'autre, comme les vieux films...). Donc je préfère limiter un peu les effets : ne pas avoir un Flou et un Net trop forts simultanément, pour éviter cet effet de trucage raté.

Je rappelle le principe du script :
A tous les mouvements, on récupère des bits grace au floutage.
Sur les objets fixes, on perd des bits à cause de la hausse de net.

-- si on charp trop, on perd en compressibilité, et c'est l'ensemble de la vidéo qui en subit les conséquences (lorsque un bitrate moyen est fixé pour encoder le film)
-- si on floutte trop, on prend le risque de dégrader ponctuellement la vidéo, surtout si on veut faire un arrêt sur une image par exemple...

Donc je me dis que le mieux est que le gain et la perte de bits soient du même ordre. Mais cela reste sujet à discussion !


Pour la valeur Flou, imaginons qu'on veut récupérer B bits. Notons V la quantité de mouvement de la vidéo. Formellement, on doit récupérer B/V bits à chaque mouvement :

** si la vidéo est très mouvementée, V est grand donc B/V est petit
--> Flou doit être faible : on tire peu de bits à chaque mouvement, mais comme il y a bcp de mouvement, on arrive à gagner suffisament ce qu'il faut dans l'ensemble.

** si la vidéo est très statique, V est petit donc B/V est grand
--> Flou doit être grand : il y a peu de mouvement, mais comme on tire bcp de bits à chaque mouvement, on arrive à gagner suffisament ce qu'il faut dans l'ensemble.


Pour la valeur Net c'est pareil mais dans le sens inverse : imaginons qu'on veut dépenser B bits. Notons S la quantité statique de la vidéo. Formellement, on doit dépenser B/S bits pour chaque objet statique :

** si la vidéo est très statique, S est grand donc B/S est petit
---> Net doit être petit : il y a bcp de statique, mais comme on donne peu de bits à chaque objet statique, on arrive à dépenser juste ce qu'il faut dans l'ensemble.

** si la vidéo est très mouvementée, S est petit donc B/S est grand
--> Net doit être élevé : on donne bcp de bits à chaque objet statique, mais comme il y a peu de statique, on arrive à dépenser juste ce qu'il faut dans l'ensemble.


C'est pour cela que dans les presets, la valeur de Flou descend pendant que la valeur de Net augmente, et réciproquement... Pour une VHS, je me dis que ça doit trembler de tous cotés, donc bcp de mouvements, donc Flou assez faible et Net assez fort.

Heu... c'est convainquant ??? :glups:


Enfin, quelqu'un qui utilise le script "à la main" peut très bien lancer video.SoftSharpen(preset="vhs", Flou=30) pour forcer le script à prendre la valeur Flou=30, tout en conservant les autres constantes.

pepsilite a écrit :Quel distingo fais-tu entre "film" et "low motion"/"fast motion"?
Le mieux est de donner un exemple de chaque type :)

"low motion" : c'est un film genre "le diner de cons", " l'homme qui murmurait l'oreille des chevaux ", un film à l'eau de rose, ou un film de Woodie Allen.

"film" : film genre normal... :glups: "les visiteurs", "star wars", ...

"fast motion" : film genre "Fast and furious" (je n'ai pas vu, mais d'après ce qu'on m'a dit, ça doit bouger un peu :) )

"vhs" : film tout pourri :)

"anim" : dessin animé, plutôt de mauvaise qualité. Une belle animation du style "Shrek" pourrait être considérée comme un film lent peut-être...
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

bon, ça m'apprendra avec mes questions idiotes :mdr
je ne peux pas dire avoir tout compris, je vais de toute façon tester tes presets et te tenir au courant... Quand j'ai testé la 1ère fois le script, j'ai tout mis "à fond" pour voir la limite "forte" de la chose, mettre un flou à 12 ou 22 ne m'aurait rien donné et j'ai été effaré par le résultat "tout à donf", j'ai essayé avec des réglages plus bas et ça me plaisait moins, mais pas de souci, on verra à l'usage, on peut imaginer un "VHS propre" et un "VHS trèèèèèès pourri..."
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit : je vais de toute façon tester tes presets et te tenir au courant...
Oui, plus il y aura de tests, mieux ce sera : on a tous des vidéos différentes et des goûts différents, et il faut faire une moyenne de tout ça....
pepsilite a écrit : on peut imaginer un "VHS propre" et un "VHS trèèèèèès pourri..."
Un preset "resurrection" (pour ceux qui croient aux miracles :mrgreen: ) pourrait être Flou=30 et Net=30
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

j'ai une erreur AVIsynth avec le preset "anim" il ne connait pas Msharpen...
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

L'entête du script a changé aussi :) En ligne n°4 :

Code : Tout sélectionner

LoadPlugin(rep+"MSharpen.dll") # ok
Depuis quelques jours, je suis en manque d'inspiration pour tenter d'améliorer le script...

J'ai continué à faire quelques tests : parfois, dans des circonstances particulières, le flou est trop visible. Mais je ne trouve pas le moyen de corriger cela.
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

leon1789 a écrit :L'entête du script a changé aussi :) En ligne n°4 :

Code : Tout sélectionner

LoadPlugin(rep+"MSharpen.dll") # ok
Ah ok, je n'avais pas vu cet ajout ...

Depuis quelques jours, je suis en manque d'inspiration pour tenter d'améliorer le script...

J'ai continué à faire quelques tests : parfois, dans des circonstances particulières, le flou est trop visible. Mais je ne trouve pas le moyen de corriger cela.

On verra ça quand il y aura des tests à plus grande echelle...
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Je viens de mettre à jour : dans certains films normaux, il y a des passages style manga (exemple : kill bill 1 , spider man, etc.). Dans cette situation, le résultat ne me plaisait pas trop : les lignes étaient parfois trop floues. Maintenant, c'est corrigé...

Les presets sont "film", "low motion", "fast motion", "anim", "vhs", "resurrection"

Voici quelques exemples :

video.SoftSharpen
= SoftSharpen(video, Flou=21, Net=21, Larg=video.width, Haut=video.height, , Fast=false, Preset="")

video.SoftSharpen(30,20, Fast=true)
video.SoftSharpen(Larg=1024, Haut=432)
video.SoftSharpen(Preset="film", Flou=20, Fast=true)
video.EstimSoftSharpen(Larg=1024, Haut=432)

mise à jour ici http://www.forum.lauden.fr/image-vp30619.html#30619
Modifié en dernier par leon1789 le mer. 26 sept., 2007 22:03, modifié 2 fois.
Avatar du membre
yober
Membre Fondateur
Membre Fondateur
Messages : 2107
Enregistré le : mar. 06 févr., 2007 22:16
Localisation : Châtenois, ahhhh la route des vins...

Message par yober »

Qui en veut ?



:ange:
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Est-ce que certaines personnes du forum utilisent LimitedSharpen ?
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

pas moi en tout cas ...
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
dimdes
Membre Fondateur
Membre Fondateur
Messages : 621
Enregistré le : dim. 04 févr., 2007 6:56

Message par dimdes »

Pour le nom des preset, je trouve qu'il serait sympa de choisir des noms un peu plus parlant.. exemple, low Motion, ne dit pas grand chose à qqn de non-expérimenté, film non plus d'ailleurs....


ps : c'est juste un avis...
Image
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11272
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 »

Hum, je pense que c'est pas trop grave puisque ça sera sans doute cacher par Pepsi avec une liste de choix comme pour hybridfupp ...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

dimdes a écrit :Pour le nom des preset, je trouve qu'il serait sympa de choisir des noms un peu plus parlant.. exemple, low Motion, ne dit pas grand chose à qqn de non-expérimenté, film non plus d'ailleurs....
ps : c'est juste un avis...
ok d'accord je vais franciser les noms :) merci de ta remarque. Je te propose cela :

"film" --> ??? (adapté aux films de cinéma style les visiteurs, star wars, spider man, etc.)
"low motion" --> "video statique"
"fast motion" --> "video rapide"
"anim" --> "anim"
"vhs" --> "vhs"
"resurrection" --> "maxi"
Underground78 a écrit :Hum, je pense que c'est pas trop grave puisque ça sera sans doute cacher par Pepsi avec une liste de choix comme pour hybridfupp ...
oui, mais ça ne me coûte pas trop cher non plus de faire ces changements :o:
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11272
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 »

Exact, loin de moi l'idée de dire le contraire ... ;)
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

Underground78 a écrit :Hum, je pense que c'est pas trop grave puisque ça sera sans doute cacher par Pepsi avec une liste de choix comme pour hybridfupp ...
certes, mais la liste portera ces noms de presets quand même ...
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
dimdes
Membre Fondateur
Membre Fondateur
Messages : 621
Enregistré le : dim. 04 févr., 2007 6:56

Message par dimdes »

juste une remarque en passant... je regadais ça avec mes yeux de novice ;-)
Image
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

dimdes a écrit :juste une remarque en passant... je regadais ça avec mes yeux de novice ;-)
ah ben d'accord, mais maintenant, le << novice >> est obligé de dire si cela lui convient ! :mrgreen:
J'essaie de trouver des noms de preset qui soient compréhensibles par un anglophone et un francophone.

"static video" pour les vidéos statiques, qui ne bougent pas bcp (style débat politique...)
"fast video" pour les vidéos rapides et mouvementées (style les bandes annonces hollywoodiennes)
"film" pour les films qui sont parfois rapides, parfois lents (style un film "normal"...)
"anim" pour les dessins animés et animations (une animation bien faite pourraît être traitée avec "static video" aussi)
"vhs" pour les vhs "de grand-père" : beaucoup de bruit, tremblement, etc.
"maxi" pour tout mettre à fond : flou, net, fast (style pepsilite...)

C'est ok comme ça ?

Par ailleurs, je suis en train de modifier le script de manière significative (par exemple, tenir compte des librairies MaskTools2 et FluxSmooth plus récentes par détection automatique...). Dès que la nouvelle version est prête, je vous en fait part
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

juste une autre question, pourquoi des presets en anglais?
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit :juste une autre question, pourquoi des presets en anglais?
:oh: heu, pour plusieurs raisons :
1- c'est plus court (de quelques lettres) à écrire en anglais :roll:
2- je trouve que ça sonne mieux en anglais :whi:
3- une certaine habitude d'avoir des variables et des fonctions avisynth en anglais (dans les doc, etc.) :ange:
4- envie d'exporter le script dans tout l'univers... j'ai pris le melon !! :gy:
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

je comprends tout à fait ces 4 points, mais il faut aussi songer au "noob" comme dit Dimdes :D
mais c'est vrai que le noob n'ira pas mettre les mains dans le camboui. Pour les presets "à la Pepsi", je rajouterai (Video lente) et (Video rapide) pour plus de clarté...
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

oui ok, pas de problème bien sûr :)

Alors voici une nouvelle version :

-1- noms de preset franco-anglophones "film", "static video", "fast video", "anim", "vhs", "maxi"

-2- deux nouvelles variables en "libre paramétrage" : Mouv (pour jouer sur le seuil de détection de mouvement) et Debr (pour jouer sur le niveau de débruitage). Normalement, on n'a pas trop besoin d'y toucher, et elles sont bien sûr ajustées en fonction du preset choisi.

Dans les versions précédentes, la variable Debr n'existait pas et j'utilisais naïvement la variable FLou pour le débruitage. Mais je viens de voir (sur mon dernier encodage) qu'il est finalement souhaitable (et logique) de séparer les deux car ils sont indépendants : Flou pour le floutage du mouvement, Debr pour le débruitage sur toutes les images.

-3- le script teste la version de FluxSmooth en mémoire, et utilise la plus récente : l'ancienne DLL contient FluxSmooth, la dernière DLL contient FluxSmoothST.
Je me suis bien amusé avec les instructions Try et Catch :gna:

-4- idem pour MaskTools : l'ancienne Masktools.dll et la récente mt_MaskTools.dll :
pepsilite a écrit :précision, ce Masktools.dll s'appelle en fait mt_masktools.dll, ça doit venir de là à la base....
Cela étant, pas de panique au niveau compatibilité ! :mrgreen: Si une ancienne version du script fonctionnait sur votre machine, cette version fonctionnera également sans que vous téléchargiez une seule librairie supplémentaire.

En revanche, si vous avez déjà en mémoire les nouvelles librairies (par exemple, si elles sont installées dans le répertoire c:\program files\avisynth 2.5\plugins\), alors le script en profitera et, normalement, le traitement de SoftSharpen en sera légèrement accéléré...

(En fait, il s'agit surtout d'un problème de compatibilité car le FluxSmooth ancien que Riam utilise n'est pas très répandu sur le net : on trouve plutôt FluxSmoothST maintenant.)

Le script (je vous laisse dans l'entête des adresses où télécharger les nouvelles librairies au cas où... mais encore une fois, ces téléchargements ne sont pas du tout obligatoires.) :

mise à jour ici http://www.forum.lauden.fr/ici-vp32332.html#32332
Modifié en dernier par leon1789 le dim. 14 oct., 2007 11:35, modifié 1 fois.
Répondre