El rincon de Mozyto

Busca en mi rinconcito…

Como codificar videos de alta definicion (HD) para subirlos a Youtube

Como escribi en un post anterior, Youtube empezó a ofrecer la posibilidad de subir videos en HD para visualizarlos en linea. Dicho sitio convierte los videos en HD 720p (1280×720 pixeles) lo cual ya estaba haciendo falta, esto a pesar de que ya había muchos otros en los cuales se podia visualizar videos en alta definicion (HD) desde hacia mucho tiempo (lease Vuze (anteriormente Azureus), Smooth HD, WMV HD Showcase, Vimeo, Hulu, Daily Motion, Quicktime Guide HD, entre otros), pero nos guste o no a muchos, Youtube sigue siendo el lider indiscutible en el terreno de los videos en linea, aunque desgraciadamente dejaba mucho que desear ya que los videos seguian siendo de poca calidad (no todos aclaro) pero al parecer por fin se pusieron las pilas y nos dejaron ver la posibilidad de subir contenido HD a su sitio.

He realizado algunas pruebas y a mi gusto la calidad es bastante buena, aunque los videos pudieran ser algo grandes en tamaño, pero tomando al igual en cuenta que con dichas especificaciones en audio y video lo que se busca es preservar la mayor calidad posible en los videos que subimos.

Muchos se preguntan… y como puedo yo subir un video HD? En realidad no es tan complicado, es más, he realizado algunas pruebas para codificar dichos videos en HD, y en realidad ni siquiera deberia haber una limitante para tener contenido HD, ya que con una computadora de mediana potencia pudieras codificarlos y subirlos al sitio (hablando de archivos en HD 720p con bitrates bajos en audio y video) pero no le veo el caso subir contenido HD si no puedes visualizarlo, ya que para la reproduccion necesitas de entrada (de acuerdo a mi humilde opinion) minimo un procesador doble nucleo (AMD X2 dual core pudiera ser una buena opcion o un Pentium-D de los primeros de Intel de doble nucleo, mucho más recomendable los Core2Duo) así como una tarjeta de graficos minimo 256-512 MB para que la reproduccion de contenido HD sea lo mas fluido posible, y 1 GB RAM, esto a pesar de que las recomendaciones en este aspecto de muchos para reproducir contenido HD (hablando de 720p) sean mucho menores (por ejemplo procesador Pentium 4 o mayor, 512 MB en RAM, tarjeta de graficos con 64 MB video), mi opinion difiere mucho en este aspecto.

Como comenté, para el procesado de videos HD podrias hacerlo con una computadora de mediana potencia, pero con la desventaja de estar sacrificando por mucho el rendimiento de tu sistema, y con el consiguiente consumo en tiempo (bastante importante) en codificar dichos archivos, por lo que lo recomendable es tener un equipo con mejores prestaciones para lograr codificar contenido HD sin problemas.

Yo he utilizado un programa llamado MediaCoder para codificar videos en HD sin complicaciones, siguiendo varias especificaciones (mis recomendaciones estan en fase beta) esto de acuerdo a los pocos conocimientos que tengo, aunque desgraciadamente en varias pruebas he realizado este contenido HD a partir de contenido SD (no he tenido posibilidad de tener contenido HD nativo realizado por mi) pero con una mejoria importante en cuestion de la calidad del video (normalmente si subes contenido SD sin convertirlo a HD a Youtube hay una perdida en cuestion del tamaño y calidad del video, cosa que al convertirlo a HD (que en realidad estamos de acuerdo que no es contenido HD real) se preserva su calidad, además de que al convertirlo a HD se utilizan filtros especiales que ayudan a que el archivo en HD tenga mucha mas calidad y definicion que el original en SD. Ahora bien, si subieramos contenido HD nativo al sitio, sería un archivo final de video con muy pocas perdidas de calidad, ya que el formato que utiliza Youtube es H.264/AVC, con audio codificado en AAC (muchos archivos que puedes encontrar en linea se encuentran codificados con dichos formatos) que ofrecen muchas prestaciones con compresion avanzada de audio y video sin sacrificar en gran manera su calidad, y tomando en cuenta de que hay muchos sitios donde puedes conseguir contenido HD de alta calidad, la calidad de dichos videos al subirlos a Youtube se preserva en gran manera.

MediaCoder es un programa con amplias posibilidades para codificar videos en HD, te permite utilizar diversos formatos de video  (dentro de los mas utilizados AVI, WMV, MKV, MOV) como video fuente, con la posibilidad de exportarlos a formato MP4 con codec H.264, y con respecto al audio utilizo AAC que te permite codificar audio de excelente calidad, con muy pocas perdidas y con tamaños de archivos de audio relativamente bajos, con la finalidad de que el archivo final no sea de un tamaño excesivo y de poder subirlo facilmente a Youtube.

Ahora, tienes una de dos. O sacrificas calidad disminuyendo la tasa de bitrate, pero el archivo final sera mucho menor, pudiendo subirlo al sitio de Youtube en mucho menos tiempo, o la otra, llevas la tasa de bitrate a un valor alto, preservando mucha más calidad, pero con un archivo final mucho mas grande, que si tienes una conexion lenta de subida te va a dar algunos dolores de cabeza. Personalmente el video minimo debe tener unos 2000 kbps (por ahi se han hecho algunas pruebas con mucho menos bitrate con una calidad excelente, entra al blog de Fabio Sonnati para que sepas de que estoy hablando) aunque se pudieran utilizar bitrates mas altos si lo consideras necesario.

Yo he realizado unas pruebas a bitrates altos (aprox 10,000 kbps) en video, con audios relativamente bajos en bitrate con el codec AAC y los resultados son realmente impresionantes. El video de prueba en cuestion es un comercial de iPod Touch que puedes encontrar en el sitio de Apple. Lo escogi principalmente porque es un archivo sencillo, de poco tamaño (es el de calidad Large) y de poca duracion, necesario principalmente para disminuir el tiempo de codificado y valorar entre varios archivos de prueba. No olvidar que es contenido SD que se escaló a HD. Aun asi comparando el archivo fuente en SD y el final en HD 1080p se aprecian detalles importantes con mejoria en el contenido al pasarse a HD.

Las caracteristicas del archivo fuente son las siguientes (datos tomados de MediaInfo):

Formato: MPEG-4 (QuickTime)
Tamaño del archivo: 10.4MB
Duración: 30seg.
Bitrate total: 2906Kbps

Video
AVC (Main@L3.0) CABAC No, 2 ref frames, bitrate 2735 kbps, tamaño 848×480 pixeles, 23.976 fps, progresivo
Tamaño de pista: 9,79MB (94%)

Audio
AAC version 4, LC, bitrate 160kbps, 44.1Khz, 2 canales (L,R) 16 bits
Tamaño de pista: 604Kib (6%)

Ahora bien, para codificar el archivo en formato HD haz lo siguiente.

Abre MediaCoder (si no lo tienes lo puedes bajar de aqui).

Pulsa Add, busca el archivo que quieres convertir, y da clic en aceptar. Asi mismo puedes agregar una carpeta completa, un folder conteniendo archivos DVD, una URL, etc.

mediacoder_add1

Encontrarás varias pestañas por debajo de la ventana principal. General, Audio, Video, Demuxer, Muxer, Picture, Time, Subtitle, Text, Plugins, etc.

mediacoder_mainwindow

Ve a la pestaña Audio. Utiliza el encoder Nero Encoder con un sampleo de 48KHz, Estereo. Si lo deseas puedes normalizar el audio. Al lado encontraras mas opciones para Nero Encoder, escoge Profile AAC-LC, target bitrate 128kbps (en este aspecto he realizado pruebas y 96 kbps puede ser tambien adecuado, aunque muchas otras personas prefieren bitrates altos, pero AAC no es MP3, es mucho mas avanzado – en MP3 prefiero 192kbps o más – asi que con un bitrate 96-128 kbps es mas que suficiente). Al igual en vez de Nero Encoder puedes utilizar FACC o CT AAC+.

En la pestaña Video, escoge el modo Three-pass (tres pasadas) aunque muchos prefieren solo 2 pasadas. Bitrate entre 2000-10000 kbps (puedes hasta 20,000, pero ya seria una exageracion). Minimo 2000 es lo adecuado. Formato H.264, contenedor MP4. En Source y Encoder, Auto Select.

Al lado encontraras los parametros para el codec x264, utiliza profile High (o Main) Level 5.1 (puedes utilizar tambien el main profile, Youtube lo reconocerá facilmente y en ocasiones el video se codifica mucho mas rapido en el sitio, y aparecerá disponible mucho más pronto). Si tienes duda con respecto a los profiles de los archivos H.264, checa esto en Wikipedia (aqui en ingles). CABAC on (si dejas esta opcion en ON, se aumenta un poco el tiempo de codificacion y decodificacion, pero ayuda a optimizar el bitrate del video) aunque pudieras dejarlo en OFF (ve a video, en el codec x264 dale clic a ADVANCED) busca CABAC y dale clic en OFF. B-Frames 3, Ref frames (Predictor Frames) 4, Motion Estimation Mode EXHAUSTIVE, Motion Estimation Range 16.

En la pestaña Picture, resize 1280×720 pixeles o 1920×1080 pixeles (720 o 1080). Crop si lo requieres. Framerate 29.97 fps, aspect ratio si necesitas especificar el formato, en este caso 16:9. En Effects puedes activar varios efectos como Deblocking, Deringing, Denoising, desentrelazado o bien modificar el brillo, contraste, saturacion de tu video. Lo que tu requieras.

Y de ahi en las otras pestañas ningun ajuste, dale clic en Start en el menu principal y adelante, ya estarás codificando tu archivo en HD.

mediacoder_codificando

El archivo final quedó con las siguientes caracteristicas:

Formato: MP4 (contenedor)
Tamaño del archivo: 35,9MB
Duración: 30seg.
Bitrate total: 10,0Mbps

Video
Formato AVC  High@L5.1  CABAC Si, RefFrames 4, Bitrate Variable
Bitrate: 9 915Kbps
Bitrate nominal: 10 000Kbps
Bitrate máximo: 12,8Mbps
Ancho: 1920 pixeles
Alto: 1080 pixeles
Relación de aspecto 16:9
Velocidad de cuadro: 29,970fps
Resolución: 24bits
Colorimetry: 4:2:0
Tipo de exploración: Progresivo
Tamaño de pista: 35,4MB (99%)
Librería: x264 core 65

Audio
Formato: AAC
Formato de la versión: Version 4
Formato del perfil: LC
Tipo de Bitrate: Variable
Bitrate: 129Kbps
Bitrate máximo: 138Kbps
Canales(es): 2canales
Velocidad de la muestra: 48,0KHz
Resolución: 16bits
Tamaño de pista: 475Kib (1%)

Comparando tamaños de archivo:

  • SD 480p: 10.4 MB (2906 kbps)
  • HD 1080p: 35.9 MB (10 Mbps)

Para ser un archivo en alta definicion, a tal razon de bitrate (un bitrate muy alto) considero que el archivo final no es tan grande para subir a Youtube, aunque disminuyendo el bitrate a 2000 kbps por ejemplo, el mismo archivo tiene un tamaño aproximado de 7.7 MB (si, 7.7 MB, mucho menor que el archivo original, y en alta definicion).  Aqui lo que importa para el tamaño final del archivo no son los pixeles sino la tasa de bitrate (como en todo video) aunque dependiendo la fuente de tu archivo depende al igual la calidad final del archivo en HD, por lo que hay que jugar mucho con los bitrates para obtener un archivo de buena calidad.

Concluyendo, mis recomendaciones para subir un archivo en alta definicion son las siguientes:

  • Tamaño 1280×720 o mayor (ya que si no se hace de esta manera, Youtube no lo reconocerá como formato en HD), en contenedor MP4.
  • Video codificado con x264, high profile @ level 5.1
  • Tres pasadas, CABAC on, B-Frames 3, Ref frames (Predictor Frames) 4, Motion Estimation Mode EXHAUSTIVE, Motion Estimation Range 16.
  • Bitrate minimo de 2,000Kbps, maximo de 10,000 kbps
  • Puedes utilizar filtros como yo lo utilicé (deblocking, deringing) aunque esto va a afectar en la velocidad en la que se procesa el archivo, aunque si se requiere tendrás un archivo de mejor calidad.
  • Puedes utilizar cropping (especialmente util en archivos en formato 4:3) aunque utilizalo con cautela, y solo en los casos que se requiera.
  • Audio AAC-LC 96-128 48KHz de sampleo (yo utilizo el codec de Nero, aunque en realidad pudiera ser cualquiera, solo no cambiar de formato AAC) y hasta puedes utilizar el codec AAC-HE V2, el cual disminuye mucho mas el tamaño final del archivo de audio, y sin perdida perceptible de calidad. Simplemente utilizo de entrada el codec que les mencione primero, considero que es mas compatible con los archivos HD que Youtube maneja. Es importante que utilices sampleo de 48Khz.
  • No pasar del archivo limite de 1024 MB que Youtube acepta.
  • Puedes codificar al igual en otros formatos para HD (WMV, MOV) –> he subido archivos a Youtube en MOV, no ha habido ningun problema para que los identifique. Simplemente con el contenedor MP4 me siento mucho mas comodo trabajando.

Ahora, vamos a comparar los archivos en definicion estandar y alta definicion, ya en el sitio de Youtube (te sugiero le des clic a pantalla completa)

Archivo subido en definicion estandar (SD 480p) Alta calidad

Archivo subido en alta definicion (HD 1080p) convertido por Youtube a 720p

Como pueden ver, se observa una mejoria impresionante del mismo video solo con haberlo codificado a alta definicion 1080p. Asi que con esta tecnica, podras subir videos de calidad estandar codificados en HD con la calidad que ofrece la alta definicion.

Espero les haya servido este post.

diciembre 17, 2008 - Posted by | Internet, Software | , , , , , , , , , , , , , , , , , , , , , ,

11 comentarios »

  1. […] unknown wrote an interesting post today onHere’s a quick excerpt Como escribi en un post anterior, Youtube empezó a ofrecer la posibilidad de subir videos en HD para visualizarlos en linea. Dicho sitio convierte los videos en HD 720p (1280×720 pixeles) lo cual ya estaba haciendo falta, esto a pesar de que ya había muchos otros en los cuales se podia visualizar videos en alta definicion (HD) desde hacia mucho tiempo (lease Vuze (anteriormente Azureus), Smooth HD, WMV HD Showcase, Vimeo, Hulu, Daily Motion, Quicktime Guide HD, entre otros), pero nos guste o no a muchos, Youtube sigue siendo el lider indiscutible en el terreno de los videos en linea, aunque desgraciadamente dejaba mucho que desear ya que los videos seguian siendo de poca calidad (no todos aclaro) pero al parecer por fin se pusieron las pilas y nos dejaron ver la posibilidad de subir contenido HD a su sitio. He realizado algunas pruebas y a mi gusto la calidad es […] […]

    Pingback por Como codificar videos de alta definicion (HD) para subirlos a Youtube | diciembre 17, 2008

  2. Hola

    Primero que nada gracias por el manual y por el programa Media coder, creo que es muy bueno, sobre todo lo de la compresion, creo que los reduce bastante, pero que crees, ya que converti mi video e hice todo lo que dijste en el post, y despues de subirlo a youtube, volvio a arruinar mi video, se sigue viendo horrible, este es el link……..

    http://mx.youtube.com/watch?v=cwPEEkKrEYY

    …….del video que subi ya convertido y todo el pedo, y pues asi no se ve archivo original, y como tu veras se nota claramente lo mal que se ve mi video, por favor dame una ayudadita.
    Mi pelicula es flash, o sea la hice en flash CS3 y despues la exporte a avi, y despues lo converti en el Media Coder, y pues el resultado esta en youtube.

    Saludos, por favor ayudame, me caga no poder subir un video decenste a youtube.

    Comentario por abimael estrada | diciembre 21, 2008

  3. Hola, gracias por tu comentario. Quieres que tu video quede en alta definicion?? Que te parece si me mandas el archivo en flash cs3 a mi correo? Esta en gmail, usuario mozyto. No he experimentado pasar un archivo de flash cs3 a youtube en alta definicion, pero checamos que se puede hacer.

    Saludos.

    Comentario por mozyto | diciembre 22, 2008

  4. […] video en alta definicion (HD) a partir de un archivo fla (Flash) Me llamó mucho la atención un comentario en un post anterior de como codificar video en HD para poder subirlo a Youtube. Esto es la novedad […]

    Pingback por Como codificar video en alta definicion (HD) a partir de un archivo fla (Flash) « El rincon de Mozyto | diciembre 22, 2008

  5. Hola

    Gracias por contestarme, creo que ya no te voy a enviar mi archivo, hasta ahora en la noche revise la pagina y cheque tu respuesta que me diste, me recomendabas que te enviara mi archivo para ver si tu lo podias convertir, pero tambien vi que hiciste otro post con la ayuda a apartir de un archivo flash, y como te decia, creo que ya no te lo voy a enviar, voy e leer el post que hiciste para ver si puedo lograr lo que tanto deseo, mil gracias, y estoy en contacto contigo por medio de esta tu pagina.

    Saludos

    Comentario por abimael | diciembre 22, 2008

  6. Hola, buscaba informacion sobre subir video a youtube y de casualidad llego a tu blog y nada…., tus videos en hd estan muy buenos, confieso que yo no tengo ni idea…….., pero nesecito subir un audio, al aparecer esto es imposible por lo tanto subiere el audio y de fonfo una imagen, para que haga las vex de video.

    El punto es como el video que subo basicamente se trata de un audio y no un video, no tengo idea de como hacer para subirlo en el mejor sonido posible, tal vez me podrias ayudar….., por favor!

    Comentario por chica punk | enero 13, 2009

  7. Una pregunta: yo codifiqué un archivo a 180p con Nero Recode 29 cuadros por segundo y obiamente con el codec AVC de nero. es un video de 1.5 minutos y pesa unos 5 mb a un birate de 105Mb o 1500 kb/s, pero cuando lo subo Youtube me lo recodifica a tal punto que no se leen las letras de la captura de pantalla. Voy a probar las especificaciones que das en el tuto.

    Comentario por dany | febrero 18, 2009

  8. ejem: 1.5Mb/s… le erre al punto.🙂

    Comentario por dany | febrero 18, 2009

  9. Hola Dany. Seria conveniente que menciones tu nombre de usuario para poder checar el video. Como menciono, codificar el video a 2000 kbps es lo mas adecuado, esto por el tamaño final del archivo, aunque codificarlo en menos la verdad no lo recomiendo. Codificalo ya sea a 1080p o bien a 720p, a 29.97 fps. Al subirlo a Youtube seguramente queda en alta definicion, y automaticamente debe aparecer la leyenda abajo de tu video “Ver en HD”, si no apareciera, trata agregando &fmt=22 al final de la URL del video para ver si en realidad puedes visualizarlo en HD en Youtube.

    Cualquier cosa estamos por aca. Saludos.

    Comentario por mozyto | febrero 20, 2009

  10. hola que tal??
    mira hice exactamente los pasos descriptos pero, al elegir la opcion aspect ratio en 16:9, el video aparece medio “achatado”
    aca esta el link: http://www.youtube.com/watch?v=R6FnxQKRaAo
    hay alguna manera de “quitarles” las bandas negras arriba y abajo?? o de que otra forma quedaria bien??

    Comentario por soldadoarg | abril 9, 2009

  11. Uno puede subir un video en HD a Youtube, como lo hago en 1280x720p; 12288 Mbps 128 Kbps… pero lo convierte y lo deja con un average (bitrate) de 6000 Mbps. El average es lo que va a determinar la calidad del video original, si se conserva, aunque se reduzca la resolucion a la mitad 640x360p.

    Comentario por Marco Flores | julio 14, 2013


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: