Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2438 connectés 

  FORUM HardWare.fr
  Video & Son
  Traitement Vidéo

  Encodage h264, question à propos du bitrate

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Encodage h264, question à propos du bitrate

n°1973434
zejoy
Posté le 27-05-2015 à 17:05:01  profilanswer
 

Bonjour à tous,
 
Je cherche à ripper des DVD (documentaires) sur mon disque dur et obtenir en sortie un fichier mp4 (720p) le plus léger possible tout en gardant un maximum de qualité.
J'ai effectué pas mal de recherche sur la question, à priori l'encodage h264 est celui qui donnera le meilleur rapport qualité/poids.
 
Ma question concerne le bitrate optimal lors de l'encodage h264 (j'utilise avs video converter).
Si j'ai bien compris il n'y aucun bitrate absolu, cela dépend du type de film qu'on rip (un film d'action avec beaucoup d'effet spéciaux nécessitera un bitrate plus haut qu'un film type documentaire afin de perdre un minimum de qualité)
 
D'après cette page, pour une vidéo en 720p le bitrate "moyen" serait de 2496 kbps.
Mais j'ai l'impression que pour un film type documentaire on pourrait encore largement le baisser et ainsi obtenir un fichier beaucoup plus léger sans perdre en qualité (ou très peu), je vois parfois des DVD d'action rippés avec un bitrate de 1500 kbps pour du 720p, qu'en dites vous ?
 
Doit-on calculer pour chaque DVD que l'on veut ripper un bitrate bien spécifique (si oui comment ?) ou existe t-il des bitrate de référence que l'on peut utiliser selon le type de film rippé ?
Quel bitrate utiliseriez-vous pour des films type documentaire ? (toujours avec encodage h264 et fichier de sortie en 720p) ?
 
Merci par avance pour vos pistes !
 
Bonne journée.

Message cité 1 fois
Message édité par zejoy le 27-05-2015 à 17:05:29
mood
Publicité
Posté le 27-05-2015 à 17:05:01  profilanswer
 

n°1973512
BlackShark
En 3D c'est mieux.
Posté le 28-05-2015 à 11:36:23  profilanswer
 

Il existe des études mesurant le rapport qualité/poids, je pense notamment aux comparatifs d'encodeurs de l'université de Moscou http://www.compression.ru/video/co [...] ex_en.html

 

Quelle que soit la métrique, le meilleur rappport qualité-poids est généralement situé dans une zone de qualité très basse : ton image c'est de la bouillie, mais vu que t'as utilisé très peu de données pour la décrire, ben c'est le meilleur rapport qualité/poids.
Pour tout ce qui est utilisation courante, on se trouve sur la partie descendante de la pente où l'amélioration de qualité notable se fait à grands frais de débits toujours plus élevés.

 

En connaissance de cette donnée, le choix du rapport qualité/poids devient totalement obsolète. Il te faut utiliser un autre critère pour déterminer ton débit, tu as deux choix possibles :
-le choix subjectif du niveau de qualité : tu fais des essais sur un petit extrait de ton film en mode qualité constante (CRF), quand tu as trouvé une valeur de qualité qui te plaît tu pourras l'appliquer sur tous tes films, et la taille du ficher sera ce qu'elle sera. C'est ce qui se fait le plus souvent pour garder chez soi ses archives ou ses quelques films préférés qu'on sait qu'on va regarder encore et encore...
-le choix technique lié à une contrainte de stockage ou de distribution : il fut une époque où les gens gravaient leurs films sur CD pour les lire sur une platine DivX dans leur salon, il fallait donc que le film tienne sur un CD-R 80Min/700Mo, donc on faisait en sorte que le film tienne en moins de 700Mo, avec quelques Mo de marge. Ou pour certaines séries, on mettait 2 épisodes par CD-R, donc on visait 350Mo. Ensuite ça a évolué avec le DVD-R 4.7Go où on visait entre 2 et 4 films par disque, selon qu'on utilise de la résolution SD ou HD etc...
La logique est rigoureusement la même avec les DVD commerciaux double-couche 8.5Go en MPEG2 et les BluRays 40-50Go en H264, on fait au plus haut possible tant que ça rentre dans le disque, les films courts ont en général une meilleure qualité que les films longs, sur certains films longs éditions spéciales ils coupent le film en 2 disques pour assurer une qualité maximale.

 

Aujourd'hui avec le dématérialisé et les disques durs du plusieurs To, la taille du fichier est obsolète, le critère limitant c'est le streaming par internet, on veut la plus haute qualité possible tout en s'assurant que la très grande majorité des utilisateurs puissent télécharger le film en même temps qu'ils le regardent, avec juste quelques secondes de marge. Vu que les gens ont des connexions internet très différentes (Vieil ADSL de campagne 512kbps jusqu'à la toute dernière fibre FTTH 1Gbps) on étudie les qualités de connexion internet des clients, on fait plusieurs versions du même film, on commence par essayer la version la plus haute qualité et on regarde si l'utilisateur arrive à télécharger arrive à télécharger la vidéo en temps réel. Si au bout de quelques secondes ça ne passe pas, on descend d'un cran jusqu'à trouver une version qui passe.

 

Les chiffres que tu as mentionné tiennent compte de ce facteur, ce sont des chiffres employés lorsqu'il n'y a qu'une seule version diffusable qui doit passer chez 90% + des utilisateurs, par exemple pour la TV par ADSL. Ce sont en général des niveaux de qualités moyens, ça passe sans problème pour la diffusion de contenu classique et jetables (journal, reportages TV, séries de l'après-midi, ou le film occasionnel), mais c'est clairement insuffisant pour une soirée cinéma de qualité. (l'image manque de détail et des artefacts de compression sont visibles dans l'image)
Par comparaison, le débit des films BluRays paraissent délirants, (20Mbps, 30Mbps pour les films 3D, avec des pointes temporaires possibles à 40Mbps). C'est fait exprès pour que les utilisateurs les plus éxigents soient satisfaits, et qu'il n'y ait aucun compromis.

 

A toi donc de voir quel est ton type d'exploitation du film.


Message édité par BlackShark le 28-05-2015 à 11:54:10
n°1973556
RickHunter​13
Ca marche pour moi
Posté le 28-05-2015 à 14:50:16  profilanswer
 

Le mieux est de compresser tes films en x264 pour la vidéo.
 
Pour x264, on ne parle plus de bitrate mais de CRF (Constant Rate Factor), en gros le bitrate varie en fonction de la qualité demandée (cette même qualité sera constante tout le long du film). Plus le CRF est bas, meilleure est la qualité mais plus haut est le bitrate et plus lente est la vitesse d'encodage.
 
Ensuite, tu choisis une vitesse d'encodage (de ultrafast à very slow, placebo étant inutile et très très lent). Plus la vitesse est lente, plus bas est le bitrate.
 
Pour du DVD en x264, je te conseillerai CRF 19 veryslow.
 
Par contre, tu parle de 720p, tu veux upscaler ton DVD?

n°1973566
zejoy
Posté le 28-05-2015 à 16:20:19  profilanswer
 

Bonjour à vous et merci pour vos réponses détaillées !
 
@BlackShark : Merci pour toutes ces précisions, pour faire simple je ne sais pas encore l'utilisation que j'aurai de ces DVDrip mais il est fort possible qu'un jour je les upload sur un site de streaming, c'est pourquoi je voulais que les fichiers soient les plus léger possible, mais en perdant le moins de qualité.
 
@RickHunter : Je n'avais jamais entendu parler de CRF je vais me renseigner merci :)
Upscaler un DVD j'imagine que ça signifie augmenter la taille (dimension de l'image) de la vidéo ? Si c'est le cas, je ne cherche pas forcément à le faire, tu me conseillerais de garder exactement les même dimensions que le DVD original ? (Par exemple j'en ai un en 720 x 576, j'ai pas l'impression que ce soit très standard comme dimensions c'est pourquoi j'avais upscal en 1280 × 720).
 
Dans tous les cas je vais chercher cette histoire de CRF dans AVS Video Converter ;)
 
Merci encore !
 

n°1973572
RickHunter​13
Ca marche pour moi
Posté le 28-05-2015 à 17:17:42  profilanswer
 

zejoy a écrit :

Bonjour à vous et merci pour vos réponses détaillées !
 
@BlackShark : Merci pour toutes ces précisions, pour faire simple je ne sais pas encore l'utilisation que j'aurai de ces DVDrip mais il est fort possible qu'un jour je les upload sur un site de streaming, c'est pourquoi je voulais que les fichiers soient les plus léger possible, mais en perdant le moins de qualité.
 
@RickHunter : Je n'avais jamais entendu parler de CRF je vais me renseigner merci :)
Upscaler un DVD j'imagine que ça signifie augmenter la taille (dimension de l'image) de la vidéo ? Si c'est le cas, je ne cherche pas forcément à le faire, tu me conseillerais de garder exactement les même dimensions que le DVD original ? (Par exemple j'en ai un en 720 x 576, j'ai pas l'impression que ce soit très standard comme dimensions c'est pourquoi j'avais upscal en 1280 × 720).
 
Dans tous les cas je vais chercher cette histoire de CRF dans AVS Video Converter ;)
 
Merci encore !
 


 
Vaut mieux garder la taille originale et enlever les bandes noires (crop) s'il y en a.
Tu laisses le diffuseur faire l'upscale.
 
Sinon, j'utilise plutôt Handbrake ou Avidemux  :o

n°1973606
zejoy
Posté le 28-05-2015 à 21:48:35  profilanswer
 

Je viens de tester avec Handbrake et les réglages que tu conseille :
Résolution : 720 x 576 (originale), CRF 19 veryslow
 
Pour enlever les bandes noires avec handbrake il suffit de régler le cropping en custom et tout mettre à 0 ?
C'est ce que j'ai essayé de faire et je m'en sort avec un fichier de 1,33 GO pour un DVD original de 4,35 GO (environ 1h30 a 2h d'encodage).
 
Ca me parait encore un peu lourd comme fichier, d'autant que je reprécise qu'il s'agit d'un documentaire, néanmoins le bon point c'est que ma vidéo de sortie n'a pas perdu en qualité par rapport au dvd original (j'ai fait le comparatif sur quelques images du film).
 
Par ailleurs, quelle différence y a t-il entre :
- Laisser la résolution originale et supprimer manuellement les bandes noires
- Définir dès le départ la résolution du fichier de sortie (genre 720p ou 1080p) ?

Message cité 1 fois
Message édité par zejoy le 28-05-2015 à 21:52:39
n°1973634
BlackShark
En 3D c'est mieux.
Posté le 29-05-2015 à 00:27:43  profilanswer
 

Si tu conserves la résolution originale, tu conserve le fichier au plus proche de l'original, et tu laisses le soin au diffuseur d'adapter l'image à l'écran final.
Si tu redimensionnes, déjà l'encodeur aura plus de pixels à traiter (encodage plus long, décodage qui prend légèrement plus de ressources, et une légère augmentation du bitrate / ou diminution de qualité si tu travailles à débit constant. Mais le plus important c'est que c'est toi qui prend la responsabilité de cet agrandissement, avec ton algorithme de redimensionnement, et à la résolution que tu as choisi. Si l'écran final a une résolution différente, il y aura un redimensionnement supplémentaire qui réduira légèrement la qualité de l'image.
 
En règle générale, il vaut mieux conserver la résolution originale et laisser le diffuseur faire le redimensionnement. La seule exception est si tu sais que le diffuseur n'est pas capable de redimensionner ou a un algorithme de redimensionnement mauvais.
 
En ce qui concerne un futur upload sur une plate-forme de streaming, aucune plate-forme grand public ne diffuse ton fichier tel quel, ils font systématiquement un réencodage avec les paramètres choisis par les gestionnaires du site de streaming.
Du coup l'idéal pour toi sera de leur envoyer le fichier en plus haute qualité possible afin que leur encodeur puisse partir d'une bonne source, et que le jour où est gestionnaires du site de streaming décident de débloquer un meilleur niveau de qualité, ils aient déjà le meilleur fichier dans leur base de donnée sans avoir à te demander à leur renvoyer le fichier.

n°1973657
RickHunter​13
Ca marche pour moi
Posté le 29-05-2015 à 10:42:49  profilanswer
 

zejoy a écrit :

Je viens de tester avec Handbrake et les réglages que tu conseille :
Résolution : 720 x 576 (originale), CRF 19 veryslow
 
Pour enlever les bandes noires avec handbrake il suffit de régler le cropping en custom et tout mettre à 0 ?
C'est ce que j'ai essayé de faire et je m'en sort avec un fichier de 1,33 GO pour un DVD original de 4,35 GO (environ 1h30 a 2h d'encodage).
 
Ca me parait encore un peu lourd comme fichier, d'autant que je reprécise qu'il s'agit d'un documentaire, néanmoins le bon point c'est que ma vidéo de sortie n'a pas perdu en qualité par rapport au dvd original (j'ai fait le comparatif sur quelques images du film).
 
Par ailleurs, quelle différence y a t-il entre :
- Laisser la résolution originale et supprimer manuellement les bandes noires
- Définir dès le départ la résolution du fichier de sortie (genre 720p ou 1080p) ?


 
Si tu trouves l'image très bonne mais le fichier trop lourd encore, augmente le CRF par pas de 1 jusqu'à ce que tu ne sois plus satisfait. En plus, le temps d'encodage diminuera  ;)  
 
Pour les bandes-noires, tu te mets soit en automatique et c'est le logiciel qui détermine le nombre de pixel à enlever de chaque côté, soit en custom et c'est toi qui rentre les chiffres (utilise le bouton preview pour voir ce que ça donne).
Le but d'enlever les bandes noires, c'est de gagner en bitrate puisqu'elles ne seront pas encodées.

n°1973663
BlackShark
En 3D c'est mieux.
Posté le 29-05-2015 à 11:58:22  profilanswer
 

Des bandes noires qui ne bougent pas pendant tout un film ça ne bouffe pas grand chose, l'impact sur le bitrate est négligeable.
Le vrai problème c'est que si tu ne connais pas le format de l'écran sur lequel ta vidéo sera affichée.
Il fut une époque où tous les écrans étaient en 4:3, du coup les émissions de TV, les cassettes VHS et la plupart des DVD ont des bandes noires intégrées, mais aujourd'hui tu as tout et n'importe quoi comme format d'écrans :
des écrans 4:3, 5:4, 16:10, 16:9, 21:9, des projecteurs cinémascope 2,35:1, des gens qui tournent leur écran verticalement au format portrait, des tablettes qui peuvent être tenues en paysage ou en portrait, etc...
A cela tu rajoutes que certaines vidéos sont affichées en plein-écran, d'autres sont affichées au milieu d'une page web avec de l'habillage autour, etc...

 

Les logiciels de lecture vidéo n'ont pas la moindre idée de ce qu'est une bande noire inutile, donc ils partent du principe que si ça fait partie de la vidéo, c'est important et ça doit être affiché.
Par exemple :
si ta vidéo était au format 16:9, que ton écran est 16:9 mais que tu as laissé les bandes noires 4:3 dans la vidéo, la vidéo ne sera pas affichée correctement, tu te retrouveras avec ta vidéo en petit au centre de l'image entourée d'un gros cadre noir.


Message édité par BlackShark le 29-05-2015 à 12:00:24
n°1973724
zejoy
Posté le 30-05-2015 à 00:26:49  profilanswer
 

Je suis en train de faire des test sur le même documentaire, à partir de rf 28 on commence à sentir une très légère perte de qualité difficilement perceptible, et encore, seulement sur certaines images (gros plans etc...). Avec ce RF je m'en sort avec un fichier mp4 de 667 MO ce qui est largement acceptable :)
 
En ce qui concerne les bandes noires je vais mettre en auto ça sera plus simple, néanmoins il y a quelques choses que je ne comprend pas avec ces bandes : Si on les enlève, ça signifie que l'image de la vidéo va être redimensionnée (agrandie en l’occurrence pour occuper le plein écran) et donc va perdre en qualité non ? Il me semblait que si on agrandissait une image non vectorisée elle perdait forcément en qualité...  
 
Donc "pour moi" qu'on redimensionne l'image dès le départ dans le logiciel d'encodage ou qu'on le fasse en supprimant les bandes noires, dans tous les cas on agrandi une image pixelisée donc perte de qualité non ?
 
En tout cas je commence à comprendre comment tout ça fonctionne merci encore à vous deux, good night ! ;)

mood
Publicité
Posté le 30-05-2015 à 00:26:49  profilanswer
 

n°1973775
arnuche
Posté le 30-05-2015 à 21:04:38  profilanswer
 

Si tu veux une réso standard, garde les bandes noires, elles prennent très peu de place. Surtout que si tu croppes mal une source entrelacée, ça peut créer un souci d'ordre des champs pairs et impairs.

n°1973789
BlackShark
En 3D c'est mieux.
Posté le 31-05-2015 à 00:23:11  profilanswer
 

Quand tu retires les bandes noires avec l'option de découpage (crop), les pixels restants ne changent pas de place et ne sont pas étirés. La résolution totale de la vidéo change vu que tu as enlevé des lignes, mais il n'y a pas de redimensionnement.

 

Tout redimensionnement entraîne une perte de qualité -> c'est un raccourci mais l'idée y est. (il y a perte d'information, mais pour la qualité visuelle c'est autre chose parce que c'est subjectif)
Vu qu'on n'utilise plus d'écrans cathodiques SD, si tu conserves le fichier à se résolution originale, il y aura toujours au minimum un redimensionnement avec ton fichier.

 

Si tu le redimensionnes, tu crées d'office une perte dans le fichier, et si la résolution que tu as choisi ne correspond pas à l'écran du spectateur (ça arrivera de plus en plus souvent), il y aura un deuxième redimensionnement qui entraînera donc une deuxième perte.

Message cité 1 fois
Message édité par BlackShark le 31-05-2015 à 00:33:34
n°1973795
arnuche
Posté le 31-05-2015 à 04:19:34  profilanswer
 

BlackShark a écrit :

Quand tu retires les bandes noires avec l'option de découpage (crop), les pixels restants ne changent pas de place et ne sont pas étirés. La résolution totale de la vidéo change vu que tu as enlevé des lignes, mais il n'y a pas de redimensionnement.


Je sais, mais ce n'est pas à ça que je faisais allusion, je parle de TFF et de BFF. Si tu retires un nombre impair de lignes en haut et impair en bas, tu peux avoir des soucis, même si le nombre restant de lignes est pair. Pour tout ce qui est crop et ajout de bandes noires, j'utilise avisynth qui me permet de vérifier ce qui se passe à chaque étape.

n°1981645
sebnutt
Un petit rien du tout
Posté le 04-08-2015 à 12:20:37  profilanswer
 

salut,
 
Tu peux aussi augmenter le CRF (jusqu'à 22) et compenser la perte de qualité, qui se voit principalement sous la forme de macro-blocks dans les scènes sombres, en désactivant me mbtree dans les options d'encodage.

n°1984127
leon1789
Posté le 22-08-2015 à 16:55:40  profilanswer
 

Bonjour
 

zejoy a écrit :

un film d'action avec beaucoup d'effet spéciaux nécessitera un bitrate plus haut qu'un film type documentaire afin de perdre un minimum de qualité


Ce n'est pas du tout évident pour un documentaire sur la nature (par exemple) : le feuillage des arbres, les reflets de l'eau naturelle, etc, sont très coûteux en débit !!
 

zejoy a écrit :

D'après cette page, pour une vidéo en 720p le bitrate "moyen" serait de 2496 kbps.
Mais j'ai l'impression que pour un film type documentaire on pourrait encore largement le baisser et ainsi obtenir un fichier beaucoup plus léger sans perdre en qualité (ou très peu), je vois parfois des DVD d'action rippés avec un bitrate de 1500 kbps pour du 720p, qu'en dites vous ?


Je trouve absurde de considérer un bitrate moyen pour toutes les vidéos de xxx kbps. Les vidéos présentent une telle variété de complexité...
 
En résolution SD, on peut faire une première passe avec --crf 20 pour obtenir une vidéo avec une qualité correcte.
De plus, en prévision lors de cette passe, on peut ajouter les paramètres --pass 1 --slow-firstpass : cela ne ralentit pas la compression en mode CRF mais cela permettra de relancer (si on en juge la nécessité !) une seconde passe avec un débit moyen fixé, par exemple -B 1500
 
En résumé :  
première passe : x264 --crf 20 --pass 1 --slow-firstpass
passe supplémentaire (si nécessaire) : x264 -B 1500 --pass 3

Message cité 1 fois
Message édité par leon1789 le 22-08-2015 à 18:20:30
n°1984128
leon1789
Posté le 22-08-2015 à 17:37:06  profilanswer
 

sebnutt a écrit :

Tu peux aussi augmenter le CRF (jusqu'à 22) et compenser la perte de qualité, qui se voit principalement sous la forme de macro-blocks dans les scènes sombres, en désactivant me mbtree dans les options d'encodage.


D'après ce que je vois :
en mode CRF, désactiver le mbtree entraîne une augmentation du débit vidéo (possiblement 20% d'augmentation, voire davantage) ;
en mode ABR, désactiver le mbtree entraîne une qualité globalement diminuée (disons -0.5 au PSNR par exemple, voire davantage).
Ce serait dommage de désactiver mbtree...

n°1984129
arnuche
Posté le 22-08-2015 à 17:54:26  profilanswer
 

leon1789 a écrit :

En résolution SD, on peut faire une première passe avec --crf 20 pour obtenir une vidéo avec une qualité correcte.
De plus, en prévision lors de cette passe, on peut ajouter les paramètres --pass 1 --slow-firstpass : cela ne ralentit pas la compression en mode CRF mais cela permettra de relancer (si on en juge la nécessité !) une seconde passe avec un débit moyen fixé, par exemple -B 1500


Et comment en juger la nécessité ? D'ailleurs en CRF l'encodage se fait en 1 passe, donc tu fais comment pour lancer une 2ème passe alors que la 1ère est censée avoir déjà fait l'encodage ?

n°1984134
leon1789
Posté le 22-08-2015 à 18:19:32  profilanswer
 

arnuche a écrit :

Et comment en juger la nécessité ?


Par exemple, en constatant que le débit moyen est trop élevé (c'était le cas de zejoy et de sa compression), ou que la qualité n'est pas assez bonne, etc.
 
Ce que j'ai pratiqué quand je gravais sur CD : une première passe crf à qualité fixée, puis constatant la taille du fichier résultant et je relançais une seconde passe pour remplir 1 CD ou 2 CD. Précisément, pour une première passe donnant un fichier de taille inférieure à 1000 Mo, je faisais une seconde passe en précisant la taille d' 1 CD ;  pour une première passe donnant un fichier supérieur à 1000 Mo, je faisais une seconde passe en précisant la taille d' 2 CD. Je ne décidais rien avant la fin de la première passe.
 

arnuche a écrit :

D'ailleurs en CRF l'encodage se fait en 1 passe, donc tu fais comment pour lancer une 2ème passe alors que la 1ère est censée avoir déjà fait l'encodage ?


Exact, l'encodage en mode CRF se fait en une passe. Mais grâce aux paramètres --pass 1 --slow-firstpass que l'on ajoute à --crf , le codec crée non seulement une vidéo compressée, mais aussi un fichier de statistiques qui permet de poursuivre avec une seconde passe.  
Lors de l'éventuelle seconde passe, où cette fois un débit est précisé, le codec tient compte de ce fichier de statistiques pour caler le débit moyen comme demandé. A chaque passe, une vidéo est créée.


Message édité par leon1789 le 22-08-2015 à 18:24:45
n°1984136
leon1789
Posté le 22-08-2015 à 18:41:15  profilanswer
 

La même idée est réalisable avec une première passe en mode constant quantizer : x264 -q 20 --pass 1 --slow-firstpass
Mais pour les éventuelles passes suivantes, il faudra absolument désactiver le mbtree (ce qui fera plaisir à sebnutt ;) ) : x264 -B 1500 --pass 3 --no-mbtree
Malheureusement, le mbtree étant désactivé, le respect du débit moyen sera moindre... (mais on pourra faire une troisième passe pour s'en rapprocher encore).


Message édité par leon1789 le 22-08-2015 à 18:46:20
n°1984142
arnuche
Posté le 22-08-2015 à 19:31:46  profilanswer
 

Ok, voilà qui complique un peu les choses (genre c'était trop simple  :pt1cable: ). Je pensais que ta méthode consistait à ne pas créer de vidéo mais juste un fichier d'analyse, d'où le fait que je ne comprenais pas comment juger de la qualité obtenue via cette première passe.
C'est quand-même un peu une perte de temps puisqu'il faut encoder une 1ère fois avec le risque de ne pas garder cet encodage. Il est sans doute plus simple de faire un encodage en 2 passes classique en précisant un débit qu'on aura calculé en fonction de la taille dont on a besoin.

n°1984151
leon1789
Posté le 22-08-2015 à 20:32:55  profilanswer
 

Je ne vois pas ce que cela complique : c'est exactement la même chose qu'un encodage 2-passes classique qui crée lui aussi un fichier de statistiques. Sauf que l'encodage classique ne crée pas de vidéo en première passe (ce qui rend la seconde passe obligatoire). Faire un encodage 2-passes classique demande à connaître un débit avant de lancer l'encodage : or, on ne sait pas forcément ce que l'on veut avant... C'est d'ailleurs souvent la question que posent les gens << Quel débit dois-je mettre ?! >>. Alors comment faire ?
 
En ce moment, j'encode toujours en --crf 20 car le niveau de qualité me convient... Quand le débit final dépasse les 2000 kbs, je poursuis avec une seconde passe en précisant cette fois le débit moyen -B 2000.  
Certes, avec cette technique, je risque de perdre du temps par rapport à un encodage 2-passes habituel, mais comment puis-je faire plus rapidement ? Pourquoi ferais-je un encodage 2-passes classique en précisant dès le début de la première passe le débit -B 2000 alors qu'il est fort probable que ce débit soit bien trop élevé pour la qualité qui me convient ?  
 
Certaines personnes comptent le temps passé à encoder (quoique, on voit souvent le preset slower, voire veryslow qui perd de temps pour pas grand chose !) et ne comptent pas les octets de leur  
fichier vidéo final. A l'opposé, pour moi, c'est le contraire : j'accepte le risque de perdre parfois un peu de temps en complétant la première passe crf avec une seconde passe, mais il en résultera un fichier vidéo de taille raisonnable à mes yeux (et souvent la seule passe crf sera suffisante, ce qui gagnera du temps !).  
 
Disons qu'un encodage en 1 passe est bien plus rapide qu'un encodage en 2 passes (cela, ce n'est pas un risque, c'est vrai à coup sûr !), et qu'un encodage crf est de même qualité qu'un 2-passes de même débit (idem). Après une première passe crf, si le débit convient, alors on n'a pas besoin de faire de seconde passe.

Message cité 1 fois
Message édité par leon1789 le 22-08-2015 à 20:42:00
n°1984181
arnuche
Posté le 23-08-2015 à 10:33:53  profilanswer
 

leon1789 a écrit :

Je ne vois pas ce que cela complique : c'est exactement la même chose qu'un encodage 2-passes classique qui crée lui aussi un fichier de statistiques. Sauf que l'encodage classique ne crée pas de vidéo en première passe


Ça fait 2 encodages au lieu d'un, c'est une perte de temps et d'électricité. :p  
 

leon1789 a écrit :

En ce moment, j'encode toujours en --crf 20 car le niveau de qualité me convient... Quand le débit final dépasse les 2000 kbs, je poursuis avec une seconde passe en précisant cette fois le débit moyen -B 2000.  
Certes, avec cette technique, je risque de perdre du temps par rapport à un encodage 2-passes habituel, mais comment puis-je faire plus rapidement ? Pourquoi ferais-je un encodage 2-passes classique en précisant dès le début de la première passe le débit -B 2000 alors qu'il est fort probable que ce débit soit bien trop élevé pour la qualité qui me convient ?


Et ta technique te permet de baisser le débit de combien de kbps au final ? Parce que si c'est pour passer de 2000 à 1900, c'est beaucoup de chipotage pour pas grand chose.
De plus, ton expérience devrait te permettre de savoir quel CRF te convient. Ou alors tu testes avec un extrait d'une minute, ça devrait suffire à estimer la qualité qu'il te faut.

n°1984211
leon1789
Posté le 23-08-2015 à 17:58:55  profilanswer
 

arnuche a écrit :

Ça fait 2 encodages au lieu d'un, c'est une perte de temps et d'électricité. :p


Justement, ce que je propose, c'est de faire 1 encodage d'une passe, et éventuellement une seconde passe pour un second encodage.  
Pour savoir combien on gagne ou perd de temps, prenons les temps de calcul sur un petit exemple (mais qui suffit).
 
Encodage 2-passes habituel :  
première passe (pas de vidéo) : 60 secondes
seconde passe : 87 secondes
total : 147 secondes
 
Encodage commençant par le mode crf :  
première passe : 100 secondes
seconde passe (éventuelle) : 87 secondes
total : 100 (si la première passe suffit) ou 187 secondes (sinon)
 
Par rapport à un encodage 2-passes classique, soit la première passe est satisfaisante et on gagne 32% de temps (100 vs 147), soit on relance une seconde passe et on perd 27% de temps (187 vs 147).  
 

arnuche a écrit :


Et ta technique te permet de baisser le débit de combien de kbps au final ? Parce que si c'est pour passer de 2000 à 1900, c'est beaucoup de chipotage pour pas grand chose.


Lors de la seconde passe, on peut passer à n'importe quel débit (inférieur ou supérieur), le codec s'en charge très bien à l'aide du fichier de statistiques. D'un premier encodage crf produisant une vidéo compressée à 3000 kbps, on peut exécuter une seconde passe à débit moyen demandé à 2000 ou 4000. Evidemment la qualité va varier d'autant, il n'y a pas de miracle.
 

arnuche a écrit :

De plus, ton expérience devrait te permettre de savoir quel CRF te convient. Ou alors tu testes avec un extrait d'une minute, ça devrait suffire à estimer la qualité qu'il te faut.


Oui, je sais quelle valeur de crf me convient en général, c'est pour cela que je lance en premier une passe crf, qui sera suffisante en général. Mais j'ai parfois des surprises, et dans ces cas là, hop, seconde passe à débit fixé, plus rapide que si je lançais un second encodage crf avec une autre valeur, comme cela a été proposé par RickHunter13 dans la discussion au-dessus :

RickHunter13 a écrit :

Si tu trouves l'image très bonne mais le fichier trop lourd encore, augmente le CRF par pas de 1 jusqu'à ce que tu ne sois plus satisfait. En plus, le temps d'encodage diminuera  ;)


Bonjour la perte de temps puisqu'il a fallu passer de crf 19 à crf 28 : cela fait 10 encodages ;)
 
Cela dit, faire un test contenant 5% de la vidéo d'origine, en piochant un peu partout, est également intéressant : mais ça, c'est déjà nettement moins simple à réaliser.

Message cité 1 fois
Message édité par leon1789 le 23-08-2015 à 19:24:37
n°1984241
arnuche
Posté le 23-08-2015 à 21:48:50  profilanswer
 

leon1789 a écrit :


Justement, ce que je propose, c'est de faire 1 encodage d'une passe, et éventuellement une seconde passe pour un second encodage.  
Pour savoir combien on gagne ou perd de temps, prenons les temps de calcul sur un petit exemple (mais qui suffit).
 
Encodage 2-passes habituel :  
première passe (pas de vidéo) : 60 secondes
seconde passe : 87 secondes
total : 147 secondes
 
Encodage commençant par le mode crf :  
première passe : 100 secondes
seconde passe (éventuelle) : 87 secondes
total : 100 (si la première passe suffit) ou 187 secondes (sinon)
 
Par rapport à un encodage 2-passes classique, soit la première passe est satisfaisante et on gagne 32% de temps (100 vs 147), soit on relance une seconde passe et on perd 27% de temps (187 vs 147).


C'est une manière particulière de présenter les choses parce qu'on peut aussi dire que tu augmentes la durée de 87 % par rapport à un encodage CRF classique (187 secondes au lieu de 100). :p  

n°1984245
leon1789
Posté le 23-08-2015 à 22:10:05  profilanswer
 

Par rapport à un encodage crf classique, j'augmente de 87% le temps de calcul lorsque cet encodage crf ne convient pas (c'est loin d'être systématique, et je préfère augmenter le temps de 87% plutôt que de garder un résultat qui ne convient pas pour telle ou telle raison). La seconde passe n'est en rien obligatoire : si on ne veut pas faire de seconde passe, pas de problème, on obtient  exactement le même résultat (en temps de calcul et en résultat vidéo) qu'un encodage crf classique.  
 
Bref, pour ceux qui ont l'habitude de faire des encodages en mode --crf , autant ajouter --pass 1 --slow-firstpass qui ne pénalise en rien et qui laisse la possibilité (non pas l'obligation) de faire une seconde passe (un peu plus rapide) en précisant un bitrate moyen, au cas où... Je pense que cela aurait été utile pour zejoy.


Message édité par leon1789 le 23-08-2015 à 22:12:40
n°1984290
arnuche
Posté le 24-08-2015 à 10:21:53  profilanswer
 

Et dans le cas où le débit serait trop élevé, comment le savoir ? Comment être sûr que si on baisse le débit, la vidéo ne va pas présenter des artefacts ?
 
Et on fait comment pour lancer un encodage CRF qui utilise un fichier de statistiques précédemment créé ?

n°1984303
leon1789
Posté le 24-08-2015 à 11:25:08  profilanswer
 

arnuche a écrit :

Et dans le cas où le débit serait trop élevé, comment le savoir ?


A chacun de voir quelle taille maximale de fichier il daigne bien vouloir accorder : certaines personnes n'ont aucune contrainte particulière, d'autres gravent sur CD ou DVD, d'autres en ont marre de voir des fichiers de plus de 2 GO sur leur disque dur, etc. :)
 

arnuche a écrit :

Comment être sûr que si on baisse le débit, la vidéo ne va pas présenter des artefacts ?


On ne peut pas être sûr, ce serait trop beau.  
On est même certain qu'à débit moindre, qualité moindre. Après, est-ce que cela sera visible ? Ca dépendra...
 

arnuche a écrit :

Et on fait comment pour lancer un encodage CRF qui utilise un fichier de statistiques précédemment créé ?


Un encodage crf peut créer un fichier de statistiques, mais ne peut pas l'utiliser (à ma connaissance) : seul un encodage à débit moyen précisé peut l'utiliser (-- pass 2), voire le modifier (--pass 3)


Message édité par leon1789 le 24-08-2015 à 11:25:52
n°1984385
arnuche
Posté le 24-08-2015 à 17:05:58  profilanswer
 

Ok, mais tu fais comment pour choisir le fichier de statistiques (qui vient de l'encodage en CRF) lors de la 2ème passe ?

n°1984398
leon1789
Posté le 24-08-2015 à 18:08:05  profilanswer
 

Pour cela :
 
1ère possibilité : à la première passe, on ne précise pas de nom pour le fichier stats, par exemple
x264 --crf 20 --pass 1 --slow-firstpass -o output.264 input...
 
alors le codec crée un fichier dans le répertoire de travail avec un nom par défaut (à savoir x264_2pass.log , et aussi x264_2pass.log.mbtree si on a activé le mbtree)  
 
Dans ce cas, si on fait une seconde passe, on ne précise toujours rien, par exemple
x264 -B 1000 --pass 3 -o output2.264 input...
 
alors le codec va chercher le(s) fichier(s) avec le nom par défaut.
 
2ème possibilité : à la première passe, on précise un nom pour le fichier stats (ici toto.log), par exemple
x264 --crf 20 --pass 1 --slow-firstpass --stats "toto.log" -o output.264 input...
 
alors le codec crée dans le répertoire de travail un fichier avec le nom précisé (et aussi le fichier toto.log.mbtree si on a activé le mbtree)  
 
Dans ce cas, si on fait une seconde passe, on précise encore une fois le nom du fichier, par exemple
x264 -B 1000 --pass 3 --stats "toto.log" -o output.264 input...
 
alors le codec va chercher le(s) fichier(s) avec ce nom précisé.


Message édité par leon1789 le 24-08-2015 à 18:10:42
n°1984404
arnuche
Posté le 24-08-2015 à 18:34:20  profilanswer
 

Ok merci ;)

n°1984438
leon1789
Posté le 24-08-2015 à 23:00:26  profilanswer
 

de rien :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Video & Son
  Traitement Vidéo

  Encodage h264, question à propos du bitrate

 

Sujets relatifs
Question dégradation ré encodage ac3Besoin d'aide - casque HyperX Cloud II où autre ?
Question stupide câbles RCAVideoPad, question
Creative Gigaworks T3 et recyclage - question connectiqueConfiguration ALL2LAME/Audacity LAME et encodage FLAC>MP3 V0
Question démodulateur AstraDVDFab Mac - Encodage H265 très très lent !
[premiere pro] probleme encodage a l'exportation 
Plus de sujets relatifs à : Encodage h264, question à propos du bitrate


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR