Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/04/2014, à 08:48

obibann

ffmpeg : encodage au format dvd-pal et taille de la vidéo trop petite

Bonjour !

Je dispose d'une vidéo (en h264) que je souhaite encoder au format mpeg2 compatible DVD.
J'ai déjà encodé l'audio à part sans problème (ac3).

En ce qui concerne la vidéo, je suis confronté à un problème : la taille finale est plus petite que prévu, j'ai donc potentiellement perdu de la qualité.

Détail du calcul

La vidéo dure 1h42, soit 6120 secondes
La taille ciblée pour la vidéo est de 4Go (les 700Mo restant étant pour le flux audio et le menu).
Pour obtenir le débit moyen, j'ai donc effectué le calcul suivant : 4000000 / 6120 * 8
Ce qui me donne : 5229 Kb/s

Commande d'encodage

Voici les commandes utilisées pour mon encodage 2 passes :

THREADS=`grep -c processor /proc/cpuinfo`
FLAGS="-flags mv0 -mbd rd -cmp dct -precmp dct -subcmp dct -trellis 2 -dc 10"
ABR=448
VBR=$((9000-$ABR))
AVGVBR=5229

ffmpeg -y -threads $THREADS \
	-i "$1" \
	-target pal-dvd \
	-an \
	${FLAGS} -b ${AVGVBR}k -maxrate ${VBR}k \
	-pass 1 /dev/null && \
# PASS 2
ffmpeg -y -threads $THREADS \
	-i "$1"\
	-target pal-dvd \
	-an \
	${FLAGS} -b ${AVGVBR}k -maxrate ${VBR}k \
	-pass 2 "${VIDEOFILE}"

Problème

Le fichier vidéo généré ne fait que 2.9Go sad J'ai donc perdu 1Go qui m'aurait permis d'obtenir une meilleure qualité d'encodage.
J'ai donc du commettre des erreurs, auriez-vous des pistes ?

Merci

Dernière modification par obibann (Le 11/04/2014, à 09:03)


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#2 Le 11/04/2014, à 23:39

Gatsu

Re : ffmpeg : encodage au format dvd-pal et taille de la vidéo trop petite

Salut obibann,

Vérifie le quantizer pendant la conversion, il est noté q et varie entre 2 et 31, 2 étant la qualité maxi.
Je suppose que ton bitrate est trop haut et qu'il ne sera jamais atteint.

Hors ligne

#3 Le 12/04/2014, à 18:39

obibann

Re : ffmpeg : encodage au format dvd-pal et taille de la vidéo trop petite

En effet, il monte rarement au dessus de 5. Est-ce qu'il est possible de le diminuer en dessous de 2 afin de gratter un peu ? smile


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#4 Le 12/04/2014, à 21:11

Gatsu

Re : ffmpeg : encodage au format dvd-pal et taille de la vidéo trop petite

Non. Tu as déjà atteint la meilleure qualité permise par le codec mpeg2.

Si tu veux, tu peux te baser uniquement sur la qualité d'image (et non sur le bitrate) en remplaçant ton -b ${AVGVBR}k par -q:v 1, la commande sera acceptée par ffmpeg, mais il n'ira pas en dessous de 2.

Hors ligne

#5 Le 12/04/2014, à 23:13

obibann

Re : ffmpeg : encodage au format dvd-pal et taille de la vidéo trop petite

Non. Tu as déjà atteint la meilleure qualité permise par le codec mpeg2.

Dans ce cas c'est parfait, c'est le but recherché smile

Merci


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#6 Le 13/04/2014, à 15:43

obibann

Re : ffmpeg : encodage au format dvd-pal et taille de la vidéo trop petite

Dans les options que j'ai ajouté :

FLAGS="-flags mv0 -mbd rd -cmp dct -precmp dct -subcmp dct -trellis 2 -dc 10"

Lesquelles ont un impact uniquement sur la taille et non sur la qualité ?

Merci


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#7 Le 18/04/2014, à 16:13

Gatsu

Re : ffmpeg : encodage au format dvd-pal et taille de la vidéo trop petite

Re,

Les deux sont intimement liées. Il n'y a pas réellement d'option qui permette de jouer sur l'un sans toucher à l'autre. A part en changeant carrément de codec.

Par exemple, l'option trellis permet de dégrader un peu l'image pour la rendre plus compressible et donc de diminuer la taille du fichier. Paradoxalement, on s'en sert pour améliorer la qualité de la vidéo car le gain en taille de fichier est supérieur à la perte en qualité d'image, ce qui permet d'augmenter le bitrate et donc la qualité d'image (j'espère que c'est clair tongue).
En général on le laisse à 1 (option par défaut), avec trellis 2 l'image perd son grain et les détails sont plus flous.
> http://forum.doom9.org/showthread.php?t=132431
Tu peux essayer avec trellis 0, dans ton cas tu devrais en théorie obtenir une vidéo plus conforme à l'originale.

L'option -dc 10 (8 par défaut) permet de réduire l'effet de postérisation = réduire les dégradés tous moches sur les grands aplats de couleurs. L'effet direct est que ça augmente le bitrate et donc la taille du fichier. Problème : si tu veux un fichier moins gros, tu vas nécessairement réduire le bitrate et donc la qualité d'image va en prendre un coup. Tout ce que tu auras gagné en postérisation, tu vas le perdre en précision d'image.
> http://forum.doom9.org/showthread.php?p … post659818

EDIT:
D'une manière générale, si tu ne connais pas l'effet d'une option, il est préférable de la laisser par défaut. Les développeurs connaissent bien leur sujet et ont fait en sorte que le paramètre par défaut soit celui qui soit le plus efficace (en temps de compression, qualité d'image, taille de fichier, etc.)

Dernière modification par Gatsu (Le 18/04/2014, à 16:18)

Hors ligne