La odisea de pasar archivos grabados de más de 4GB de mi «Best Buy Easy Recording TDT» a mi disco duro

Versión corta:
Utiliza el comando ftpput para realizar la transferencia de tu archivo o archivos por FTP.

Versión larga:
Hace poco me tuve que enfrentar al pequeño problema de pasar un programa de televisión grabado en este dispositivo, a mi disco duro. El problema era que el fichero pesaba más de 4GB, que es el máximo tamaño soportado por el sistema de archivos FAT32, que es el formato del disco en el que el dispositivo en cuestión graba de la tele. Por lo tanto, cuando se hace la copia desde la interfaz del propio aparato (Playback > TDT > Edit > Convert to FAT32), el resultado es que en dicho disco aparecen varios ficheros de 4GB, es decir, se produce un troceado automático. En mi caso, un fichero de 6GB se convertía en 1 de 4GB y otro de 2GB. El problema de esto es que, después de dar muchas vueltas, no fui capaz de volver a unirlos satisfactoriamente con ningún editor de videos gratuito.

Mi primer intento de solución fue ver la opción de reformatear la partición de intercambio FAT32 convirtiéndola en NTFS (que permite guardar ficheros de longitudes mayores), sin embargo la interfaz del aparato no permite realizar este tipo de operación aislada: o reformateaba y reparticionaba todas las particiones, o ninguna.
Descartada esa opción, me conecté por telnet al aparato a ver qué me encontraba. Sorprendentemente conseguí conectar a la primera (nunca lo había hecho) utilizando como usuario «root», sin contraseña. Genial, se trata de un Linux básico. Después de trastear un poco, lo primero que hice fue intentar reparticionar manualmente el disco de intercambio, sin embargo el comando «fdisk» necesario viene capado de serie para impedir que se realice esta operación.

No me desanimé, lo segundo que intenté fue hacer un fichero comprimido en partes, que es fácil de descomprimir en uno solo, pero aunque el comando «tar» sí estaba disponible, no lo estaba el comando «split», que es el que permite hacer el troceado. También lo intenté con bzip y gzip, pero ninguno estaba disponible. Esto empezaba a ser un poco rollo, la versión de linux del aparato es completamente minimalista.

En ese momento no tenía ningún linux a mano, excepto un liveCD de Knoppix. Lo arranqué y le enchufé el aparato: sólo me reconocía la partición linux del sistema operativo, no las otras particiones de datos. Probé a instalarme en Windows un explorador de ext2 y ext3 y tampoco fui capaz de ver más que la partición del sistema operativo. Buscando en internet encontré gente que decía que las particiones en las que el aparato realiza las grabaciones son UDF. Busqué alguna forma de leer dichas particiones desde linux o windows, pero no encontré ninguna manera sencilla de realizarlo.

Recordé que tenía un pendrive usb de 8GB, lo formateé en NTFS, lo conecté y afortunadamente el sistema lo reconocía. Ejecuté un simple comando de copiado de archivos y la sorpresa fue que el sistema me informaba que el pendrive se había montado como sistema de ficheros de sólo lectura, no estaba permitido escribir en el mismo. Probé a remontarlo manualmente con permisos de escritura:
mount -o remount -w /tmp/usbmounts/sda1
Ningún error
cp 000008.ts /tmp/usbmounts/sda1
¡Ningún error!, dejé al sistema realizando la copia del archivo. 15 minutos después seguía copiando. 30 minutos después seguía copiando. 1 hora después seguía copiando. 2 horas después, seguía sin terminar. Detuve la transferencia, algo fallaba.

Ya casi sin recursos, revisé las carpetas bin y sbin en el sistema para ver si encontraba algún comando instalado que me pudiera ser útil. Al ver «ftpput» se me encendió la bombilla. Instalé un servidor de FTP en mi ordenador, creé un usuario y en el disco duro externo ejecuté por telnet:

ftpput -v -u [usuario] -p [contraseña] 192.168.1.2 000008.ts ./000008.ts

y el resultado fue:

Connecting to 192.168.1.2[192.168.1.2]:21
ftpput: cmd (null)(null)
ftpput: cmd USER [usuario]
ftpput: cmd PASS [contraseña]
ftpput: cmd TYPE I(null)
ftpput: cmd PASV(null)
ftpput: cmd ALLO 1271240704(null)
ftpput: cmd STOR 000008.ts
ftpput: cmd (null)(null)
ftpput: cmd QUIT(null)

Genial. Problema resuelto por los pelos, justo cuando estaba a punto de tirar la toalla. Tiempo de transferencia: 32 minutos. Tiempo que tardé en conseguirlo: 3 horas largas divididas en 2 días.

Comandos útiles:
Comando para comprobar el estado de los discos duros : df -h
Comando para comprobar las particiones existentes : fdisk -l
tar + split, inservible para este caso : tar czf – ejemplo/ | split -b 1000m – troceado.tgz.

Share this post

Related post

  1. Miguel Angel 2015.04.03 8:41am

    Hola tengo un problema similar y me agrado tu explicacion sin embargo no se como ejecutar por telnet mi disco duro, ¿me podrias ayudar?. de antemano mil gracias

  2. Juanfer 2015.04.06 2:42pm

    Hola Miguel Ángel, simplemente tienes que ver la dirección IP del aparato en tu red local (seguramente será del tipo 192.168.x.x) y ejecutar desde un terminal (windows o linux, creo que en ambos hay un cliente de telnet por defecto):

    telnet 192.168.x.x

    En caso de no tener un cliente de telnet, busca uno en la red para tu sistema operativo.
    Un saludo,
    Juan.

{ Piensa / Think }

"This is a waste of life. [...] the entire educational system in the modern day is nothing more than a cookie cutter processing plant that prepares humans for mostly predefined occupational roles. This element of human life has become so traditionally ingrained, that many falsely consider the nature of ‘having a job’ some form of human instinct. Even parents will ask their kids “What do you want to be when you grow up?” as though there was only one thing. This is disturbing and a violation of human potential." - The Zeitgeist Movement


"He aprendido que hay cosas que pueden ser comprendidas pero que nunca podrán ser explicadas con palabras sin desvirtuar su grandeza" - Andrés Pascual


"You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete." - Buckminster Fuller


"... I am the master of my fate. I am the captain of my soul." - William Ernest Henley