Avisynth Multithread
Forum DivX de Ri4m - Encoder et réencoder les videos - DivX - XviD - RV10 - RV9 - VP6 - VP7

Bienvenue invité ( Connexion | Inscription )

> 


 
Reply to this topicStart new topic
leon1789
posté 17/08/2010 à 16:56 Bookmark and Share
Message #1


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



Bonjour

Quand nos travaillons une vidéo (avec avisynth, il va de soi !)
et stockons le résultat sur disque (avec le codec de notre choix),
il n'est pas rare de devoir attendre plusieurs dizaines de minutes (voire des heures)
que tous les calculs se fassent...

De nos jours, tout le monde possède un ordinateur dont le microprocesseur contient plusieurs coeurs
(tout le monde ou presque... je crains que SG1 utilise encore un pentium III ! rolleyes.gif )
Ces processeurs multi coeurs offrent la possibilité de faire bcp de calculs en parallèle.
Contrairement aux codecs audios, les codecs vidéos que nous avons l'habitude d'utiliser (divx, xvid, x264,...)
ont pris depuis longtemps le virage du multi-threading.

Mais il faut savoir que les versions standard d'Avisynth (comme celle existante dans Ri4m) est mono-thread !
Or il existe des versions modernes multi-thread d'Avisynth (AviSynth MT), et je viens d'en tester une...

Alors j'ai fait quelques tests sur mon PC ( i7 720 QM) avec virtualdub.
La video traitée est créée par avisynth, puis compressée avec un codec
(divx en mode meilleure qualité , xvid en configuration par défaut ou x264 en configuration par défaut)
en mode 1 pass à 800 Kbps.

Pour créer la vidéo avec avisynth, j'ai utilisé ce code :
Code

  a = version.trim(0,100)
  a = a.ShowFrameNumber
  a = a.bicubicResize(480,160)
  b = a.fadeIO(50)
  c = merge(a, a.turn180.reverse)
  a = stackvertical(a.fadeIn0(20),b,c.fadeOut0(20))
  a = a + a.turnLeft + a.turn180 + a.turnright
  a.loop(3)
  SoftSharpen


C'est un source avisynth qui demande pas mal de calcul par la présence de softsharpen (dernière ligne),
si bien que l'exécution du code avisynth est comparable (en temps de calcul) à la
compression de la vidéo réalisée par le codec lui-même.
(attention : les scripts avisynth que ri4m crée par défaut sont très légers en calcul,
sauf si vous utilisez HybridFuPP, ou plusieurs filtres proposés...)

Pour utiliser ce code avec Avisynth MT, il faut juste ajouter simplement en toute première ligne
Code
setMTmode(2,0)


Voici ci-dessous un tableau présentant les résultats que j'ai obtenu :
-- à gauche, je présente le codec de compression et le nombre de CPU (coeurs) réservés
pour exécuter la tâche.
-- en colonne, on voit les temps de calcul pour fabriquer la vidéo (avisynth) et la compresser (codec),
ainsi que le pourcentage d'utilisation du microprocesseur...
La première colonne correspond à l'usage d'Avisynth classique (comme dans Ri4m),
la seconde colonne correspond à l'usage d'Avisynth MT (Multi-Thread).




Que peut-on conclure ?

--) le pourcentage d'utilisation CPU ne reflète pas forcément la vitesse réelle de traitement (sur mon i7, cela est peut-être dû à l'hyperthreading, une caractéristique du processeur...)

--) vérification : on voit bien que Avisynth classique est mono tâche sur les calculs sans compression : le temps de calcul ne varie pas en fonction du nombre de CPU (disons coeurs) utilisés.

--) quand on a 2 CPU actifs et qu'on utilise xvid ou divx pour compresser, l'avantage d'avisynth MT est quasi nul sur l'avisynth classique !

--) très surprenant : le codec divx n'est pas du tout optimisé pour le calcul avec plus de 2 CPU. Pour obtenir les mêmes temps de calculs que x264 ou xvid, il faut limiter le process divx à 2 CPU ... ne pas lui donner les 4 existants sur ma machine, sinon le travail est ralenti !!!!

--) quel que soit le codec utilisé avec avisynth classique, l'avantage de 4 CPU sur 2 CPU est net mais pas si grand que ça.

--) En revanche, toujours avec 4 CPU, utiliser avisynth MT apporte un gain très important ! (ne pas oublier que le script utilisé est aussi gourmand en calcul que la compression par le codec...)
Le gain d'avisynth MT est tel que, si on utilise les codecs divx ou xvid, on divise par 2 le temps de calcul global quand on passe de 2 CPU à 4 CPU !

Ce message a été modifié par leon1789 - 19/08/2010 à 10:09.
Aller en haut de la page
 
+Citer le message
SG1
posté 17/08/2010 à 17:39 Bookmark and Share
Message #2


Producteur
Icône de groupe

Groupe : Rédacteurs
Messages : 6.240
Inscrit : 08/10/2004
Lieu : Un coin perdu du Gers (32)
Membre no 4.657



Bonjour,

Bigre, le Léon, il a pas tout de cassé... Les neurones sont toujours là...

Citation
je crains que SG1 utilise encore à un pentium III !

yahoo3.gif T'es pas tombé très loin... C'est un Céléron 2.2 !

Citation
Alors j'ai fait quelques tests sur mon PC ( i7 760) avec virtualdub.

Ben oui, de suite, là... un I7 !!!
Tu veux pas que je te donne DeepBlue (Encore que même lui, il est dépassé) ?

clapclap.gif

@+
Aller en haut de la page
 
+Citer le message
rol
posté 17/08/2010 à 18:05 Bookmark and Share
Message #3


Admin
Icône de groupe

Groupe : Admin
Messages : 32.087
Inscrit : 12/05/2003
Lieu : DivX ou XviD
Membre no 2



Waouh Leon, les résultats sont impressionnants yahoo1.gif
Aller en haut de la page
 
+Citer le message
leon1789
posté 17/08/2010 à 18:29 Bookmark and Share
Message #4


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



yahoo1.gif
Merci

Autant dire que je ne fais plus que du MT maintenant ! ...surtout quand je veux mettre au point un script avs.

Ce qui me choque le plus, c'est que le divx avec 4 coeurs est plus lent qu'avec 2 coeurs... (et ceci d'autant plus que le script avs est lourd)
Je ne comprends pas... mais c'est pourtant bien ce qu'il se produit sur mon binz !

Ce message a été modifié par leon1789 - 17/08/2010 à 18:49.
Aller en haut de la page
 
+Citer le message
leon1789
posté 18/08/2010 à 10:35 Bookmark and Share
Message #5


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



Petit problème que j'ai oublié de signaler :
sur mon pc (je ne sais pas si c'est général), avisynth MT n'est pas compatible avec un traitement audio...
Je ne l'utilise donc que pour des scripts 100% videos.

Ce message a été modifié par leon1789 - 18/08/2010 à 10:36.
Aller en haut de la page
 
+Citer le message
leon1789
posté 11/12/2010 à 16:01 Bookmark and Share
Message #6


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



Après plusieurs mois d'utilisation, j'ai constaté qu'il y a quelques problèmes de compatibilité avec Avisynth MT
(sur ma machine du moins, et en utilisant VirtualDub) :
problèmes avec les fonctions audios, ainsi que l'incrustation de sous-titres (causant des plantages durant le traitement),
et plus anecdotiquement, avec les options de debanding et deblocking de SoftSharpen (traitement vidéo incorrect) .

Ce message a été modifié par leon1789 - 11/12/2010 à 16:04.
Aller en haut de la page
 
+Citer le message

Avisynth Multithread


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 

Modes d'affichage: Standard ·


Regrouper

> Discussions similaires à la discussion "Avisynth Multithread"

Sujet Réponses
avisynth et Windows 7 x64 3
Avisynth open failure 16
avisynth open fail 0
avisynth open failure 2
Avisynth 5
Avisynth error 3
Avisynth 0
Avisynth (encore) 15
Avisynth violation access 16
Avisynth open failure: Resize: Source image too small for resize method... 33

> Sujets récents

Sujets
améliorer le son d'un divx
Compression d'un MKV sans perte de qualité ?
Titres sur le DVD vs épisodes du menu
Intégrer des chaps dans un mkv ?
Film à retrouver
message d'erreur
Telechargement RI4M id et mot de passe
Arrêt
Avantage d'utilisation de Viabox
Le président Chirac agit pour l'Histoire !!!!
Message erreur lors de l'installation d'un logiciel...
Windows10 et RIAM
RIAM a cessé de fonctionner......
Probleme pour encoder un DVD sur Ihone 3GS !!
recherche peintre batiment sur Marseille

RSS Version bas débit Nous sommes le : 27/05/2018 à 01:34
Ripp-It - Le site - Glossaire Audio Vidéo - Versions Rippit - Présentation - Tutoriaux divx - Télécharger Ripp-It - Ripper DVD - Annuaire liens en dur
Forum Vidéo DivX - Ripp-It - Le site - Le glossaire - Les versions - Présentation - Tutoriaux divx - Télécharger Ripp-It - Ripp-It - Plan du site
Forum PSP - Forum iPod - Forum Mobile - Forum cinéma - Ripit4ME - Topvideo - Contact

Foot
Utilisation de la bande passante
Forum Ri4m™ © 2013 Ri4m™ - Enregistré à la CNIL sous le numéro 1081457