web-dev-qa-db-fra.com

Description du paramètre Avconv -g

Ceci est la description officielle du paramètre:

‘-g[:stream_specifier] integer (output,video)’
set the group of picture (GOP) size

Pas très informatif, je dirais.

Quelqu'un peut-il expliquer ce qu'il fait réellement et quelle est la valeur optimale?

Et de quoi dépend moov atom size?

2
Somebody

GOP:

La qualité vidéo et le taux de compression dépendent de la structure Groupe d'images (GOP). La structure GOP affecte également la sensibilité à la distorsion du flux vidéo en raison des pertes de paquets.

L'augmentation de la durée du GOP augmente également la qualité vidéo. Mais après avoir atteint le plus haut PSNR (rapport signal/bruit maximum), il commence à diminuer. Dans la première période croissante, le codage efficace joue un rôle majeur, donc des longueurs de GOP plus élevées conduisent à une meilleure qualité. Après l'optimisation des paramètres GOP, lorsque la qualité vidéo est la plus élevée, l'effet de propagation d'erreur devient plus important. Par conséquent, en utilisant des intervalles Intra frame (I-frame ou Key frame) plus élevés, l'erreur se propagera en raison d'une distorsion importante.Source

Chaque type de vidéo a un GOP optimal différent, dépend de sa caractéristique.


Image clé et animation:

Vidéos ou images animées - nous ne faisons que tromper nos esprits; ce sont juste des images fixes affichées à une succession rapide! Et l'illusion s'améliore et devient plus fluide si la prochaine image apparaît à/avant 1/25e d'une seconde qui est l'intervalle de temps de persistance après image de l'oeil humain et la raison de perception du mouvement .

Illustration 1: (source: Wikipedia)

keyFrame

Fig: Une séquence d'images vidéo, composée de deux images clés (I), une image prédite vers l'avant (P) et une image prédite bidirectionnelle (B).

(Vous pouvez noter que, dans l'image ci-dessus, la valeur de GOP, -g est 3, une image clé avec deux images supplémentaires.)

Illustration 2: (source: Wikipedia)

animation

Fig: Une animation très simple créée par key-framing. L'animation manque de fluidité car chaque image est complètement indépendante de toute autre image.


Q. Les images clés ne suffisent-elles pas? Pourquoi aurions-nous besoin d'avoir les images complémentaires/intermédiaires P-frames, B-frames?

A. Oui ... mais l'utilisation de telles images intermédiaires permet de réduire la taille globale du fichier (vidéo).


Pour meilleure qualité vidéo/streaming, vous devriez utiliser un taux de compression faible mais une fréquence d'images élevée, ce qui signifie -g valeur avec avconv (la valeur GOP optimale est près de la moitié de la valeur frames/sec). Comme il est évident, la valeur de -g devra être spécifié en fonction des codeurs, taux de compression, fréquences d'images que vous utilisez à des fins de transcodage/streaming; c'est une quantité relative donc il n'y a pas de valeur générale que vous pouvez utiliser avec toutes les entrées.

Selon ce lien la valeur de GOP pour la plupart des médias serait environ la moitié de la valeur de la fréquence d'images de sorte que l'image clé soit d'environ 0.5 secondes à part et produirait une vidéo de bonne qualité. Nous pouvons également noter que autre lien montre que le PSNR atteint une valeur constante à environ la moitié du taux de trame de test comme indiqué dans le graphique.

snap1

Mais la valeur optimale semble résider 1/6e à 1/4e la fréquence d'images de test.

Et oui, vous devriez donc chercher à utiliser -g valeur autour ou dans la plage 1/6e à 1/4e pour que les images clés apparaissent tous les 0.17 à 0.25 secondes; et probablement commenter pour améliorer la réponse :)


Les références:

4
precise

Vous avez plusieurs exemples d'utilisation sur le documentation officielle avconv .

De Conseils de section :

avconv -g 3 -r 3 -t 10 -b 50k -s qcif -f rv10 /tmp/b.rm

Si votre ordinateur n'est pas assez rapide, vous pouvez accélérer la compression au détriment du taux de compression. Vous pouvez utiliser ’-me zéro’ pour accélérer l’estimation de mouvement et ’-g 0’ pour désactiver complètement l’estimation de mouvement (vous n’avez que des images I, ce qui signifie qu’elle est à peu près aussi bonne que la compression JPEG).

1
landroni