Gestión de archivos .RAR con clientes Torrent

Desde hace algún tiempo “está de moda” empaquetar los vídeos en un formato .RAR. Al igual que el formato .ZIP, el formato .RAR sirve para empaquetar uno o varios archivos y carpetas y comprimir su tamaño sin perder las propiedades de los archivos. Generalmente el ahorro de tamaño es sustancial con lo que se usan frecuentemente para distribuir software.

El caso de los vídeos es distinto, porque los vídeos ya están altamente comprimidos y el formato .RAR no ayuda en absoluto. Pero es lo que prefieren los Webmasters, aunque el perjuicio para el usuario es notable: primero hay que descomprimirlo una o dos veces, y en algunos casos hay que introducir una contraseña que hay que ir a buscar a la web. Además está el problema de espacio requerido en “disco”, que se duplica o triplica en caso de un archivo .RAR anidado con contraseña dentro de otro .RAR

La extracción se realiza con herramientas como UnRAR de Rarlabs. UnRAR es un una versión reducida y gratuita del famoso WinRar que permite ser llamado como un comando más del sistema. Para ello tiene que haber una versión de UnRAR para cada tipo de sistema operativo. Rarlabs tiene una larga lista de sistemas soportados. Para Android existe también el app RAR que se descarga desde Google Play, pero no se puede llamar y pasar parámetros como con UnRAR, lo que la hace inútil para un proceso automatizado.

En Alfa nos hemos puesto como objetivo reducir en lo posible las dificultades de gestionar este tipo de formatos. No podemos reducir el tiempo que tarda en extraer, pero si hemos conseguido que el dispositivo lo vaya haciendo de forma desatendida mientras el usuario hace otras cosas en Kodi y Alfa.

Para esta tarea hemos necesitado dos actores: la disponibilidad del módulo UnRAR para la mayoría de sistemas operativos, y Clientes de Torrent que permitan conectar con este proceso de extracción.

Los módulos UnRAR ya van instalados en Alfa (puede no funcionar en todas las versiones de Android) con lo que no hay que hacer nada. Alfa probará automáticamente con las versiones disponibles hasta que encuentre (o no) una versión compatible con el sistema del dispositivo. A medida que obtengamos nuevas versiones se irán añadiendo a Alfa.

Los Clientes de Torrent son otra parte fundamental de este proceso. Para ello han sido revitalizados los dos clientes Internos de Alfa: BT y MCT. Ambos usan el módulo Libtorrent. De nuevo, en Android sólo está disponible la versión de 32-bits y no es compatible con Kodi de 64-bits. Además, Libtorrent tiene que ser copiado en Android a una carpeta especial del sistema que sólo es accesible si el dispositivo está “rooteado” (todo son problemas con Android!!!).

Adaptar los clientes internos era una tarea laboriosa pero no imposible, porque disponemos del código fuente necesario. El problema serio venía por los clientes Externos Torrest, Quasar, Elementum y demás. Al final hemos logrado envolver estos clientes con una capa que permite gestionar de la misma forma las descargas y extracción de archivos .RAR que con los clientes Internos Torrent. En resumen, disponemos de cinco clientes Torrent (BT, MCT, Torrest, Quasar y Elementum) operativos para cualquier tipo de descarga incluido la extracción de archivos .RAR

Últimamente hemos automatizado aun más la extracción. Ahora por defecto también los clientes Externos Torrest, Quasar y Elementum descargarán en segundo plano. Además se ha dotado al Alfa de un sistema de recuperación automática del proceso de UnRARing, de tal forma que en caso de cancelación por cualquier motivo, inmediatamente después o al reiniciar Kodi, volverá a lanzar el proceso de UnRARing aproximadamente donde estaba en la cancelación.

¿Cómo se descargan y extraen los vídeos empaquetados en archivos .RAR?

En la configuración de Alfa, Ajustes de Cliente Torrent, seleccionáis vuestro cliente preferido. Los dos clientes Internos ya vienen instalados en Alfa y los Externos hay que instalarlos como add-ons aparte.

Hay dos opciones nuevas comunes a todos los clientes, ambas activas por defecto:
- ¿Quiere que se descompriman los archivos RAR y ZIP para su reproducción?
o Si no se selecciona esta opción, el nuevo proceso de extracción no se activará
- ¿Se procesa la descompresión de RARs en segundo plano?
o Si no se selecciona esta opción, la pantalla quedará bloqueada durante la descarga y extracción. Si se selecciona podrá hacer otras cosas aunque el proceso no se podrá interrumpir hasta que haya finalizado

Adicionalmente se ha introducido el Path de descarga y el tamaño de Buffer para los clientes Internos.

Veamos un ejemplo práctico: serie Kryton, temporada 2x01:

En primer lugar, en la pantalla de enlaces ya avisa que estamos ante un archivo .RAR con lo que ya se puede decidir si se continua con el proceso. En este caso además tiene contraseña, lo que indica doble extracción: la primera extraerá otro archivo .RAR que tiene contraseña de extracción:

UnRAR1.jpg


Si seleccionamos el enlace de Torrent, empezará la descarga. Si se usan clientes Externos tipo Torrest, Quasar o Elementum y no se ha seleccionado la descargar en segundo plano, estos mostrarán un mensaje de aviso sobre el archivo .RAR. Si se quiere continuar con el proceso se debe aceptar.

En todos los casos si se ha seleccionado la descarga en “segundo plano” (recomendado, por defecto), aparecerá un contador en la parte superior derecha de la pantalla marcando en estado de la descarga. Si usamos Torrest, Quasar o Elementum y no se ha seleccionado la descargar en segundo plano, aparecerá la ventana típica del estado de la descarga. En el caso de Torrest y Quasar, se puede cancelar y cuando pregunte si “Keep downloading” se acepta. Pasa a descargar en segundo plano de forma similar a los clientes Internos. Con Elementum no queda más remedio que seguir con la ventana de activad porque si se cancela se cancela el proceso:

UnRAR3.jpg


Cuando haya terminado la descarga, Alfa llama al módulo UnRAR para realizar la extracción. Esta extracción también soporta archivos .RAR multiparte y formato RAR5. Si no tiene contraseña, normalmente con una extracción valdrá. Si tiene contraseña, después de la primera extracción empezará la segunda donde Alfa pasará la contraseña a UnRAR:

UnRAR4.jpg

Terminadas las extracciones, Alfa reproducirá el vídeo extraído. Si mientras se realizaba el proceso se ha aprovechado para reproducir otro vídeo, Alfa esperará a que termine el vídeo en reproducción para lanzar la reproducción del vídeo extraído:

UnRAR5.jpg

Una vez terminada la reproducción del vídeo extraído, preguntará si se desean borrar los archivos descargados/extraídos. Estos archivos se pueden localizar en el path que se haya configurado para cliente Torrent seleccionado:

UnRAR6.jpg

Para una correcta configuración de Quasar y Elementum, visita este post: ¿Qué usar? ¿Quasar o Elementum? Configuración y trucos...
 
Última edición:

Jumatemo

Usuario Novato
14 Jul 2019
8
0
1
36

Vale, ya no me sale el error.
Pero estoy perdido.
Se ha descargado bien, pero cuando me ha pedido la contraseña me dice que vaya a buscarla a una carpeta, y claro, primero que no la he encontrado, y segundo, que al salirme para buscarla ya se me quito el teclado para introducirla y no sé como volver a verla.
Es una Tvbox.

Gracias.
 
24 Oct 2017
1.978
574
113
Se puede configurar con cualquier disco interno o externo, pero conectado físicamente al tv-box. No soporta discos en red, tipo NAS
 
  • Me gusta
Reacciones: Anartz
24 Oct 2017
1.978
574
113
El proceso de UnRar usa la carpeta que usa el gestor de Torrent que utilices. Si es Quasar o Elementum, se configura el path en la opciones de esos add-ons. Si son los clientes internos de Torrent, se configura en Alfa, Configuración, Ajustes de Cliente Torrent, Ruta de la Carpeta de Descarga
 
  • Me gusta
Reacciones: Anartz

Korrika

Usuario Novato
6 Nov 2019
4
2
3
35
Hola,
Por lo que leo es necesario tener rooteado Android para poder descomprimir los rar desde alfa. Desde el desconocimiento, no serviría el siguiente addon para dicha función? Sería posible llamarlo desde alfa?

xbmc/vfs.rar

Muchas gracias por vuestro trabajo!
 

Korrika

Usuario Novato
6 Nov 2019
4
2
3
35
Hola de nuevo. Por lo que he visto, mi android TV está rooteado (comprobado con Root Checker) y kodi tiene concedidos permisos de superusuario (Comprobado con SuperSu), pero al usar quasar me daba error al no encontrar el binario "unrar". Y tengo la última versión de alfa.
Para solucionarlo lo que he hecho es copiar "a mano" el binario "unrar" de "plugin.video.alfa/lib/rarfiles/android_arm/unrar" a "/bin"

Para ello, usando un emulador de Terminal, me he hecho superusuario:
$ su
He remontado con permisos de escritura el directorio raiz:
# mount -o rw,remount /
Copiar el binario
#cp /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.alfa/lib/rarfiles/android_arm/unrar /bin
Cambiar el propietario y permisos del binario
#chown root.shell /bin/unrar
# chmod 755 /bin/unrar
Remontar el directorio como solo lectura
# mount -o ro,remount /

Y reiniciar android. Así he conseguido que quasar descarge y descomprima videos. Lo comento por si le sirve a alguien.