News:

--

Main Menu

Quel taux de compression optimum ?

Started by joe.satriani, February 01, 2020, 05:40:39 PM

Previous topic - Next topic

joe.satriani

Bonjour,
j'ai numérisé mes nombreuses vidéos (via DV-AVI (720x576) pour les 8mm et un grabber (720x480) pour les VHS) dans des fichiers en format AVI.
Je souhaiterais maintenant les découper en séquences puis les compresser dans un container MP4 pour les stocker et les partager sur internet.
Je souhaitais utiliser AVIdemux pour le faire car je commence à bien l'apprécier et l'avoir en main.
Je pensais utiliser les codecs vidéo AVC (x264) et audio AAC (lav) qui semblent être les plus standard actuellement pour augmenter les chances que mes vidéos soient lisibles par le plus grand nombre :


Je n'ai que peu de contraintes à exiger, si ce n'est l'application de ces 2 filtres :


Ainsi la conservation des ratios de hauteur/largeur trame :


Mais j'ai remarqué que ces 2 filtres + ratio n'avaient que peu d'influence sur la taille finale du fichier compressé en MP4.

Maintenant, j'aimerais avoir des conseils avisés sur le "taux" optimal de compression pour avoir le meilleur rapport "taille de stockage"/"qualité image/son" ?
Il y a tant de paramètres de configuration dans AVIdemux (Rate Control, Motion, Frame, Quantizer ...) que je ne sais sur lesquels jouer pour minimiser la perte de qualité.

Avec les paramètres par défaut d'AVIdemux, et l'application des filtres ci-dessus, j'arrive à diviser par ~10 la taille du fichier entre sa version brute AVI et sa version compressée en MP4.
Mais je constate que pour les films xvid (que je regardais sur mon PC quand j'étais plus jeune), on faisait rentrer un film de ~1h30' sur un CD-R. Sachant que une séquence AVI de 1h30 fait ~20Go, et qu'un CD fait 650Mo, ceci correspond au final à une division par 30 de la taille du fichier.

Que me conseillez-vous ? Partir plutôt sur un taux 1/30, ou plus élevé ? Et le cas échéant, quels paramètres me conseillez-vous de travailler pour augmenter ce taux sans que ce soit perceptible (ou le moins possible) à l'oiel/oreille nu ?

Je vous remercie par avance de tous vos conseils.

Cordialement

eumagga0x2a

Je ne suis pas un grand spécialiste de l'encodage avec x264. Pour atteindre un taux de compression de ~1/30, veuillez sélectionner le mode d'encodage "Average bitrate" en 2 passes et laisser la valeur du débit moyen à 1500.

Essayez d'augmenter le nombre d'images consécutives de type B un peu. Si la navigation en vidéo n'est pas un problème, essayez d'augmenter la taille de GOP au-delà de 250 images ( = 10 s à 25 fps).

joe.satriani

Bonjour, merci de vais essayer déjà ce que vous proposez.
S'il y a d'autres propositions, je suis preneur.
Cordialement

joe.satriani

Quote from: eumagga0x2a on February 01, 2020, 06:11:00 PM
Je ne suis pas un grand spécialiste de l'encodage avec x264. Pour atteindre un taux de compression de ~1/30, veuillez sélectionner le mode d'encodage "Average bitrate" en 2 passes et laisser la valeur du débit moyen à 1500.

Essayez d'augmenter le nombre d'images consécutives de type B un peu. Si la navigation en vidéo n'est pas un problème, essayez d'augmenter la taille de GOP au-delà de 250 images ( = 10 s à 25 fps).

Bonsoir,
en effet, le fait de passer d'un mode d'encodage "Constant Rate Factor (Single Pass)" en Quality 26 à "Average Bitrate (Two pass)" en 1500kb/s a permis de diviser encore par 3 la taille du fichier MP4 compressé.

En arrêt sur image, j'avoue ne pas faire la différence à l'oeil nu (ce qui est peut être normal) :
ConstantRateFactor in Single Pass Quality=20 :


Average Bit Rate in Two Pass birate moyen=1500kb/s :


En revanche, c'est en mouvement que j'ai du mal à comparer à l'oeil nu s'il y a dégradation de la fluidité.
Ne vais-je pas le regretter sur les vidéos avec beaucoup d'action ?

Merci

dosdan

#4
[quote author = joe.satriani link = topic = 19015.msg88332 # msg88332 date = 1580854450]
On the other hand, it is in movement that I find it difficult to compare with the naked eye if there is degradation of fluidity .
Won't I regret it on videos with a lot of action?
[/quote]

Experiment for yourself:

Original File
19.5s MP4 1080p60 (1171 frames) football action clip from camcorder, Copy/Copy cut with ADM. Camcorder says this is "50M"(bps) format. MediaInfo says that the video stream is 45.1Mbps:

https://dl.dropbox.com/s/ikjbx0xtiw5rtz0/19s%201080p60.mp4

Use Bitrate Viewer to inspect clip: https://www.videohelp.com/software/Bitrate- Viewer-2

Drag-and-drop clip into BV. Default vertical scale is max 10.08 Mbps for DVD. This is too low for this clip's bitrate. Press Ctrl-A to Auto-scale. Currently in Frame-display mode. Press Ctrl-G to switch to GOP-display mode:



Bottom RHS:   
49,140 kbps = bitrate at cursor (GOP # 10)
(30) = GOP size (in frames)
(G) = in GOP-display mode.

Little variation in bitrate for this clip with this encoding.

Here is the size of the original clip and the 3 processed clips (parameters chosen to produce the same approximate size as the CRF 26 version):

1080p60.mp4                    110,970,794 19s
1080p60_fast_crf_26.mp4         22,823,268 19s
1080p60_fast_2pass_9077kps.mp4  23,407,460 19s
1080p60_fast_cq_33.mp4          23,400,180 19s



FAST Preset, CRF 26
https://dl.dropbox.com/s/dwhpycqmiwixwkt/19s%201080p60_fast_crf_26.mp4

After loading this processed version, press Ctrl-S to switch to Seconds-display mode:


Max. bitrate at 11s. Avg bitrate of video stream is 20% of original (high-bitrate) version's video stream.


2pass - 9077k video stream avg bitrate)
https://dl.dropbox.com/s/eekfnvxm98gw422/19s%201080p60_fast_2pass_9077kps.mp4



Compared to CRF version, the 2pass version uses a higher bitrate around 5-6s and less between 17-19s.


Constant Quantiser - q33
https://dl.dropbox.com/s/n5j98dso7lg6i4u/19s%201080p60_fast_cq_33.mp4



Uses less bitrate than the other 2 versions at both the beginning and the end, but uses more in the centre.


Note: in  BV you can also use Frame-display mode (Ctrl-F). This is more useful for small time durations. You can zoom in by L.clicking-and-dragging to mark a time-block. Then R.click to zoom in to it. You can repeat this multples times to get finer time detail, down to a single frame. At top RHS, next to the Total Time value, "[Z,3]" means 3 zoom-ins have been performed so far to get to this temporal level of detail. You can click on the "[Z]", if present, to reset the zoom level.

All versions look OK to me as clips, but I suggest you single-step through frames, looking at the detail in the grass and halos around players. You can also try lower-bitrate versions.  When the frame content is busy, for example, shooting football in the rain, the falling raindrops get quite smeared/soft at low bitrates.


Dan.









eumagga0x2a

Quote from: joe.satriani on February 04, 2020, 10:14:10 PM
En revanche, c'est en mouvement que j'ai du mal à comparer à l'oeil nu s'il y a dégradation de la fluidité.
Ne vais-je pas le regretter sur les vidéos avec beaucoup d'action ?

La perte de fluidité n'est pas liée ni à la compression ni à la taille de GOP mais au mode de désentrelacement utilisé. Si vous le souhaitez, doublez la fréquence d'images en yadif ("Mode: Frame : Temporal & spacial check"), mais cela augmentera la taille de la vidéo résultante.

joe.satriani

Quote from: eumagga0x2a on February 05, 2020, 02:39:48 PM
Quote from: joe.satriani on February 04, 2020, 10:14:10 PM
En revanche, c'est en mouvement que j'ai du mal à comparer à l'oeil nu s'il y a dégradation de la fluidité.
Ne vais-je pas le regretter sur les vidéos avec beaucoup d'action ?

La perte de fluidité n'est pas liée ni à la compression ni à la taille de GOP mais au mode de désentrelacement utilisé. Si vous le souhaitez, doublez la fréquence d'images en yadif

("Mode: Frame : Temporal & spacial check"), mais cela augmentera la taille de la vidéo résultante.

En réalité, j'étais déjà en mode "Temporal & Spatial Check". L'autre option proposée par AVIdemux est "Bob, Temporal & Spatial Check" ????
Sinon, il y la possibilité de "skip" les 2 précédents ...

eumagga0x2a

Quote from: joe.satriani on February 05, 2020, 10:15:56 PM
En réalité, j'étais déjà en mode "Temporal & Spatial Check". L'autre option proposée par AVIdemux est "Bob, Temporal & Spatial Check" ????
Sinon, il y la possibilité de "skip" les 2 précédents ...

Il y a quatre options dans le menu, la seconde est "Field :  Temporal & spatial check" dans le Git master actuel. Peut-être que cela s'appelait "Bob" en 2.7.4 / 2.7.5.

joe.satriani

Quote from: eumagga0x2a on February 05, 2020, 10:51:46 PM
Quote from: joe.satriani on February 05, 2020, 10:15:56 PM
En réalité, j'étais déjà en mode "Temporal & Spatial Check". L'autre option proposée par AVIdemux est "Bob, Temporal & Spatial Check" ????
Sinon, il y la possibilité de "skip" les 2 précédents ...

Il y a quatre options dans le menu, la seconde est "Field :  Temporal & spatial check" dans le Git master actuel. Peut-être que cela s'appelait "Bob" en 2.7.4 / 2.7.5.

Voici ce que propose Avidemux dans sa version 2.7.4 pour Windows 32 bits :

joe.satriani

Quote from: dosdan on February 05, 2020, 02:39:30 AM

Experiment for yourself:

Original File
19.5s MP4 1080p60 (1171 frames) football action clip from camcorder, Copy/Copy cut with ADM. Camcorder says this is "50M"(bps) format. MediaInfo says that the video stream is 45.1Mbps:
....
All versions look OK to me as clips, but I suggest you single-step through frames, looking at the detail in the grass and halos around players. You can also try lower-bitrate versions.  When the frame content is busy, for example, shooting football in the rain, the falling raindrops get quite smeared/soft at low bitrates.


Dan.

Thank you Dan for your expert advices, but I must admit that you sometimes speak chinese for me  :o and I don't understand all of your explanations ...
I doubt that we can compare our both requirements  because your recent video example is in HD quality (1920x1080), whereas my original source of videos (~20years) comes from an old  video camrecorder (but numeric) Sony Digital8 DCR-TRV240E (https://www.sony.fr/electronics/support/res/manuals/3072/30726512M.pdf) in 720x576 pixels.
So I think I can't be so demanding ... The goal is to get a compressed video (between 1/5 and 1/30 from the AVI source file size) readable by everyone with the minimum of quality degradation (for naked eye).
Here is the characteristics of my AVI source video file gotten from DV :

General
Complete name                            : C:\Users\manu\Videos\AVI_Brut_5s.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
Commercial name                          : DVCAM
File size                                : 18.5 MiB
Duration                                 : 5 s 40 ms
Overall bit rate mode                    : Constant
Overall bit rate                         : 30.8 Mb/s

Video
ID                                       : 0
Format                                   : DV
Commercial name                          : DVCAM
Codec ID                                 : dvsd
Codec ID/Hint                            : Sony
Duration                                 : 5 s 40 ms
Bit rate mode                            : Constant
Bit rate                                 : 24.4 Mb/s
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS
Standard                                 : PAL
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Interlaced
Scan order                               : Bottom Field First
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 2.357
Time code of first frame                 : 00:00:00:00
Time code source                         : Subcode time code
Stream size                              : 17.3 MiB (93%)
Encoding settings                        : ae mode=full automatic / wb mode=automatic / white balance= / fcm=manual focus

Audio
ID                                       : 1
Format                                   : PCM
Format settings                          : Little / Signed
Codec ID                                 : 1
Duration                                 : 5 s 25 ms
Bit rate mode                            : Constant
Bit rate                                 : 1 536 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 kHz
Bit depth                                : 16 bits
Stream size                              : 942 KiB (5%)
Alignment                                : Aligned on interleaves
Interleave, duration                     : 20  ms (0.50 video frame)

eumagga0x2a

Quote from: joe.satriani on February 06, 2020, 07:28:05 PM
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS
[...]
Scan type                                : Interlaced
Scan order                               : Bottom Field First

N'oubliez pas de forcer le rapport d'aspect 4:3 dans la configuration du multiplexeur MP4 (parce que 720/576 = 1,25 != 4/3) et de définir "Order:" "Bottom field first" dans la configuration de Yadif svp.

dosdan

Quote from: joe.satriani on February 06, 2020, 07:28:05 PM
I doubt that we can compare our both requirements  because your recent video example is in HD quality (1920x1080), whereas my original source of videos (~20years) comes from an old  video camrecorder (but numeric) Sony Digital8 DCR-TRV240E

Sorry, I saw Reply#3 and was replying to it. I had not read the first msg.

Over the years I had 6 miniDV cams, ending up with 3x Panasonic GS400 3-CCD cams, with which I did of multi-cam recording of events. Progressive Full HD is so much better.  I've never used the miniDV cams since getting Panasonic v750 & v770 cams: Full HD, 50Mbps AVC in an  MP4 container, 50p or 60p which I switch between in the Service menu). Interlaced video was such a kludge!

Dan.

joe.satriani

Quote from: dosdan on February 07, 2020, 12:17:19 AM
Interlaced video was such a kludge!

Perhaps, but I suppose I have no choice (and I must leave with it), as the interlacing has been introduced by the cam itself during the recording, hasn't it ?

What do you suggest to reduce MP4 target file size while minimizing quality degradation of my 720x576  ? Which parameters do you advise to play with ?

joe.satriani

Quote from: eumagga0x2a on February 06, 2020, 09:22:58 PM
N'oubliez pas de forcer le rapport d'aspect 4:3 dans la configuration du multiplexeur MP4 (parce que 720/576 = 1,25 != 4/3) ...

Pour le ratio, je ne l'ai pas détecté immédiatement à l'oeil nu, mais en effet, par défaut, il "écrase" l'image ... Est-ce bien la config suivante (à la fois dans la config x264 ET dans le Muxer MP4) qui permet de retrouver exactement le même rapport dans le fichier MP4 compressé que dans le fichier d'origine AVI ?




Quote from: eumagga0x2a on February 06, 2020, 09:22:58 PM
... et de définir "Order:" "Bottom field first" dans la configuration de Yadif svp.

Tout à fait, j'avais prévu de le faire. De toute façon, à la compression, ça se voit tout de suite à l'oeil nu l'effet "peigne"si ce n'est pas désentrelacé ....

Par contre, pour le désentrelacement, est-il plus judicieux de jouer sur la configuration x264 (onglet "Frame") :


ou d'utiliser le filtre Yadif :

eumagga0x2a

Quote from: joe.satriani on February 10, 2020, 08:08:57 PM
Quote from: eumagga0x2a on February 06, 2020, 09:22:58 PM
... et de définir "Order:" "Bottom field first" dans la configuration de Yadif svp.

Par contre, pour le désentrelacement, est-il plus judicieux de jouer sur la configuration x264 (onglet "Frame") :

Non, pas du tout. Désélectionnez cette option SVP.

Quoteou d'utiliser le filtre Yadif :


Yadif, bien sûr, mais le réglage "order" sur la capture d'écran n'est pas correct.

...

La configuration du rapport est correcte, mais la configuration dans la config x264 est ignorée par la plupart des lecteurs vidéo.