Cómo comprimir un vídeo en Linux (a .ogg)

Tengo un vídeo de 5 minutos que ocupa 1,5GB, así que lo tuve que comprimir. El fichero ocupa tanto porque el vídeo está a un bitrate de 30Mbits/s (1500Kbits/s son de sonido), es decir: no está comprimido.
Para comprimirlo hay que utilizar el programa ffmpeg, pero como es bastante complicado porque tiene muchísimas opciones y no tengo tanto tiempo, he utilizado el ffmpeg2theora, que creo que pasa a formato .ogg, pero a mí eso me da igual (realmente no sé si lo pasa a ese formato, pero funciona xD).
El comando para comprimir es:

ffmpeg2theora --optimize -V 600 -A 96 -x 640 -y 480 <fichero_origen> -o <fichero_destino>

El significado:

--optimize: que ocupe menos.
-V: bitrate de vídeo. A 600 creo que estará pasable; a 1000 es a lo que veo yo Heroes con Divx…
-A : bitrate de sonido. Deseable 128 o 196, pero como me importa poco, a 96 me llega.
-x : tamaño en horizontal. Si no se quiere cambiar se puede omitir.
-y : tamaño vertical. Si no se quiere cambiar se puede omitir.

Tiene otros parámetros como –aspect para poner 4:3 o 16:9, –inputfps, etc…
Fácil, rápido y cómodo :)

 

En http://paulrouget.com/e/converttohtml5video/ indican cómo convertir a webm, ogg y h264, aunque por si acaso, lo copio aquí:

Here are my 3 command lines to convert to WebM, OGG/Theora and mp4:

  • OGG/Theora
  • WebM/vp8
  • MP4/h264

Video are resized to 640×360 with a bitrate of 345k.

Programas de Cuac FM que están muy bien (103.4 Mhz)

Se puede escuchar desde internet. Tiene muy buena calidad de sonido y no sufre cortes ni nada de eso.

http://www.cuacfm.org/

* Miércoles de 17h. a 18h. : Megalomanía
Programa muy simpático con 2 voces bonitas femeninas, una en gallego y otra en castellano (y queda genial). Comentan cosas interesantes, y el otro día hablaban de manga y anime… Jacobo es el chico de la mesa de mezclas, a todo esto.

* Miércoles de 23h. a 24h.: Sponj
Programa emitido también por chicas muy simpático y gracioso. Está muy bien la sección final de “que los crujan” o “que les den/a la mierda” o algo así ;)

* Viernes de 15h. a 16h.: Chanfaina bizarra
Programa muy gracioso hecho por unos chicos pirados con los que te partes. El otro día iban a hacer una broma telefónica y el teleoperador les colgó xD

* Viernes de 16h. a 17h.: Absenta 90
Si los de antes estaban pirados, estos alcanzan el cénit del delirium tremens… totalmente recomendado, es un programa buenísimo donde el frikismo, rol, música casposa a veces, vocecitas… hacen tremendamente amenas las tardes del viernes =)

Qué hacer para que en Tomcat 6 funcionen CGI’s de ficheros ejecutables en Linux

Instalé el Tomcat 6 y no funcionaban los CGI’s así que no podía probar el juego de damas de Jacobo, programado en C. Para hacer que Tomcat 6 ejecute ficheros (que no sean Perl, que es la configuración por defecto), hay que hacer:

  • Modificar $CATALINA_HOME/conf/context.xml y en el tag <Context> poner <Context privileged=”true”> para que se pueda cargar la clase encargada de ejecutar los CGI’s, que ahora no es un .jar independiente, sino que viene embebido en catalina.jar (parece ser… es lo que he leído).
  • Modificar $CATALINA_HOME/conf/web.xml :
    • Descomentar <servlet>…</servlet> relacionado con el cgi; es el tag contenedor de <servlet-name>cgi</servlet-name>
    • Fijarse en el valor relacionado con <param-name>cgiPathPrefix</param-name> , en mi caso era WEB-INF/cgi , pero lo cambié a WEB-INF/cgi-bin porque me gusta más. Es el directorio donde pondremos los ejecutables, concretamente, para mí: $CATALINA_HOME/webapps/ROOT/WEB-INF/cgi-bin
    • Añadir el parámetro:
      <init-param>
      <param-name>executable</param-name>
      <param-value></param-value>
      </init-param>

      De esta manera, conseguiremos que se ejecute el ejecutable. Si se pone bash o sh a mí no me funciona, y con esto sí… tengo mis teorías, pero dan igual ;)
    • Descomentar el bloque del mapeado del servlet relacionado con los CGI’s:
      <servlet-mapping>
      <servlet-name>cgi</servlet-name>
      <url-pattern>/cgi-bin/*</url-pattern>
      </servlet-mapping>
  • Meter los CGI’s en $CATALINA_HOME/webapps/ROOT/WEB-INF/cgi (o cgi-bin si se cambia el nombre, como yo).
  • Recargar el Tomcat

Tras esto, se ejecutarán los ficheros cuando se acceda a la dirección http://localhost:8080/cgi/ejecutable (o el puerto que esté establecido)

QoS (Quality of Service) y conexiones compartidas a internet

Cuando se tiene una conexión compartida a internet lo mejor es configurar el QoS en el router, ya que permite establecer una garantía de ancho de banda de subida para cada ordenador.
El protocolo IPv4 no está diseñado para soportar dicha característica, por lo que depende del router el garantizar un ancho de banda dado. Si tu router permite configurar el QoS, bienvenido a las conexiones compartidas civilizadas.
La idea es establecer un ancho de banda de subida para cada ordenador, ya que es lo que principalmente repercute en la calidad de una conexión. Si tienes 256Kb de subida, puedes poner que garantice 128Kb para cada uno (en caso de ser 2); es un límite inferior, ya que si uno no está utilizando todo lo que tiene garantizado, otro lo puede aprovechar.
Sin QoS, si un ordenador consume todo el ancho de banda de subida, otro no podrá realizar peticiones por no disponer de ancho de banda de subida (el de bajada no suele ser problema), por lo que el QoS resulta algo MUY útil.

Aprovechando (aunque no es sobre el tema), comentar que la descarga también está relacionada con la subida; empíricamente, se puede dar el caso de que estar recibiendo de 20 conexiones TCP a 90KB/s puede significar un consumo de 7KB de subida, pero recibir a 150KB/s de 1 única conexión no debería suponer mucho problema para el ancho de banda de subida (si no está ya de por sí cargado).

Esperaremos a que se generalice IPv6, que creo que entre sus objetivos estaba poder dar garantías de conexión, si no me equivoco, claro…