{"id":438,"date":"2008-02-17T22:02:16","date_gmt":"2008-02-17T20:02:16","guid":{"rendered":""},"modified":"2008-02-17T22:02:16","modified_gmt":"2008-02-17T20:02:16","slug":"procesado-de-video-i","status":"publish","type":"post","link":"https:\/\/nauj27.com\/blog\/?p=438","title":{"rendered":"Procesado de video [I]"},"content":{"rendered":"<p>La otra noche pens\u00e9 en procesar un video para poderlo ver en el tel\u00e9fono m\u00f3vil, de modo que lo primero que hice fue analizar el formato que es capaz de reproducir as\u00ed como el contenedor y los codecs tanto de audio como de video. Despu\u00e9s de muchas pruebas al final consegu\u00ed que se vea correctamente pero es un mundo tan grande el de <i>los formatos de video<\/i> que me da para varias entregas. Por ese motivo en esta primera parte hablar\u00e9 sobre contenedores y codecs a modo de introducci\u00f3n. Est\u00e1 claro que esto puede ser un poco tost\u00f3n si no te interesa, as\u00ed que ahora est\u00e1s a tiempo de cambiar de p\u00e1gina o seguir leyendo :P<\/p>\n<p>Cuando uno reproduce un video digital, lo normal es que el reproductor analize el contenedor, siendo el m\u00e1s extendido hoy en d\u00eda el <a href=\"http:\/\/es.wikipedia.org\/wiki\/Avi\" title=\"AVI\">AVI<\/a> (las siglas AVI significan Audio y Video intercalado o entrelazado). En este contenedor, entre otras cosas, se encuentra informaci\u00f3n referente al <a href=\"http:\/\/es.wikipedia.org\/wiki\/C%C3%B3dec\" title=\"c\u00f3dec\">c\u00f3dec<\/a> con el que ha sido codificado el audio y el video dentro del archivo. De este modo un archivo con una misma extensi\u00f3n (.avi) puede contener video de muy diversa naturaleza: DivX, XviD, MP4, WMV, ASF, etc.<\/p>\n<p>El formato que reproduce mi m\u00f3vil es un contenedor <a href=\"http:\/\/es.wikipedia.org\/wiki\/Mp4\" title=\"MP4\">MP4<\/a> con video en <a href=\"http:\/\/es.wikipedia.org\/wiki\/MPEG-4_Parte_2\" title=\"MPEG-4 Parte 2\">MPEG-4 Parte 2<\/a> y audio en <a href=\"http:\/\/es.wikipedia.org\/wiki\/AAC\" title=\"AAC\">AAC<\/a>. La pantalla es de 320&#215;240 puntos y la cantidad de datos por imagen depender\u00e1 de los resultados que obtenga despu\u00e9s de hacer unas cuantas pruebas. En principio 15 im\u00e1genes por segundo, 256kbps para el video y 96kbps para el audio deber\u00edan de ser suficientes para ver peque\u00f1os cap\u00edtulos de series sin importarme demasiado la ligera p\u00e9rdida de calidad que pueda tener.<\/p>\n<p>Otra opci\u00f3n ser\u00eda pasar el video a un contenedor <a href=\"http:\/\/es.wikipedia.org\/wiki\/3gp\" title=\"3GP\">3GP<\/a> con el video en <a href=\"http:\/\/es.wikipedia.org\/wiki\/MPEG-4_Parte_2\" title=\"MPEG-4 Parte 2\">MPEG-4 Parte 2<\/a> y el audio en <a href=\"http:\/\/en.wikipedia.org\/wiki\/Adaptive_multi-rate_compression\" title=\"AMR-NB\">AMR-NB<\/a>, pero es que el AMR no me cae especialmente bien, adem\u00e1s de que es un poco m\u00e1s co\u00f1azo de utilizar desde GNU\/Linux (esto ya no es tan cierto desde que sacaron unas bibliotecas de uso de <a href=\"http:\/\/www.penguin.cz\/~utx\/amr\" title=\"amr para Linux\">amr para Linux<\/a>).<\/p>\n<p>En cualquier caso la opci\u00f3n elegida es la primera de las dos. En las siguientes entregas veremos c\u00f3mo convertir un video desde cualquier fuente, ya sea <i>un divx<\/i>, un DVD, o una grabaci\u00f3n con una videoc\u00e1mara, al contenedor MP4 listo para ser reproducido en el m\u00f3vil.<\/p>\n<p>Como ejemplo, para dar una idea general del galimat\u00edas que puede llegar a ser el tema del procesado de video, \u00e9stos son unos cuantos formatos de contenedor y codecs tomados del proyecto FFMPEG:<\/p>\n<pre class=\"cita\">File formats:\r\n  E 3g2             3gp2 format\r\n  E 3gp             3gp format\r\n D  4xm             4X Technologies format\r\n D  MTV             MTV format\r\n D  RoQ             Id RoQ format\r\n D  aac             ADTS AAC\r\n DE ac3             raw ac3\r\n  E adts            ADTS AAC\r\n DE aiff            Audio IFF\r\n DE alaw            pcm A law format\r\n DE amr             3gpp amr file format\r\n DE asf             asf format\r\n  E asf_stream      asf format\r\n DE au              SUN AU Format\r\n DE audio_device    audio grab and output\r\n DE avi             avi format\r\n D  avs             avs format\r\n  E crc             crc testing format\r\n D  daud            D-Cinema audio format\r\n D  dc1394          dc1394 A\/V grab\r\n D  dsicin          Delphine Software International CIN format\r\n D  dts             raw dts\r\n DE dv              DV video format\r\n D  dv1394          dv1394 A\/V grab\r\n  E dvd             MPEG2 PS format (DVD VOB)\r\n D  ea              Electronic Arts Multimedia Format\r\n DE ffm             ffm format\r\n D  film_cpk        Sega FILM\/CPK format\r\n DE flac            raw flac\r\n D  flic            FLI\/FLC\/FLX animation format\r\n DE flv             flv format\r\n  E framecrc        framecrc testing format\r\n DE gif             GIF Animation\r\n DE gxf             GXF format\r\n DE h261            raw h261\r\n DE h263            raw h263\r\n DE h264            raw H264 video format\r\n D  idcin           Id CIN format\r\n DE image2          image2 sequence\r\n DE image2pipe      piped image2 sequence\r\n D  ingenient       Ingenient MJPEG\r\n D  ipmovie         Interplay MVE format\r\n DE m4v             raw MPEG4 video format\r\n D  matroska        Matroska file format\r\n DE mjpeg           MJPEG video\r\n D  mm              American Laser Games MM format\r\n DE mmf             mmf format\r\n  E mov             mov format\r\n D  mov,mp4,m4a,3gp,3g2,mj2 QuickTime\/MPEG4\/Motion JPEG 2000 format\r\n  E mp2             MPEG audio layer 2\r\n DE mp3             MPEG audio layer 3\r\n  E mp4             mp4 format\r\n D  mpc             musepack\r\n DE mpeg            MPEG1 System format\r\n  E mpeg1video      MPEG video\r\n  E mpeg2video      MPEG2 video\r\n DE mpegts          MPEG2 transport stream format\r\n D  mpegvideo       MPEG video\r\n  E mpjpeg          Mime multipart JPEG format\r\n DE mulaw           pcm mu law format\r\n D  mxf             MXF format\r\n D  nsv             NullSoft Video format\r\n  E null            null video format\r\n D  nut             nut format\r\n D  nuv             NuppelVideo format\r\n DE ogg             Ogg format\r\n  E psp             psp mp4 format\r\n D  psxstr          Sony Playstation STR format\r\n DE rawvideo        raw video format\r\n D  redir           Redirector format\r\n DE rm              rm format\r\n  E rtp             RTP output format\r\n D  rtsp            RTSP input format\r\n DE s16be           pcm signed 16 bit big endian format\r\n DE s16le           pcm signed 16 bit little endian format\r\n DE s8              pcm signed 8 bit format\r\n D  sdp             SDP\r\n D  shn             raw shorten\r\n D  smk             Smacker Video\r\n D  sol             Sierra SOL Format\r\n  E svcd            MPEG2 PS format (VOB)\r\n DE swf             Flash format\r\n D  tiertexseq      Tiertex Limited SEQ format\r\n D  tta             true-audio\r\n DE u16be           pcm unsigned 16 bit big endian format\r\n DE u16le           pcm unsigned 16 bit little endian format\r\n DE u8              pcm unsigned 8 bit format\r\n D  vc1             raw vc1\r\n  E vcd             MPEG1 System format (VCD)\r\n D  video4linux     video grab\r\n D  video4linux2    video grab\r\n D  vmd             Sierra VMD format\r\n  E vob             MPEG2 PS format (VOB)\r\n DE voc             Creative Voice File format\r\n DE wav             wav format\r\n D  wc3movie        Wing Commander III movie format\r\n D  wsaud           Westwood Studios audio format\r\n D  wsvqa           Westwood Studios VQA format\r\n D  wv              WavPack\r\n DE yuv4mpegpipe    YUV4MPEG pipe format\r\n\r\nCodecs:\r\n D V    4xm\r\n D V D  8bps\r\n D V    VMware video\r\n D V D  aasc\r\n  EA    ac3\r\n DEA    adpcm_4xm\r\n DEA    adpcm_adx\r\n DEA    adpcm_ct\r\n DEA    adpcm_ea\r\n DEA    adpcm_ima_dk3\r\n DEA    adpcm_ima_dk4\r\n DEA    adpcm_ima_qt\r\n DEA    adpcm_ima_smjpeg\r\n DEA    adpcm_ima_wav\r\n DEA    adpcm_ima_ws\r\n DEA    adpcm_ms\r\n DEA    adpcm_sbpro_2\r\n DEA    adpcm_sbpro_3\r\n DEA    adpcm_sbpro_4\r\n DEA    adpcm_swf\r\n DEA    adpcm_xa\r\n DEA    adpcm_yamaha\r\n D A    alac\r\n DEV D  asv1\r\n DEV D  asv2\r\n D V D  avs\r\n DEV    bmp\r\n D V D  camstudio\r\n D V D  camtasia\r\n D V D  cavs\r\n D V D  cinepak\r\n D V D  cljr\r\n D A    cook\r\n D V D  cyuv\r\n D A    dca\r\n D A    dsicinaudio\r\n D V D  dsicinvideo\r\n DES    dvbsub\r\n DES    dvdsub\r\n DEV D  dvvideo\r\n DEV D  ffv1\r\n DEVSD  ffvhuff\r\n DEA    flac\r\n DEV D  flashsv\r\n D V D  flic\r\n DEVSD  flv\r\n D V D  fraps\r\n DEA    g726\r\n DEV    gif\r\n DEA    gsm\r\n D A    gsm_ms\r\n DEV D  h261\r\n DEVSDT h263\r\n D VSD  h263i\r\n  EV    h263p\r\n D V DT h264\r\n DEVSD  huffyuv\r\n D V D  idcinvideo\r\n D A    imc\r\n D V D  indeo2\r\n D V    indeo3\r\n D A    interplay_dpcm\r\n D V D  interplayvideo\r\n  EV    jpegls\r\n D V    kmvc\r\n  EV    libtheora\r\n  EV    ljpeg\r\n D V D  loco\r\n D A    mace3\r\n D A    mace6\r\n D V D  mdec\r\n DEV D  mjpeg\r\n D V D  mjpegb\r\n D V D  mmvideo\r\n DEA    mp2\r\n D A    mp3\r\n D A    mp3adu\r\n D A    mp3on4\r\n D A    mpc sv7\r\n DEVSDT mpeg1video\r\n DEVSDT mpeg2video\r\n DEVSDT mpeg4\r\n D VSDT mpegvideo\r\n DEVSD  msmpeg4\r\n DEVSD  msmpeg4v1\r\n DEVSD  msmpeg4v2\r\n D V D  msrle\r\n D V D  msvideo1\r\n D V D  mszh\r\n D V D  nuv\r\n DEV    pam\r\n DEV    pbm\r\n DEA    pcm_alaw\r\n DEA    pcm_mulaw\r\n DEA    pcm_s16be\r\n DEA    pcm_s16le\r\n DEA    pcm_s24be\r\n DEA    pcm_s24daud\r\n DEA    pcm_s24le\r\n DEA    pcm_s32be\r\n DEA    pcm_s32le\r\n DEA    pcm_s8\r\n DEA    pcm_u16be\r\n DEA    pcm_u16le\r\n DEA    pcm_u24be\r\n DEA    pcm_u24le\r\n DEA    pcm_u32be\r\n DEA    pcm_u32le\r\n DEA    pcm_u8\r\n DEV    pgm\r\n DEV    pgmyuv\r\n DEV    png\r\n DEV    ppm\r\n D A    qdm2\r\n D V D  qdraw\r\n D V D  qpeg\r\n D V D  qtrle\r\n DEV    rawvideo\r\n D A    real_144\r\n D A    real_288\r\n D A    roq_dpcm\r\n D V D  roqvideo\r\n D V D  rpza\r\n DEV D  rv10\r\n DEV D  rv20\r\n D A    shorten\r\n D A    smackaud\r\n D V    smackvid\r\n D V D  smc\r\n DEV    snow\r\n D A    sol_dpcm\r\n DEA    sonic\r\n  EA    sonicls\r\n D V D  sp5x\r\n DEV D  svq1\r\n D VSD  svq3\r\n D V    targa\r\n D V    theora\r\n D V D  tiertexseqvideo\r\n D V    tiff\r\n D V D  truemotion1\r\n D V D  truemotion2\r\n D A    truespeech\r\n D A    tta\r\n D V D  ultimotion\r\n D V    vc1\r\n D V D  vcr1\r\n D A    vmdaudio\r\n D V D  vmdvideo\r\n DEA    vorbis\r\n D V    vp3\r\n D V    vp5\r\n D V    vp6\r\n D V    vp6f\r\n D V D  vqavideo\r\n D A    wavpack\r\n DEA    wmav1\r\n DEA    wmav2\r\n DEVSD  wmv1\r\n DEVSD  wmv2\r\n D V    wmv3\r\n D V D  wnv1\r\n D A    ws_snd1\r\n D A    xan_dpcm\r\n D V D  xan_wc3\r\n D V D  xl\r\n DEV D  zlib\r\n DEV    zmbv<\/pre>\n<p>\n","protected":false},"excerpt":{"rendered":"<p>La otra noche pens\u00e9 en procesar un video para poderlo ver en el tel\u00e9fono m\u00f3vil, de modo que lo primero que hice fue analizar el formato que es capaz de reproducir as\u00ed como el contenedor y los codecs tanto de audio como de video. Despu\u00e9s de muchas pruebas al final consegu\u00ed que se vea correctamente [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"https:\/\/nauj27.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/438"}],"collection":[{"href":"https:\/\/nauj27.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nauj27.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nauj27.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nauj27.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=438"}],"version-history":[{"count":1,"href":"https:\/\/nauj27.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/438\/revisions"}],"predecessor-version":[{"id":527,"href":"https:\/\/nauj27.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/438\/revisions\/527"}],"wp:attachment":[{"href":"https:\/\/nauj27.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nauj27.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nauj27.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}