#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 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 ?
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é
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 ).
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