Auteur Sujet: Guerre des codecs: qui va l'emporter entre AV1 vs HEVC/H.265 ? Probablement AV1  (Lu 177679 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 52 378
    • Bluesky LaFibre.info
Il y a quelque chose qui coince chez toi, alors, puisque j'obtiens bien le résultat attendu : à CRF équivalent mais preset changeant, la taille diminue suivant l'augmentation de la complexité du preset.
Cela s'explique peut-être par ma version de SVT-AV1, la version 2.3.0 ?

MaxLebled

  • Abonné Free fibre
  • *
  • Messages: 1 099
  • Rennes (35)
    • Site web
Cela s'explique peut-être par ma version de SVT-AV1, la version 2.3.0 ?

Tu as deux versions majeures de retard, donc peut-être ! La 2.3.0 est sortie en octobre 2024...

J'ai refait le même test avec une vidéo plus longue (1m30, un de mes courts-métrages d'animation), et la version standard de SVT-AV1.

Toujours via Handbrake, toujours CRF 45, mais cette fois-ci le seul paramètre additionel est : enable-variance-boost=1

PresetTaille du fichier (Mo)Vitesse d'encodage (i/s)Débit vidéo (Kb/s)
026,101,432275,86
226,887,742346,50
427,2534,782379,90
527,7955,032429,05
629,7574,842607,64
832,37111,622846,75
1028,69128,502511,70

vivien

  • Administrateur
  • *
  • Messages: 52 378
    • Bluesky LaFibre.info
Oui, je sais. Ce n'est pas si simple sous Linux sans devoir recompiler pleins de trucs. J'ai compilé la dernière version d SVT-AV, mais j'ai eu plus de mal pour ffmpeg et toutes ses dépendances. C'est une veille version car la compilation de svt-av1 échoue sur i386 en raison de l'absence de libcpuinfo-dev (nouvelle dépendance ajoutée dans la version 3.0.2+dfsg-1) sur i386.

Dans ton dernier test, on voit que la variation de la taille n'est pas tout à fait logique (vidéo preset 10 plus petite que preset 6 et 8 ).

Si tu as un peu de temps CPU, tu pourrais faire tourner mon script et afficher la taille des fichiers ? (ce sera donc strictement la même ligne de commande que moi)
Vidéo source : https://lafibre.info/videos/loi/202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs.mkv

Taille de mon côté : le numéro à la fin du fichier est le preset, qui varie de -1 à 13 :
44618624 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs.mkv
14110360 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs-1.mp4
14110653 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs0.mp4
14162832 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs1.mp4
14161718 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs2.mp4
14333407 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs3.mp4
14286806 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs4.mp4
14379078 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs5.mp4
14113725 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs6.mp4
13839929 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs7.mp4
14264847 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs8.mp4
14315064 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs9.mp4
13424865 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs10.mp4
13186735 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs11.mp4
13186735 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs12.mp4
13186735 202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs13.mp4

vivien

  • Administrateur
  • *
  • Messages: 52 378
    • Bluesky LaFibre.info
Voici le comparatif d'une animation sans perte des différents preset pour un CRF 45.

On voit que la qualité visuelle change d'un preset à l'autre et qu'elle est meilleure avec les preset faibles.



MaxLebled

  • Abonné Free fibre
  • *
  • Messages: 1 099
  • Rennes (35)
    • Site web
Oui, le preset 10 doit être tellement extrême en terme de compromis qu'il en finit par casser certains raisonnements concernant le calcul simultané de la qualité ?

J'ai converti ton script en Powershell & utilisé la dernière nightly ffmpeg disponible pour Windows, qui contient SVT-AV1 4.0.1. J'ai exclu les presets 11/12/13 (qui ne sont prévus que pour les appels vidéo) et le preset -1 (rapidité)

PresetTaille du fichier (Mo)Vitesse d'encodage (i/s)Débit vidéo (Kb/s)
014,743,19941,36
114,818,64945,56
214,8318,09947,43
314,2431,71906,78
414,2053,32903,69
514,1677,61901,43
614,26107,92907,89
714,95145,59955,30
815,60215,421000,35
914,23298,90905,86
1013,07331,70826,32

Je pense que ce comportement atypique pourrait s'expliquer par le fait que la source est déjà pas mal compressée et que les deux paliers visible dans la courbe rouge s'expliquent par l'activation/désactivation de certaines fonctionnalités de l'encodeur qui interagissent d'une certaine manière lorsque la source est déjà très compressée

Pour ce qui est de ta comparaison des 2 presets... ça a toujours été le cas avec toute sorte de comparaison d'encodage vidéo, mais ça l'est encore plus aujourd'hui : deux images fixes ne donnent pas assez d'info. C'est aussi la précision de la reconstitution du mouvement qui est primordiale et qui a une très grande importance psychovisuelle.


MaxLebled

  • Abonné Free fibre
  • *
  • Messages: 1 099
  • Rennes (35)
    • Site web
Bonus : la courbe des débits pour les presets 0, 2, 4, 6, 8, 10

ATTENTION : je crois que la méthodologie est un peu bugguée (les secondes ne correspondent pas entièrement) mais étant donné qu'il y a une correspondance entre tous les graphiques ça permet quand même de déceler certaines tendances


vivien

  • Administrateur
  • *
  • Messages: 52 378
    • Bluesky LaFibre.info
Je me suis permis de mettre tes différentes images en une seule animée, c'est plus facile pour comparer.

On voit bien la partie ou cela bouge beaucoup à la fin de la vidéo. Je suis étonné que le débit descende compéltement à zéro au milieu de la vidéo (ce sont des images fixes).
Pour le bug du temps, c'est peut-être lié au fait que ton outil pense que la vidéo a 30 images/ seconde alors que c'est 25.

Avec quel outil tu arrives à faire ça ? cela m'intéresse vraiment pour analyser des flux, en voir ceux qui sont en CBR (le flux source était en CBR par exemple, encodé par Arte à 3000 Kbit/s). Les variations de débits ne peuvent se faire qu'entre deux périodes très proches. Je suis curieux de voir ce que cela donne sur le fichier source.

La vidéo en question : (CRF45 et Preset -1 )

MaxLebled

  • Abonné Free fibre
  • *
  • Messages: 1 099
  • Rennes (35)
    • Site web
C'est fait avec ffprobe !

$baseName = "202603_arte_info_meta_et_google_condamne_pour_mise_en_danger_de_mineurs"
$presets = @("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10")

foreach ($p in $presets) {
    $filename = "$baseName$p.mp4"
    if (Test-Path $filename) {
        Write-Host "Extracting frame data for Preset $p..." -ForegroundColor Cyan
        & "$ffmpegDir\ffprobe.exe" -v error -select_streams v:0 -show_entries frame=pkt_size,pkt_pts_time -of csv=p=0 $filename > "trace_p$p.csv"
    }
}

Je ne me suis pas foulé : je bénéficie actuellement d'un essai gratuit de Gemini Pro suite à l'achat d'un appareil, donc c'est cette I.A. qui a généré le code et les images... c'est vraiment le seul cas d'usage que je lui trouve, c'est très pratique pour générer du Powershell pour tout et n'importe quoi. Le bug était lié au fait que j'avais analysé mon court-métrage d'1m30 juste avant, et l'I.A. était encore « mentalement » bloquée sur cette durée.

Je précise aussi que j'ai demandé à l'I.A. d'appliquer une moyenne glissante aux courbes, sinon c'est illisible
« Modifié: Aujourd'hui à 15:35:10 par MaxLebled »