Encodage

Cette rubrique répond aux questions de base sur l'encodage vidéo.

Encodage des questions

Quels paramètres dois-je utiliser ?

Commencez par les valeurs par défaut. Nous avons beaucoup réfléchi à nos paramètres par défaut, donc vous serez probablement OK si vous vous en tenez à proximité.

Généralement, vous souhaitez ajuster les paramètres suivants.

Choisir le bon codecs pour votre application cible. Tous nos codecs jouent sur le web, mais H.264 a la plus grande compatibilité et la meilleure qualité. Si c'est ce que vous cherchez, utilisez H.264 + AAC (ou peut-être MP3). Pour le moment, c'est aussi votre meilleur pari pour la compatibilité des appareils mobiles. Si tu veux quelque chose sans problèmes de licence VP8 + Vorbis est plutôt bon (bien que nouveau), et Theora + Vorbis est une option plus établie.

Déterminer un résolution cible , une stratégie pour ratio d'aspect conversion, et si vous souhaitez ou non mettre à l'échelle des vidéos plus petites que votre cible. (Il est souvent judicieux de laisser des vidéos plus petites et de les mettre à l'échelle au sein de votre lecteur. Cela vous permet d'économiser des kilobits et de la bande passante.)

Après cela, choisissez un bitrate vidéo. Le débit binaire est le facteur le plus important pour déterminer la qualité d'une vidéo. Nous vous recommandons de définir un objectif qualité plutôt qu'un débit binaire, car il n'est pas efficace d'appliquer le même débit binaire à des vidéos de tailles / formes / contenus différents. Choisissez un paramètre de qualité basé sur le compromis qualité/taille : la qualité 3 semble assez bonne (meilleure que la plupart des vidéos web), la qualité 4 est superbe et la qualité 5 est presque sans perte. Choisissez la qualité 2 si vous voulez une vidéo décente dans un petit débit binaire, et la qualité 1 pour les situations de faible bande passante. La qualité audio mérite également d'être prise en compte ; la qualité 2-3 est généralement assez bonne et tenez compte de la qualité 4 si la fidélité de la musique ou de la bande sonore est importante.

Au-delà de cela, d'autres paramètres sont vraiment facultatifs. Vous pouvez probablement ignorer la plupart d'entre eux, et certains d'entre eux pourraient même nuire à la qualité de votre vidéo. Par exemple, forcer la vidéo à une fréquence d'images différente peut rendre la vidéo saccadée, et le réglage manuel de la fréquence d'échantillonnage audio peut provoquer des erreurs de codage.

Voir nos Documents sur l'API pour plus.

Comment obtenir la meilleure qualité ?

Bien sûr, il n'y a pas de « meilleur ». Il y a des compromis, et des choix meilleurs et pires, mais il n'y a pas d'ensemble parfait de paramètres d'encodage. Avertissement de fin.

La première étape pour obtenir des vidéos de sortie de haute qualité est d'avoir des vidéos d'entrée de haute qualité. Si possible, envoyez nous des vidéos de bonne qualité de la même taille, ou plus grande que la sortie souhaitée, et avec une qualité supérieure à ce que vous pensez avoir besoin. (Bien sûr, si vous avez affaire à UGC, ce n'est pas toujours à vous de voir.)

Deuxièmement, ne lésinez pas sur la taille du fichier. Le débit binaire est beaucoup plus important pour la qualité vidéo que toute autre chose. Si vous demandez une vidéo 1080p à 300kbps, il va probablement sembler mauvais peu importe les autres options que vous choisissez. Si la qualité est une priorité, définir la qualité vidéo à 4 est généralement un bon pari. La qualité audio 3 semble assez bonne, mais 4 est encore mieux.

Troisièmement, si vous utilisez H.264, essayez d'utiliser le profil principal ou Haut. Ceux-ci sont un peu plus gourmands en CPU, mais aboutissent à une vidéo de beaucoup meilleure qualité. Mais ils ne fonctionneront pas sur un iPhone.

Quatrièmement, il y a quelques paramètres avancés que vous pouvez essayer. Si votre entrée est fortement compressée et bloquée, vous pouvez utiliser notre filtre Deblock. Si vous voulez presser 5 à 10 % de qualité supérieure au même débit binaire, essayez de définir Denoise sur « faible » ou « moyen ».

Cinquièmement, ralentir l'encodage. Réglez la vitesse sur 1 ou 2, ce qui permettra à notre encodeur d'appliquer quelques optimisations psycho-visuelles que nous n'appliquons pas sur un encodage plus rapide.

Souvenez-vous juste que ce sont des compromis. Notre codage par défaut, sans paramètres supplémentaires, semble assez bon. En fin de compte, vous faites des compromis entre la qualité visuelle, la vitesse d'encodage et la taille du fichier.

Zencoder peut-il encoder des fichiers audio uniquement ?

Oui. Nous pouvons convertir des fichiers audio en MP3, AAC ou Vorbis. Nous pouvons également exporter l'audio à partir de fichiers vidéo.

Je vais soumettre beaucoup de travaux, est-ce que Zencoder peut le gérer ? Devrais-je vous le dire avant de commencer ?

Zencoder peut certainement le gérer. Sauf si vous allez courir dans notre Limite de débit API sur 1000 demandes de création d'emplois par minute, vous ne devriez pas avoir besoin de nous avertir avant de soumettre vos travaux.

En fait, nous sommes plus préoccupés par le fait que nous risquons de submerger vos serveurs si vous envoyez un très grand volume de tâches. Le seul délai que vous devriez voir de Zencoder sera le temps nécessaire pour mettre en ligne les serveurs d'encodage nécessaires pour gérer vos tâches si le volume dépasse notre capacité actuelle. Si cela se produit, il ne faut pas plus de quelques minutes à partir de votre demande initiale avant que la capacité supplémentaire soit disponible. Après cela, les plus grandes préoccupations seront la façon dont vos serveurs peuvent gérer le trafic de Zencoder. Si ce retard initial a un impact sur votre transcodage, contactez-nous avant de commencer à soumettre des serveurs afin que nous puissions mettre en ligne d'autres serveurs en ligne en prévision.

Problèmes de transfert de fichiers à considérer

Si vous utilisez S3 pour les destinations d'entrée et de sortie, vous devriez être prêt à partir, car ils peuvent gérer un volume de transfert important, en particulier dans le même Région.

Si vous utilisez des serveurs FTP, vous pouvez limiter certaines tâches et les exécuter par lots de 50 à 500, en fonction de la capacité de vos serveurs. Nous avons eu des expériences avec un volume de travail important qui a complètement écrasé les serveurs FTP et provoquant l'échec des travaux puisque nous ne pouvons pas accéder aux fichiers.

Assurez-vous de tenir compte de la bande passante nécessaire si les fichiers de sortie vont au même serveur que les fichiers d'entrée. Le téléchargement peut fonctionner correctement sur le premier lot de travaux, mais commence à souffrir une fois que le téléchargement des sorties commence.

Problèmes de notification à prendre en considération

Si vous utilisez des notifications, la même préoccupation s'applique. Votre serveur sera-t-il en mesure de gérer (potentiellement) des centaines de POST de Zencoder en succession rapide ?

C'est un peu moins préoccupant, car nous allons réessayer les notifications ayant échoué jusqu'à 25 fois, et les fichiers auront déjà été téléchargés. Toutefois, si vos vidéos se trouvent sur le même serveur, ou si elles sont téléchargées sur le même serveur, qui reçoit des notifications, cela peut entraîner l'échec des tâches successives si le serveur est submergé.

La meilleure façon d'éviter la surcharge de notification sur votre serveur est de répondre avec succès à Zencoder le plus rapidement possible lorsque la notification arrive. Nous vous recommandons d'effectuer tout traitement du corps de la notification en dehors de la portée de la réponse, en utilisant une file d'attente de travail ou un autre traitement en arrière-plan. Cela garantira que Zencoder ne dépassera pas la notification et tente à nouveau quelques secondes plus tard.