Mi MP4 no reproduce el formato MP4

16.5.09. Por ooscarr (ooscarr)

Me regalaron un reproductor MP4 chino de la ZOFRI, que más bien es un pendrive con pantalla. Lo que más me costó fue ponerle videos porque a pesar de que le llaman MP4, el formato que reproduce es SMV ¿?

MPK1040
iPobre

¿Quién conoce los SMV?

El SMV es un formato binario de video que en el fondo es un audio sin comprimir acompañado de una secuencia de imágenes JPEG pero todo especifico para el chip de Sigmatel.

El audio sin comprimir es generalmente de baja potencia para dejarle procesador y memoria al procesamiento de las imágenes. La experiencia también me ha mostrado que tampoco reproduce los videos excesivamente largos.

Convertidor de videos

Junto con el reproductor, venía un mini CD con los controladores para windows 98 y un convertirdor VIDEO2SMV. Pero en Wikipedia encontré una versión más reciente:

VIDEO2SMV
Su uso se ve simple y lógico: se agregan los archivos a la lista y se presiona el botón "Convert".

Sobre los botones con una "A", uno achica la imagen para que quepa todo en la pantalla y el otro la agranda para que la llene. De los dos botones con las bocinas, uno es mono y el otro es sonido estéreo.

Esto es importante saberlo. La aplicación hace la conversión por medio de los componentes del Reproductor de Windows y sólo acepta los formatos contenedores AVI y WMV. Espero que no hayan otros códecs por ahí haciendo conflicto con los originales que venían en Windows.

Cómprate un iPod, Perico.

Luego de leer mi manual e intentar diferentes combinaciones, descubrí que mi descontinuado reproductor no se reinicia si los videos los pongo a 5 fps.

Lo interesante de esto, es que leí por ahí que estos chips eran los que usaban los iPod shuffle de primera generación. Así que yo podría inferir que los primeros iPods ya eran capaces de reproducir video pero no de la manera que Steve Jobs le hubiera gustado. Ahora entiendo por qué.

Referencias

Etiquetas: , ,

Tip: Agrega más actividades a tus perfiles en la web

3.5.09. Por ooscarr (ooscarr)

Cuando entras a una red social no estás obligado/a a poner toda tu información en dicho sitio. Puedes vincular otros los servicios que usas de modo que tus amigos de uno y de otro puedan ver lo que publicas sin importar qué servicio ocupas.

Ahora que todo el mundo se cree friendfeed, se le unió Windows Live Profiles y aquí rápido te muestro cómo vincular los defirentes servicios para que lo hagas y se me haga más fácil seguirte, no puedo andar revisando todas las páginas por separado.

Windows Live

Imagen de ooscarr en Windows Live

Si usas Hotmail o Messenger, sobretodo en latinoamérica, ya te habrás dado cuenta que existen los perfiles de Windows Live.

Bueno, ahora puedes hacer que tus fotos de flickr, fotolog, facebook, metroflog y otros aparezcan automáticamente anunciadas en tu perfil de Windows Live o en el nuevo Windows Live Messenger.

Barra de novedades en Windows Live Messenger para Windows: Oscar agregó fotos a flickr

Agregar actividades web en un perfil de Windows Live

Y no sólo las fotos, también tus canciones favoritas de last.fm o el zune, artículos de tu blog, digg y otras redes sociales como facebook.

Solo tienes que entrar a tu perfil y agregar los nombres de usuario que usas en cada servicio.

Lo único malo (o bueno, según tu opinión particular), es que en el mundo de Windows Live no existe Google.

Facebook

Lo que pasa cuando haces click al botón configuración que aparece en tu perfil de facebook

En facebook también puedes hacer lo mismo, puedes hacer que cada vez que publiques algo nuevo en tu flickr, Google Reader, last.fm, Youtube, del.icio.us o cualquier RSS, aparezca anunciado en tu muro de facebook.

Para eso, sólo haz click en Configuración, elige el servicio, escribe el nombre de usuario y el botón importar.

Google, Yahoo! y otros

Gogle Profiles, con esto del Google Friend Connect, también está haciendo perfiles donde puedes vincular tu sitio de fotos.

Yahoo! algo tarde intenta hacerse el facebook con sus Yahoo! Profiles, y es una buena idea porque Yahoo! tiene muchos servicios que se están desperdiciando y que de esta manera obtienen mayor notoriedad.

friendfeed

Y al final, el rey, no sé si friendfeed (también en español) fue el que empezó con esto, pero tiene una característica muy útil que es la de crear amigos imaginarios de modo que si uno sabe que alguien usa ciertos servicios, se puede reunir toda su información y recibir sus actualizaciones en tiempo real incluso. Aunque el nuevo diseño lo encuentro feo.

Así que para allá va la tendencia en cuanto a redes sociales, ¿se parece al trusted computing, no? También está el regreso de los frames para que los usuarios no se vayan de sus páginas. Si no quieren que sus usuarios los abandonen, ofrezcan servicios con mayor calidad y valor agregado, y ofrezcan portabilidad de datos, nosotros deberíamos ser los dueños de nuestro contenido.

Artículos relacionados

Etiquetas:

Ejecuta otro sistema operativo en una ventana sin reiniciar

9.4.09. Por ooscarr (ooscarr)

VirtualBox

Se me acabó el período de prueba de Parallels (US$79,99), y ya que también se estaba acabando el período de descarga de Windows 7 beta (12 de febrero de 2009), me animé a probar Virtualbox, un proyecto opensource para correr máquinas virtuales del que se estaba hablando harto en el mundo mac.

En un mundo dominado por el sistema operativo Windows, hay un par de cosas en las que dependo de este SO que son: un programa que me piden en la Universidad y que no puedo ejecutar con wine, y un pendrive que viene diseñado para ser reconocido sólo por Windows (debería cambiarlo).

Personalmente, participé en dos presentaciones de Virtualbox donde pude aclarar mis dudas por medio de demostraciones, haciendo preguntas y viendo las de otras personas, en vivo y en directo con los desarrolladores de Sun; y esa demostración me convenció de que Virtualbox es una herramienta ya madura que puedo considerar y recomendar aceptablemente. La uso a menudo.

windows 7 corriendo en VirtualBox bajo Mac OS X Leopard

Con respecto a las máquinas virtuales, hay algunas palabras claves que hay que conocer:

Máquina virtual
Es una manera especial de correr diferentes sistemas operativos dentro del SO que estás ocupando. Por ejemplo, dentro de una ventana como cualquier otro programa.
Host o Anfitrión
Se refiere al computador donde se está ejecutando Virtualbox, o sea, el real.
Guest o invitado
Corresponde a la máquina virtual. El sistema operativo invitado cree que se está ejecutando sobre hardware real y funciona.
Tecla anfitrión o Host key
Esto es específico de Virtualbox. Es la tecla o combinación de teclas para intercambiar el puntero y el teclado entre ambos sistemas operativos. Si aparece la palabra izquierda, significa que es la tecla del lado izquierdo, no siempre la flechita . Es un problema de traducción.

Algunas consideraciones

  • Está diseñado para correr guests de sistemas x86.
  • No puedes virtualizar Mac OS X porque está prohibido en la licencia de Apple.
  • Deberías tener licencia para instalar el sistema operativo en la máquina virtual.
  • En la versión 2.2 todavía no se pueden arrastrar archivos desde el Host y soltarlos al Guest. Viene en camino. Pero se pueden compartir archivos.
  • Puedes correr sistemas de 64-bits en computadores de 32-bits, pero se sobre-calienta el procesador así que debes que tener cuidado. De todos modos Virtualbox indica cuáles sistemas invitados son los que puedes correr en tu máquina.

Pequeño tutorial: Instalando Windows 7 en Mac OS X

A continuación, los 3 videos claves para aprender a usar Virtualbox. También conocidos como The Fat Bloke's Shorts (en inglés).

Paso 1: Instalar Virtualbox

Es tan fácil que llega a dar vergüenza.

Download and Install VirtualBox on a Mac

Paso 2: Instalar Windows 7 desde la imagen de disco, DVD o CD

En mi caso, bajé el beta de Windows 7 porque en su tiempo era gratis y legal.

No olvidar instalar las guest additions una vez que se está en Windows.

Creating a Windows 7 virtual machine in VirtualBox 2.1.2

Ojo que en la barra de estado, aparece la tecla que se necesita para liberar el puntero del ratón (o mouse) y el teclado de la máquina virtual.

Paso 3: Configurar directorios compartidos

Esto fue lo que más me costó, y era porque no había visto este video donde aparece el dato más importante: hay que escribir el prefijo \\vboxsvr\ antes del nombre asignado a la carpeta compartida. Cuándo iba a adivinar...

En Linux necesitarás instalar samba primero.

Host-Guest Integration with VirtualBox

En mi caso, dentro de Windows dice que tengo 20GB de espacio en el disco, pero en mi disco duro real Windows 7.vdi ocupa menos de 8GB. 20GB es el máximo que puede alcanzar el archivo de disco duro virtual. Por eso le dicen semi-dinámico.

Es bueno darse una vuelta por la configuración después, donde le bajé la RAM a 256MB para que mi computador no se ponga lento y, deshabilitando opciones de Windows innecesarias, Windows 7 me funciona tan rápido como Windows xp dentro de una máquina virtual en mi computador con Mac OS X Leopard (se está trabajando para que funcione en modo 64-bits).

También puedes congelar el sistema operativo para que cargue más rápido la próxima vez que lo vas a usar, eligiendo la opción correcta. Para eso, cierra la ventana no más sin apagar Windows correctamente.

Y eso es todo. Cuando se me acabe el tiempo de prueba de Windows 7 y/o cuando tenga más espacio en mi disco, contaré cómo instalar otras versiones de Windows legalmente en Virtualbox. Gratis.

Más información

Etiquetas: , , ,

Imágenes como objetos en Internet Explorer

7.4.09. Por ooscarr (ooscarr)

En XHTML2, las etiquetas <img> y <applet> fueron reemplazadas por <object>, algo que en Internet Explorer era un tremendo problema. Digo era, porque Internet Explorer 8 se comporta más o menos como el resto de los navegadores modernos, acompañado de una nueva función llamada "modo compatibilidad". En este artículo muestro una solución conocida a la incompatibilidad con las imágenes insertadas como objeto de las versiones anteriores.

¿Por qué <object>?

La historia del objeto

  1. Con Internet Explorer 3.0 Microsoft introdujo una tecnología para insertar elementos ActiveX dentro de una página web utilizando la etiqueta <object>.
  2. Netscape también quiere insertar videos en las páginas web y saca la etiqueta <embed>, con otro nombre para diferenciarse de la tecnología ActiveX específica del sistema operativo de Microsoft.
  3. En 1997 se le agrega el elemento <object> a la especificación del HTML.
  4. Microsoft ajustó su forma de tratar los objetos para que aceptaran el estándar. Pero siguió tratando a todos los objetos como elementos de ActiveX.
  5. Hasta el día de hoy.
  6. La etiqueta <embed> nunca fue estándar, aunque se sigue utilizando por algunos para evitar de manera rápida los problemas de incompatibilidad.
  7. Después sale la especificación de XHTML2 donde se eliminan las etiquetas <img>, <applet> e <iframe> para ser reemplazadas por <object>.
  8. Internet Explorer 8 muestra los objetos de manera más parecida al estándar.

Qué tenía de malo el <img>

Semánticamente, aparte de que i-m-g no es una palabra completa como image u object; a mi manera de pensar, <object> es una palabra mucho más genérica para nombrar esta clase de elementos que no son texto en una página web.

Pienso que si se siguiera utilizando una etiqueta específica para las imágenes, tendría que crearse otra llamada <video> (como lo hicieron en HTML5) y siguiendo esa lógica después vendrían <map>, <game>, <iframe> (también fue eliminado), <application>, <applet>, <vr>, etc. Obligando a cambiar o extender el estándar cada vez que a alguien se le ocurra insertar nuevo tipo de contenido en una página web. Y luego comienzan los dilemas: ¿es applet una application? ¿Y si el iframe contiene un video? ¿El objeto flash es un video, una aplicación, una animación, o un <application><video><animation> </animation></video></application>?

En cambio, una sola etiqueta estandarizada para embeber elementos es mucho más flexible, pudiéndose usar el MIME type para diferenciar de qué clase de objeto se trata.

Sin embargo, y lo supe recién, la etiqueta <img> se va a mantener al final debido a los reclamos y para hacer felices a todos, pero con la condición de que se prefiera la etiqueta de objeto.

Ejemplo de código

Por ejemplo, la etiqueta...

<img
 src="rss.jpg"
 width="152"
 height="160"
 alt="RSS" />

Como objeto se vería como...

<object
 type="image/jpeg"
 data="rss.jpg"
 width="152"
 height="160">
 <p>Icono <acronym xml:lang="en-us" title="Really Simple Syndication">RSS</acronym>.</p>
</object>

Como se pudo apreciar, el texto alternativo de la etiqueta <object> tiene mayor riqueza descriptiva que el texto plano permitido en el atributo alt de la etiqueta <img>.

Es más, si el software agente que se está utilizando para visualizar el documento no tiene soporte para un determinado formato de imagen, o cualquier otra cosa, el elemento <object> en teoría permite disponer de otros objetos para colocar en su lugar.

Ejemplo:

<object
 type="video/x-mng"
 data="logo.mng"
 width="152"
 height="160">

 <object
  type="image/gif"
  data="logo.gif"
  width="152"
  height="160">

  <p>Logo de ElBlog</p>

 </object>
</object>

En teoría, porque Internet Explorer para Windows tiene sus diferencias.

Internet Explorer

Prácticamente todos los navegadores modernos están preparados para insertar imágenes como objetos. Pero las versiones anteriores de IE no.

Problemas de objeto con Internet Explorer 6 y 7

  • Borde visible alrededor del objeto.
  • Espaciado interior (padding) extra dentro de los objetos. y como el tamaño del objeto es el mismo que el de la imagen...
  • Aparecen las barras de desplazamiento innecesariamente.
  • Cuando hay varios objetos como en el ejemplo anterior, en vez de mostrar el primero que entiende, IE6 los carga todos.
  • Si tienes las opciones de seguridad en "alta" (deshabilitando todos los controles ActiveX), no verás ningún elemento <object>, incluso aquellos que no tienen nada que ver con ActiveX (como nuestras imágenes).
  • Es más, si el objeto imagen es de otro dominio, aparecerá una alerta de seguridad en Internet Explorer. ActiveX.
  • Olvídate de las semi-transparencias de los PNG.
  • Al deshabilitar las imágenes, Internet Explorer cargará los objetos igual.
  • Al poner un vínculo alrededor de un objeto, éste no se vuelve clickeable.

Posible solución a los problemas con Internet Explorer

Para el problema de lo objetos alternativos

Para cuando tengas varios objetos como alternativas de formato o para agregar información adicional para los ciegos o robots buscadores, puedes usar los comentarios condicionales para evitar que los procese Internet Explorer 6 y seguir cumpliendo con los estándares:

<object
 type="image/tiff"
 data="beagle.tiff"
 width="152"
 height="160">

 <!--[if gte IE 7]>
 <object
  type="image/jpeg"
  data="beagle.jpg"
  width="152"
  height="160">
 </object>
 <![endif]-->

</object>

Usé gte IE 7 porque en Internet Explorer 7 se soluciona este problema.

Para los problemas estéticos

Para deshacerse del borde alrededor, el extra padding y las barras de desplazamiento; existe un javascript que detecta y aplica los estilos correspondientes de estos objetos.

El código javascript es el siguiente:

function fixObjectImages(){
 var objs=document.getElementsByTagName('OBJECT');
 for(n=0;n<objs.length;n++){
  var obj=objs[n];
  if((obj != null && obj.type != null)
  && ((obj.type=="image/jpeg")
  || (obj.type=="image/gif")
  || (obj.type=="image/png"))){
   fixObject(obj);
  }
 }
}
function fixObject(obj){
 obj.body.style.border='none';
 obj.body.style.margin='0';
 obj.body.style.padding='0';
 obj.body.style.overflow='hidden';
}
window.onload = fixObjectImages;

El truco para arreglar el elemento <object> es darse cuenta que actúa como un <iframe>; o sea, es su propio canvas con un canvas. Dentro del DOM, un <object> tiene su propio body con todas sus propias propiedades. Entonces para remover el borde, simplemente lo hacemos en nuestra función window.onload (demo):

Afortunadamente Internet Explorer 8 arregló esto, logrando así que todos los mayores navegadores modernos estén preparados para insertar imágenes como objetos.

Este y otros cambios produjeron problemas de incompatibilidad con el código de páginas web preparadas para las versiones anteriores de IE. Esto obligó a incluir un botón nuevo llamado "modo de compatibilidad" en la versión 8 del navegador y todo un sistema que consulta en una base de datos de Microsoft para saber cómo abrir cada página web (opcional, por privacidad).


Botón de Vista de compatibilidad en Internet Explorer 8.

Estas novedades provocaron confusión y descontento en los usuarios no ilustrados en el tema de los estándares web. La mayor parte incluso volvió a las versiones anteriores. :-@

Para los objetos PNG en IE6 y los vínculos

Debido a la forma en que los objetos son tratados por Internet Explorer, no se me ocurre otra manera de solucionar el problema de los PNG semi-transparentes en versiones anteriores a Internet Explorer 6 y el no poder cambiar el tamaño de la imagen original sin necesariamente tener que reemplazar todas las etiquetas <object type="image/png"> por <img>.

Para el ActiveX e imágenes deshabilitadas

N.T.S. Si se deshabilita ActiveX, desaparecen todos los objetos.

Cuando se deshabilitan las imágenes en las versiones anteriores a Internet Explorer 8, las imágenes como objeto seguían apareciendo; en cambio en IE8, desaparece todo el objeto sin mostrar el texto alternativo.

Ejemplo final

En el siguiente ejemplo, se muestran dos imágenes PNG con un vínculo cada una. La primera corresponde a la etiqueta <img> de toda la vida y la segunda es un objeto. A ambas se les han aplicado los javascript para que se vean lo mejor posible en las diferentes versiones de IE y comparar su funcionamiento en los distintos navegadores.

Pelota  
La 1ra imagen tiene la etiqueta <img> y la 2da, <object>

Palabras finales

Internet Explorer no estará siguiendo el estándar XHTML hasta que acepte el MIME type application/xhtml+xml, por lo que el uso de <object> en vez de <img> para las imágenes en Internet Explorer no es ninguna obligación ya que todos las versiones de HTML que acepta IE aceptan la etiqueta <img>.

Se hace imperativo que todos se actualicen y actualicen cada computador con Windows que no tenga Internet Explorer 8, porque seguir con versiones antiguas de los navegadores hacen que se retrase el desarrollo de la web.

Referencias

Artículos relacionados

Etiquetas: , , ,

Llegaron los APNG (y no son estándar)

1.3.09. Por ooscarr (ooscarr)

Animación de pelota rebotando

Pobre MNG... Un formato de animaciones basado en el PNG. Cuando salió nadie lo pescó. No estaba terminado cuando se masificó el GIF gracias a Netscape, a pesar de que era un formato propietario. Sin embargo, MNG poseía mayor compresión, transparencias alpha, y perfiles de color.

Ahora Mozilla Firefox 3 (cuyo motor se basó en el de Netscape) incluye soporte para los archivos APNG dejando botado al estándar MNG. La principal razón fue la menor cantidad de código en comparación con el MNG para poder implementarlo. Otra ventaja de APNG es que los archivos, de extensión PNG, se degradan agraciadamente en los navegadores que no soportan el formato. No así con el MNG, que hasta se está viendo la posibilidad de darle su propio MIME type.

Pero el APNG no es un estándar. Al principio se tuvo la inteción de definir una especificación simple para animaciones en PNG al estilo GIF, pero los desarrolladores de la época decidieron expandirlo a algo más complejo que resultó en un nuevo formato: el MNG.

Después llegaron unos turcos, estudiaron el PNG, inventaron la forma de incluir animación después de poner el primer frame como si fuera un PNG normal, mandaron un parche a Mozilla, a todos les gustó, se propuso como estándar, fue rechazado, el formato se quedó en el código y hoy (marzo de 2009) ya se encuentra implementado en los navegadores Mozilla Firefox 3 y Opera 9.5.

Así que ya llegaron. Estándar o no, sirven para pequeñas cosas como ese remolino animado que indica que algo está cargando, por ejemplo, donde no se sabe si el fondo será oscuro, claro, de color... Que todos hemos visto con bordes pixelados en formato GIF o con un cuadrado negro detrás para disimular la necesidad del canal alpha.

Cargando...

¿Llegará el MNG?

Eso todavía se discute.

(el APNG) es un MNG simplificado. Como la mitad de las costosas definiciones están fuera. Hay un soporte avanzado para disponer del método "restaurar-al-previo" del GIF. El "perfil de simplicidad" se fue.

¿Por qué existe este tema? MNG es un estándar inmensamente complicado que nadie quiere implementar. Encuentra a alguien que lo implemente y a alguien que le importe y con eso tendrás media posibilidad. Nada que se diga en este foro va a cambiar eso.

Y por los méritos del APNG, bueno, es extremadamente simple por una razón. La compatibilidad hacia atrás con PNGs no-animados era una meta admirable, pero si se empuja al APNG hacia un nuevo MIME y una nueva extensión de archivo, sería menos útil en la web, lo cual sería ciertamente una vergüenza. Dicho eso, esto es lo mismo que en cualquier debate de estandarización. De cualquier forma, nadie puede usar realmente esta cosa hasta alrededor de 5-10 años desde hoy, cuando existan múltiples implementaciones (si es que van a alguna parte).

Yo, por mi parte, no puedo utilizar MNG porque los navegadores no tienen soporte para el formato, no tengo un software donde pueda verlos (existe una compilación especial de Firefox que los muestra y plug-ins para otros navegadores), no está definido el MIME type aún (se está usando video/x-mng por ahora) y, sinceramente, no creo que llegue el día en que Internet Explorer no haga problemas con esto.

Este navegador no soporta MNG

Ejemplo de APNG

Como prueba de concepto, he convertido el logotipo animado de ElBlog al formato APNG. Por eso no se mueve ni en Safari ni en IE, al igual que la pelota saltarina que acompaña este post.

Referencias

Etiquetas: , ,

Publicidad