VCS 1.13.3 released

The latest version of VCS is available to download.
It's been a good while since the last release, but there aren't a lot of changes this time around, apart from the usual bugfixes there's better handling of errors and unsupported files.

The most important bug fixed is obviously the one I already previewed some days ago. The header was being cropped with current-day ImageMagick, and that problem should be gone.

See the full changelog for more details.


vcs 1.13.3
vcs-1.13.3.gz (script only)
or
vcs-1.13.3.tar.gz (script, sample configuration, manpage and profiles)
deb, rpm, PKGBUILD & xz
as usual at p.outlyer.net/vcs

Unofficial Ruby version of VCS

For anyone interested, Thomas has contacted me to let me know he wrote a "Video Contact Sheet Ruby" which reuses part of VCS' code and outputs contact sheets in the same style.
Being written in Ruby, its code will be less of a mess and, even more interestingly, it can run on Windows with less hackery than VCS.

So you're invited to take a look at his project at https://github.com/FreeApophis/vcs.rb.

Nubeox en Linux

En este post explico cómo he conseguido reproducir contenidos de Nubeox Premium protegidos con DRM en Linux.
El mismo método debería servir para otros servicios problemáticos basados en Flash, como Wuaki o TotalChannel aunque no lo he probado.

Como tantas otras veces, el Wiki de Arch Linux ha sido de lo más útil. El problema parece ser que el DRM en Flash requiere HAL. Pero HAL hace años que está en desuso y desaparecido o reducido a la mínima expresión en la mayoría de distribuciones.
La solución pasa por instalar una versión especial de libhal, que internamente usa el sistema más moderno udisks, pero que proporciona los elementos necesarios para que el DRM de Flash funcione.
Se puede encontrar en https://github.com/cshorler/hal-flash, y una vez descargada habrá que compilarla y reemplazar el libhal del sistema si es que aún sigue ahí. Ojo, otros programas que aún dependan de HAL podrían tener problemas. Por suerte en mi caso (Debian Sid) libhal ya no era necesario.

En sistemas basados en Debian (Ubuntu, Mint…) se puede crear el paquete deb fácilmente:

$ sudo apt-get install devscripts build-essential
$ unzip hal-flash-master.zip
$ cd hal-flash-master
$ debuild -us -uc -b
$ sudo apt-get remove libhal1
$ dpkg -i ../libhal1-flash_*.deb

Además hay que eliminar la caché del plugin Flash:

$ cd ~/.adobe/Flash_Player
$ rm -rf NativeCache AssetCache APSPrivateData2

Tras seguir estos pasos, la reproducción de contenidos de Nubeox empezó a funcionar, tanto los canales en directo como las películas y episodios de series. No he probado los alquileres aunque imagino que funcionarán.

Referencias:

VCS 1.13.2 released

A new update of VCS with a couple bugfixes is available to download. Once again, if you had problems with the previous versions there's nothing new.

It fixes a bug when using MPlayer as capturer that could produce one more capture than expected. Thanks to Miya for reporting it.

See the full changelog for more details.


vcs 1.13.2
http://p.outlyer.net/vcs/files/vcs-1.13.2.gz (script only)
or
http://p.outlyer.net/vcs/files/vcs-1.13.2.tar.gz (script, sample configuration, manpage and profiles)
deb, rpm, PKGBUILD & bz2
as usual at http://p.outlyer.net/vcs/

VCS 1.13.1 released

A minor update of vcs is available to download. In short, if you don't use Arch and you had no problems running it there's no need to update.

It fixes an uncommon bug and updates the build script for Arch Linux. Thanks to Eris Belew for reporting these.

See the full changelog for more details.


vcs 1.13.1
http://p.outlyer.net/vcs/files/vcs-1.13.1.gz (script only)
or
http://p.outlyer.net/vcs/files/vcs-1.13.1.tar.gz (script, sample configuration, manpage and profiles)
deb, rpm, PKGBUILD & bz2
as usual at http://p.outlyer.net/vcs/

Rooting a Minix

Index

Introduction

This article is about rooting a Minix set top box (a Neo X5 mini in my case), although it may be applicable to similar hardware, either from Minix or simply running on a Rockchip RK3066.

These devices are problematic simply because the default android tools won't detect them. Most solutions I've come across are reduced to "install Moborobo" or "run this fine one-click solution", which is of little help when you're running on a different OS or when something fails.

So this little guide is a lot more barebones, I've collected what steps should be followed and what ADB commands must be run instead of providing a script. Although it is written for Linux systems, most steps and all ADB commands will be the same on other systems.

Some of these steps might be unnecessary, but they will do no harm.

Setting up the device

By default the Minix won't even be visible by a computer, but that's easy to enable.

Just go into Settings → USB → Connect to PC.

Note this option will be re-disabled on each reboot.

You should also enable USB debugging:

Settings → Developer options → USB debugging

Now, plugging the device to the computer will make it detectable but ADB won't recognise it just yet.

ADB access

This section is tailored to Linux. Source: [1]

Enable normal users to access the device

Check that the device is detected:

$ lsusb
[...]
Bus 003 Device 025: ID 2207:0006
[...]

Devices like 2207:xxxx with no description are the ones this guide is about.

Add an udev rule to allow normal users to access the device:
Create a file in /etc/udev/rules.d/ named <SOMETHING>.rules with the contents:

SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666", GROUP="plugdev"

And reload udev rules:

# udevadm trigger

Enable ADB to recognise the device

You'll need to add the vendor id to the list of known android devices.
Simply add a line containing 0x2207 to the file ~/.android/adb_usb.ini:

$ echo 0x2207 >> ~/.android/adb_usb.ini

And stop ADB:

$ adb kill-server

It should now be able to recognise the device:

$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
ABCDE12345      device

Rooting procedure

You'll need the following:
su and busybox binaries
SuperSu apk

You can download a handy archive containing them from this thread on xda (post #2, file X5 Mini v4.2.2 Root.rar).

You might try running the included BAT if you're on Windows or continue with this guide for the dissection of it. The BAT contains commands you can copy-paste directly in the command-line, what follows are equivalent commands.

Note that, at least on the Minix, you'll already have root shell access. What's lacking is allowing "scalation" of privileges outside the shell.

Stage 1

$ adb shell
android# mv /data/local/tmp /data/local/tmp.bak
android# ln -s /data /data/local/tmp
android# reboot

The device will reboot. You'll have to re-enable "Connect to PC" in settings.

Stage 2

$ adb shell
android# rm /data/local.prop
android# echo "ro.kernel.qemu=1" > /data/local.prop
android# reboot

The device will reboot. You'll have to re-enable "Connect to PC" in settings.

Stage 3

$ adb remount
$ adb push su /system/bin/su
$ adb push busybox /system/bin/busybox
$ adb push SuperSU.apk /system/app
$ adb shell
android# cd /system/bin
android# chown root.shell su
android# chmod 6755 su
android# chown root.shell busybox
android# chmod 0755 busybox
android# cd /system/app
android# chown root.root SuperSU.apk
android# chmod 0644 SuperSU.apk
android# cd /data
android# rm local.prop
android# rm tmp
android# mv tmp.bak tmp
android# reboot

The device will reboot and you should have root access.
Launch the SuperSU app to check. It will probably want to update the su binary, let it do so.

If SuperSU doesn't seem to find the su binary, check it's there and that it has the appropriate permissions:

$ adb shell
android# cd /system/bin
android# ls -l su
-rwxr-xr-x root     shell       91980 2012-06-27 21:50 su  # ← Incorrect permissions
android# chmod 6755 su
-rwsr-sr-x root     shell       91980 2012-06-27 21:50 su  # ← Correct permissions

And re-run SuperSU

Sources

  1. ADB shell with RK3066
  2. Minix Neo X5 Mini 4.2.2 root how to? – xda-developers

Pipelight: Silverlight en Linux

¡Por fin! Una solución para poder usar sitios que requieren Silverlight en Linux sin problema (en la mayoría de casos, al menos).

Hace tiempo que Moonlight está abandonado, muerto y enterrado. Moonlight era el engendro de Novell y Microsoft que implementaba Silverlight (pero no todo) en Linux, y que nunca fué una solución demasiado buena. Microsoft como casi siempre no tiene ningún interés en soportar Linux (aún gracias que soportan Mac OS X, aunque sea por poder decir que .NET y Silverlight son multiplataforma).

Reproductor de video sobre Pipelight

Pipelight en acción

Parece que desde hace algunos meses tenemos otra solución viable: Pipelight. No es una solución bonita, pero permite tener un "plugin Silverlight" oficial en el navegador estándar que queramos usar y funciona, que no es poco.
Tras el telón usa Wine y unos cuantos hacks para poder correr el plugin para Windows. Funciona tanto en x86 como en amd64 y dentro de lo que cabe no es demasiado difícil de instalar, hasta proporcionan paquetes binarios para multitud de distribuciones.

Como comparación, la versión "usable" de Moonlight que tenía instalada corría el test Balls Animation entre 30 y 60 fps mientras que pipelight me lo mueve a 200.
La reproducción de video en Yomvi, cuyo cambio de Flash a Silverlight me había desesperado, es bastante fluída.

Las instrucciones de instalación están en inglés, aunque son bastante fáciles y casi todo consiste en ejecutar los comandos que muestran.

VCS 1.13 released

An updated version of vcs is available to download. Shame on me for the long wait since this has been pretty much completed for months.

The biggest change this time is the "blank frame avoidance" feature, with which (mostly) blank frames will not be captured, if possible, this is one of the cool features found in mtn and worth stealing 🙂

Also worth noting is the ability to load profiles automatically. E.g. adding "profiles=white,mosaic" to your ~/.vcs.conf file will use both profiles. A new profile ("compact") is added, and a list of installed profiles can be obtained with $ vcs –profile :list.
The manual page is finished too.
Of course you'll have to download and install the full package instead of just the script to get the profiles and man page installed.

Other minor additions are the identification of captures from FRAPS and of course the usual batch of fixes and scheduled changes. FreeBSD users, and hopefully Mac OS X too though I can't check, can again use the script too.

Finally, please read «Features to be removed from VCS» if you have any interest in VCS' future versions.

See the full changelog for more details.


vcs 1.13
http://p.outlyer.net/vcs/files/vcs-1.13.gz (script only)
or
http://p.outlyer.net/vcs/files/vcs-1.13.tar.gz (script, sample configuration, manpage and profiles)
deb, rpm, PKGBUILD & bz2
as usual at http://p.outlyer.net/vcs/

Descarga de vídeos Flash, Parte 3: El formato F4F

Y continuando con la serie, tenemos un nuevo formato que, de nuevo, viene a complicarnos la vida, aunque como de costumbre hay formas de descargarlo: El (relativamente) nuevo formato de Adobe "HTTP Dynamic Streaming" (o F4F). A día de hoy este formato lo utiliza, por ejemplo, La Sexta en sus programas completos.

La mayor complicación de este formato es que los vídeos vienen en múltiples fragmentos pequeños, y unirlos tiene su truco. Por suerte un tal KSV ha preparado un script que permite automatizar el proceso de descarga y unión de fragmentos. El script está escrito en PHP por lo que debería funcionar en cualquier sistema operativo, una vez instalado el intérprete de PHP.

En el caso que he probado, la descarga no puede ser más fácil: hay que obtener la URL del "manifiesto" (un archivo que indica qué archivos hay que descargar) y ya está.
Una forma fácil de obtener esta URL (aunque un pelín complicada de explicar) es abrir Firefox, presionar CTRL+SHIFT+K para desplegar la consola y asegurarse que "Net" está marcado, cargar la pagina del vídeo y darle al "play". En la consola introducimos ".f4m" en el campo Filtro y deberíamos obtener la URL indicada, haciendo click en la URL se abrirá una ventana, donde la linea Request URL (o URL de la petición) es la que nos interesa.

Por ejemplo, si obtenemos:
Request URL: http://servicio.ejemplo.com/v/programa/hd/ABCDEF.mp4/manifest.f4m?c=ABCDEF, deberemos ejecutar el script con:

$ php AdobeHDS.php --manifest "http://servicio.ejemplo.com/v/programa/hd/ABCDEF.mp4/manifest.f4m?c=ABCDEF"

con lo cual se descargarán y unirán los fragmentos, creando un archivo con extensión .flv. Los fragmentos individuales no se borrarán automáticamente.
No lo he comprobado pero dependiendo del servidor es posible que tengas que pasar también el argumento --auth {VALOR}, donde {VALOR} se obtiene de forma parecida a como con el manifiesto pero filtrando con "Seg".

Se puede obtener el script AdobeHDS.php en https://raw.github.com/K-S-V/Scripts/master/AdobeHDS.php
 (y otros scripts del mismo autor en https://github.com/K-S-V/Scripts)


Fuente: http://stream-recorder.com/forum/adobe-hds-downloader-t12074.html

VCS 1.12.3 released

I haven't updated VCS in a while and somehow managed to keep this update ready but unreleased for months, so today I decided it was about time to get rid of it and be free to work on 1.13 😛

This is a minor update with a couple bugfixes, but most importantly, it marks the switch to bash 3; this means a lot of small changes to the code so you should update to 1.12.3 to test if it works correctly before I release future versions (eventually 🙂 with much more important changes.

Changes (excerpt):

  • Bugfix: Actually handle –ffmpeg and –mplayer [#169]
  • Bugfix: Correct parsing of -U [#187]
  • Switch to a minimum of bash 3.1 [#173]
  • Avoid re-capturing the same frame twice [#122]
  • Use getent instead of /etc/passwd when available
  • Bugfix/Internal: Don't use mplayer's length as a ceil for timecode removal [#174]

vcs 1.12.3
http://p.outlyer.net/vcs/files/vcs-1.12.3.gz (script only)

or
http://p.outlyer.net/vcs/files/vcs-1.12.3.tar.gz (script, sample configuration, manpage and profiles)

deb, rpm, PKGBUILD & bz2
as usual at http://p.outlyer.net/vcs/