jueves, 5 de diciembre de 2013

Linux: Identificació de disc dur i informació

Tan senzill com (apt-get install hdparm):

root@debian:/home/buga# hdparm -i /dev/sda

(ha d'ésser executat amb privilegis de root)

Exemple de output:

/dev/sda:

 Model=TOSHIBA THNSNH128GBST, FwRev=HTRAN101, SerialNo=33BS105ZTE4Y
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=250069680
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 
 AdvancedPM=yes: unknown setting WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-3,4,5,6,7
                                                                                                                                                                       

 * signifies the current active mode                                


Linux: Subtítols de pel·lícules MKV.

Ara recentment, utilitzant el format MKV, m'interessa la idea de tenir subtítols a les pel·licules, encara que no es tasca fàcil trobar-los. Una vegada trobats (Google o mirar la secció de Links d'aquesta web), alguns d'ells no es corresponen seqüèncialment amb la nostra versió de pel·lícula (ull, hi ha pel·lícules que tenen versiones extendidas i llavors això no entraria dins dels parametres que vull dir aquí) i el que caldria fer es adelantar o retardar tots els subtítols X segons endavant o X segons enrere per tal de sincronitzar correctament el subtítol amb l'audio i vídeo de la pel·lícula.

Per fer-ho (deuen haver-hi altres programes) faig servir el programa Subtitle editor que a més es pot trobar als repositoris de Debian (apt-get install subtitleeditor). L'ús bàsic que li dono és: Obrir un arxiu de subtítols (jo faig servir el format SRT, que em permet introduir-lo als arxius MKV amb facilitat (mkvtoolnix), seleccionar tots els diàlegs del subtítol de la pel·lícula "Selección" / "Seleccionar todos los subtítulos" i després moure endavant o endarrere o bé amb "Timings" / "Añadir 100 milisegundos" o "Quitar 100 milisegundos" (segons convingui) o bé amb  "Timings" / "Mover subtítulo". Hi ha diverses opcions com mostrar amb Frames o amb Temps la sincronització del subtítol però vaja, tampoc es difícil i només és qüestió de dedicar-li un mínim temps a aquest senzill programa per tal de veure com funciona aquesta útil eina.

Linux: Reestablir índex d'arxius AVI.

L'índex dels arxius de vídeo s'utilitza per buscar a través de l'arxiu i sincronitzar la pista d'audio amb la pista de vídeo. Si l'índex de l'arxiu està malmès, el vídeo es congelarà i deixarà de funcionar correctament.
Mencoder ofereix una opció per recuperar l'índex dels arxius AVI. La línea de comandes seria la següent:

xddxdd@debian:~$ $ mencoder -idx arxiu_origen.avi -ovc copy -oac copy -o arxiu_desti.avi


Però malgrat això, en alguns vídeos sembla no funcionar. En comptes d'això, utlilitzarem l'aplicació DivFix (http://www.divfix.org/), que a més té el seu paquet corresponent per a Debian. El seu ús és senzill: Add files per afegir l'arxiu AVI a corregir, Check errors per comprovar errors i finalment Fix per crear un arxiu nou AVI amb l'índex arreglat.

martes, 3 de diciembre de 2013

Linux: Renombrar un arxiu d'una extensió a una altra extensió.

El que, conceptualment, s'entendria per: mv *.ext1 *.ext2, és a dir, tots els arxius que tinguin extensió ext1 canviar-los l'extensió a ext2:

xddxdd@debian:~$ rename 's/\.ext_inicial/\.ext_final/' *.ext_inicial

Exemple (exemple pràctic que faig servir per renombrar arxius 7z amb extensió 7z.001 que he creat que només tenen un volum i per tant els vull només amb l'extensió 7z i prou):

xddxdd@debian:~$ rename 's/\.7z.001/\.7z/' *.7z.001

Linux: Afegir un directori a PATH.

PATH és la variable del sistema que permet al sistema operatiu buscar els executables. Dit d'una altra manera, si posem un directory a PATH, tots els executables que contingui aquest directori (NO recursivament, es clar) es podran executar sense haver d'estar dins del directori. Per fer-ho:

xddxdd@debian:~$ PATH=$PATH:/data/myscripts

xddxdd@debian:~$ export PATH

On /data/myscripts seria la ruta on tenim els executables que volem executar desde qualsevol directori. Però quan tanquem la sessió, perdrem les noves rutes afegides. Si volem tenir-les permanentment, cal posar les rutes a un dels arxius següents (si no existeixen, crear-los), depenent de les nostres necessitats.

One user$HOME/.bash_profile
All users except root/etc/profile
root/root/.bash_profile

Per veure el contingut actual de la variable PATH:

xddxdd@debian:~$ echo $PATH

miércoles, 27 de noviembre de 2013

Linux: Quadre comparatiu de recodificació de vídeo amb Ffmpeg i Mencoder

Nota preliminar: Encara no se bén be perque quan utilitzo aplicacions de recodificació (tant Ffmpeg com Mencoder) utilitzant molts threads (ara no recordo bé si 6 o més) que en teoria són el nombre de nuclis de la CPU (la meva CPU és una AMD de 8 cores) a utilitzar en el procés, l'ordinador es reseteja o s'apaga. La càrrega total de la CPU en aquests casos crec que arriba a més del 80% així que diria que el problema podria ser de càrrega de la CPU encara que m'inclinaria més a pensar que pot ser un problema de prevenció de temperatura, ja que aquesta puja espectacularment al fer aquests processos, malgrat que compto amb un bon refrigerador Noctua. També vaig pensar que fos un problema de software però em vaig baixar les fonts de Ffmpeg i Mencoder per a ser compilades i el problema persistia. La nota aquesta la escric perque els paràmetres de recodificació que faré servir, haurien d'incloure un màxim de 5 threads que és un nombre prou considerable de cores i que he comprovat que l'ordinador no en pateix les conseqüències.

Paràmetres utilitzats
  • Tamany de l'arxiu: 373,3 Mb.
  • Duració del vídeo: 27 minuts aprox.
  • No recodificació d'audio.



Comandes (per ordre de dalt a baix)

mencoder original_video.avi -oac copy -ovc xvid -xvidencopts pass=1:chroma_opt:vhq=4:max_bframes=1:quant_type=mpeg:threads=5 -o /dev/null

mencoder original_video.avi -oac copy -ovc xvid -xvidencopts pass=2:chroma_opt:vhq=4:max_bframes=1:quant_type=mpeg:bitrate=3000:threads=5 -o output_video.avi

mencoder original_video.avi -oac copy -ovc x264 -x264encopts pass=1:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=5 -o /dev/null

mencoder original_video.avi -oac copy -ovc x264 -x264encopts pass=2:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=5 -o output_video.avi

ffmpeg -i original_video.avi -an -vcodec mpeg4 -pass 1 -mbd 2 -trellis 2 -flags +cbp+mv0 -pre_dia_size 4 -dia_size 4 -precmp 4 -cmp 4 -subcmp 4 -preme 2 -qns 2 -b 3000k -threads 5 -f rawvideo -y /dev/null

ffmpeg -i original_video.avi -acodec copy -vcodec mpeg4 -vtag DX50 -pass 2 -mbd 2 -trellis 2 -flags +cbp+mv0 -pre_dia_size 4 -dia_size 4 -precmp 4 -cmp 4 -subcmp 4 -preme 2 -qns 2 -b 3000k -threads 5 output_video.avi

ffmpeg -i original_video.avi -an -vcodec libx264 -pass 1 -preset veryslow -threads 5 -b 3000k -x264opts frameref=15:fast_pskip=0 -f rawvideo -y /dev/null

ffmpeg -i original_video.avi -acodec copy -vcodec libx264 -pass 2 -preset veryslow -threads 5 -b:v 3000k -x264opts frameref=15:fast_pskip=0 output_video.mkv

lunes, 25 de noviembre de 2013

Linux: Extreure video/audio/subtítols d'un arxiu MKV.

La comanda és:

xddxdd@debian:~$ mkvextract tracks arxiu.mkv 0:video

Mkvextract es pot trobar dins del paquet mkvtoolnix que es troba als repositoris de Debian. El missatge de sortida serà similar a aquest depenent del que extraiem (una pista de vídeo, audio o subtítol):

Extrayendo pista 0 con ID del códec 'V_MS/VFW/FOURCC' al archivo 'video'. Formato del contenedor: AVI (Microsoft Audio/Video Interleaved)