¿Cómo codifica YouTube mis cargas y qué códec debo usar para cargar?


25

Relacionado con ¿Qué códecs / formatos son apropiados para la grabación de video en movimiento completo para YouTube? Me pregunto exactamente cómo puedo esperar que Youtube maneje mis videos. Sé que tienen una configuración de procesamiento bastante entusiasta que genera múltiples copias de mi carga en diferentes resoluciones; 1080p, 720p y 480p y aparentemente uno móvil, como mínimo.

¿Qué códec (s) usan? Como productor, tengo la opción de descargar el archivo como MP4; Sin embargo, noto que un descargador de terceros (que es extremadamente sombrío y horrible) baja los archivos como FLV. Básicamente me pregunto si mi códec se conservará o se sobrescribirá con H.264 o lo que sea que usen. Teniendo en cuenta su increíble compatibilidad entre dispositivos, supongo que usan un estándar muy común o códecs múltiples para cada video.

Entonces, ¿en qué códec puedo esperar que se emitan mis videos y, si depende, de qué depende? ¿Debo ajustar mi propia codificación para "jugar bien" con el códec de Youtube, o es importante en cuanto a calidad? Sé que puedo lanzar casi cualquier cosa en Youtube y lo necesitaré, así que me preocupa principalmente la calidad del video.


Aquí hay una herramienta para ver los formatos disponibles para un video: h3xed.com/web-and-internet/…
akostadinov

Respuestas:


31

Alguna información general sobre los formatos utilizados:

YouTube utiliza 4 formatos de contenedor y 4 códecs diferentes. Depende de la popularidad del video qué códecs se usan para su video (vea a continuación por qué). En general, cada uno de sus videos cargados se codificará en h.264 y se incluirán en un contenedor .flv y .mp4. Ese es el estándar y esto sucederá para cada video. Aunque .flv solo se usará para resoluciones inferiores a 720p. Lo que significa que solo existirán 360p y 480p en un contenedor .flv. Aunque cada video por debajo de 720p también tendrá una versión mp4 disponible. Para 240p, YouTube también usa 3gp, que es un códec bastante antiguo (basado en MPEG-4 Parte 2 (que no debe confundirse con MPEG4 Parte 10, también conocido como h.264) destinado a dispositivos móviles (mucho antes de la era de los teléfonos inteligentes). el contenedor .3gpp.

El otro códec utilizado es VP8, que viene en formato contenedor WebM. WebM es un formato desarrollado por Google y fue concebido como un códec de video estándar para HTML5, el soporte para este es bastante bueno en la mayoría de los navegadores modernos. WebM se introdujo con la versión HTML5 de YouTube. YouTube solo codifica algunos videos en WebM después de que se cargaron y, en su mayoría, solo videos populares (siguiendo los videos que vi codificados en WebM), por lo que no es seguro que su video esté presente en WebM. Aunque esto está cambiando con WebM ganando más soporte.

Por ahora, YouTube también admite VP9 en WebM, pero hasta ahora solo Chrome admite este códec (a partir del 06/2015). Con VP9, ​​también introdujeron soporte para el códec de audio Opus (además de AAC que se usa en todos los demás contenedores).

Con respecto a su pregunta vinculada (¿tal vez deberían fusionarse?)

¿Qué códec / contenedor debe usar para cargar?

Eso depende, si está limitado / preocupado por su velocidad de carga, entonces use h.264 Nivel 3.1 / 4.1 con Perfil principal para SD o Perfil alto para HD. YouTube aceptará esto muy bien y se verá bien después de que los servidores de YouTube lo hayan codificado. Por lo general, recomendaría una tasa de bits de ~ 4-5 Mbit / s para material de 720p y ~ 8-9 Mbit / s para 1080p. Para 4k, vaya por ~ 15Mbit / s. Esto suele ser un buen equilibrio entre tamaño y calidad. Si desea una mejor calidad, vaya con una tasa de bits más alta, y si desea un video más pequeño, elija una tasa de bits más baja.

Pero tenga en cuenta que YouTube SIEMPRE codificará su video una vez que se cargue, sin importar qué códec y configuración use. Entonces, si desea la mejor calidad teórica para sus cargas, elija un códec sin pérdidas para cargar o al menos visualmente sin pérdidas. Vea YouTube como la salida final en un formato de entrega / consumidor y la carga a YouTube es el último paso en la producción y durante la producción desea permanecer sin pérdidas. Pero tenga en cuenta que todo esto es solo una cuestión teórica, prácticamente diría que realmente no importa, ya que estamos hablando de YouTube y no de la transmisión de televisión o el cine.

Pero si realmente quiere hacerlo de la manera "perfecta", use un códec de producción y no un códec de consumo como h.264. MJPEG sería un buen códec para eso, YouTube definitivamente lo admite en un contenedor .avi o .mov. MJPEG es un códec con pérdida, pero la calidad visual será la misma que la fuente (si elige una configuración de calidad lo suficientemente alta, esto es prácticamente JPEG como el códec de video). Ir con un códec real sin pérdidas sería una pérdida de espacio en el disco duro y ancho de banda en mi opinión.

Pero si desea cargar su video realmente sin pérdidas y no le importa el tiempo de carga, le recomiendo usar un códec QuickTime estándar, ya que todos deberían ser compatibles con YouTube (tenga en cuenta que no todos son sin pérdida, h264 también es un códec QuickTime estándar). Aunque YouTube no indica qué códecs QuickTime son compatibles, desafortunadamente. La animación o JPEG2000 debería funcionar, supongo. Ambos códecs pueden ser 100% sin pérdidas.

Cuando se trata de velocidades de fotogramas, si puede elegir, use 25FPS (ahora YouTube también admite videos de 50 y 60FPS, por lo que probablemente también 30FPS) durante la grabación / animación, a YouTube le gusta más (la velocidad de fotogramas utilizada para cada video) pero Si su metraje ya viene en otra velocidad de fotogramas, quédese con eso y no interpole hacia arriba o hacia abajo. YouTube gestionará la conversión por usted y, en general, lo hace mejor que su codificador. Tienen que lidiar con todo tipo de framerates todos los días y resolvieron este problema (realmente muy complicado) realmente bien.

Audio:

Para el audio, use PCM si también desea permanecer sin pérdidas con el audio, pero nuevamente, esto es realmente una mejora teórica de la calidad. AAC generalmente hará la misma calidad de trabajo sabio (subjetivo) y será más pequeño. Recomiendo una tasa de bits de al menos 192 kbps para AAC. El impacto de tamaño generalmente no es tan grande como el códec de video, por lo que también puede usar 320 kbps. YouTube convertirá el audio a ~ 24 kbps (Mobile aka 3gp) ~ 64 kbps (240p), ~ 128 kbps (360p / 480p) y ~ 192 kbps (720p +) utilizando el códec AAC y Opus (solo WebM).


3
Estoy de acuerdo con esta respuesta. Pero hay un límite práctico: la velocidad de carga. ¿Cuánto tiempo estás permitiendo una carga? Todo un fin de semana, una noche o un par de horas hasta el final de su jornada laboral. Yo mismo puse el límite a 2 GB para 10 minutos de video, que en mi caso necesita alrededor de 4 horas de tiempo de carga. ¿Pero esto realmente restringe la calidad? Mi video de 2 GB tiene una tasa de bits de 30 Mbit / s, que YouTube convierte a 3 Mbit / s. Una codificación sin pérdidas multiplicaría el tiempo de carga, pero la salida de YouTube seguiría siendo de 3 Mbit / s. Establezca sus límites personales por su cuenta.
Fred42vid

Claro que es por eso que dejé (con suerte) bastante claro que es teórico y de ninguna manera práctico. H.264 se recomienda para casi todos los casos. El único caso práctico real para MJPEG que se me ocurre es cuando se produce una banda de color con la primera codificación h.264 que empeorará con la segunda codificación de YouTube.
PTS

1
Youtube admite h.264 de alto perfil, por lo que debe usarlo siempre. El perfil principal para el contenido SD es una tontería. Dejar 8x8dct siempre es una mala idea. En x264, habilitar 8x8dct es la compensación más eficiente del tiempo de CPU para una mejor calidad por tamaño de archivo (también conocido como velocidad: distorsión o RD).
Peter Cordes

2
H.264 se verá mucho mejor con la misma tasa de bits que MJPEG. Si desea una mejor calidad, simplemente aumente la velocidad de bits (o la configuración de calidad en calidad constante en lugar del modo de velocidad de bits objetivo). Puede ir hasta h.264 sin pérdidas si no le importa cargar un archivo enorme. Probablemente será más pequeño que el j2k sin pérdidas. Sin embargo, ambos son de calidad perfecta, ya que eso es lo que significa sin pérdida.
Peter Cordes

1
Para audio, IDK si YouTube admite FLAC o no. Si es así, esa sería su elección para ir sin pérdidas. De lo contrario, sí, AAC de alta tasa de bits con un buen codificador. ( -c:a libfdk-aacno los codificadores predeterminados faaco incorporados aacen ffmpeg).
Peter Cordes

5

El formato de salida de YouTube de su video depende de varios factores. Para la mayoría de los videos comunes, utilizan secuencias codificadas H264 para video (AAC o MP3 para audio) en forma de archivos contenedor MP4 y FLV.

Estos son solo contenedores que contienen los datos de video codificados, aunque el formato codificado H264 no es una garantía con archivos FLV (o en teoría con archivos MP4) ya que también pueden contener Sorenson Spark, On2 VP6 y otros (especialmente el caso con videos más antiguos )

Los FLV se usan porque están garantizados para reproducirse con Flash-player.

En realidad, el software del descargador no depende de determinar el formato, simplemente descargan lo que está disponible usando la itagURL de video "interna" (no la del navegador) para identificar las opciones. Si opcionalmente convierten el video, sería una característica, pero no relacionada con los formatos de YT.

También hay otros formatos además de estos, como 3GP, WEBM y también para películas en 3D. Algunos para apuntar a teléfonos y el nuevo estándar Html5 (implementado tal como hablamos) que puede reproducir videos directamente con html (es decir, sin flash player).

Pero volvamos a los formatos más comunes: en cuanto a calidad, realmente no importa. Si el FLV contiene H264, puede reproducirlo tan bien como un archivo contenedor MP4 con el reproductor VLC de f.ex VideoLAN . Si el FLV no contiene H264 y lo desea como contenedor MP4 que contiene H264, necesitará volver a codificarlo, lo que significa que perderá calidad.

Como YT actualmente parece preferir H264, sugeriría cargar también en este formato (consulte su información sobre tamaños y tasas de bits para evitar la grabación para la mejor resolución).



0

Su pregunta es "¿Cómo codifica YouTube mis cargas y qué códec debo usar para cargar?".

Profundizando en su pregunta, veo: "¿Debería ajustar mi propia codificación para" jugar bien "con el códec de Youtube, o importa, en cuanto a calidad? Sé que puedo lanzar casi cualquier cosa en Youtube y lo tomaré, así que Me preocupa principalmente la calidad del video ".

La respuesta es que YouTube usa Lavf57.25.100 para codificar nuevos videos, mientras que los videos de más de unos años se codificaron con un codificador propietario (que no tiene "Lavf57.25.100" incrustado en su ID, sino que tiene esta frase: "Archivo de IsoMedia producido por Google, 5-11-2011 "). Los videos antiguos no se volvieron a codificar cuando se modificó el algoritmo.

Es aceptable usar muchos códecs diferentes, YouTube recomienda H.264 - ver aquí: https://support.google.com/youtube/answer/1722171?hl=en .

Por alguna razón, elige no preguntar sobre el Contenedor (que no es lo mismo que un Códec). También asume que 1080P estará disponible y no pregunte sobre lo más importante: Bitrate (seguido de Resolución).

Si carga un video de resolución 1080P a 60FPS, la resolución máxima disponible es 720P (a 60 FPS, en un dispositivo móvil, capaz de 1080P), cargar un video 1080P a 29.97 FPS permite la visualización 1080P en un dispositivo móvil.

Lo que ES importante es la tasa de bits y la resolución si la "calidad" es su objetivo. No puede aumentar la escala o usar sin pérdidas para hacer trampa, ya que YouTube ejecuta una 'Prueba de compresión' para determinar cuánto pueden aplastar su video con una degradación mínima: cargue Mush y será muy comprimido Mush, cargue alta resolución y alta tasa de bits, luego YouTube retrocederá en el aplastamiento y ofrecerá una experiencia de visualización mucho mejor.

Ver: https://support.google.com/youtube/answer/1722171?hl=en .

Tenga en cuenta que diferentes Resoluciones y 'Expectativas de calidad'. Para videos 4K con bajas expectativas, puede cargar videos que tengan una velocidad de bits de 35-45 Mbps, pero si es un "productor" y la calidad es su objetivo, necesita una velocidad de fotogramas más alta y usar al menos 66-85 Mbps para Bitrate de cámara (antes de comprimirlo muy suavemente).

Si mejora un video de baja resolución y utiliza un códec sin comprimir con la esperanza de obtener la mejor calidad posible, quedará atrapado (y reducido a papilla).

Grabe usando una cámara de calidad de producción, video de alta velocidad de cuadros y bitrate, muy suavemente comprimido (Ffmpeg Q = <10) para obtener los mejores resultados: el "Códec" (sus palabras) no es el único factor determinante (aunque aconsejaría no uno viejo).

Ffmpeg admite .MP4 Containers y el códec H.264, así que úselos.

La gente a menudo se queja de que YouTube arruina sus videos, el problema es que, en primer lugar, no subieron una calidad lo suficientemente alta como para 'disparar el interruptor' y provocar que el Compresor de YouTube pise suavemente su carga. Es posible mirar videos perfectos con píxeles. Se aplica la regla GIGO.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.