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)

domingo, 28 de abril de 2013

Linux: Instal·lar sistema Debian des d'un pendrive

Primer de tot cal setejar a la BIOS que el sistema bootegi primer el Pendrive(USB) en qüestió abans que qualsevol altre mitja (CD, Disc dur, etc.) de manera que com que cada BIOS es diferent ho deixo a tasca de cadascú. Passos següents:

1. Descarregar l'imatge d'arranc (boot.img.gz) per exemple d'aquí en la versió testing:
i386:


root@debian:~# wget http://ftp.debian.org/debian/dists/testing/main/installer-i386/current/images/hd-media/boot.img.gz


amd64:


root@debian:~# wget http://ftp.debian.org/debian/dists/testing/main/installer-amd64/current/images/hd-media/boot.img.gz

2. ULL !!!! Desmontem la partició del pendrive on vulguem posar l'instal·lador (suposem que el tenim a la partició SBD).


root@debian:~# umount /dev/sdh1


root@debian:~# zcat boot.img.gz > /dev/sdh


Fent això eliminarem totes les dades del pendrive i la taula de particions del mateix i crearà u


n sistema d'arxius FAT16 que ocuparà tot el dispositiu del pendrive, en aquest cas /dev/sdh (

no hi haurà particions). Tot seguit muntem el dispositiu a qualsevol directori buit que tinguem

o creem (en aquest cas "mp" que voldria dir "mount point"):

root@debian:~# mkdir mp/

root@debian:~# mount /dev/sdh mp/


3. Copiem la iso del instal·lador a la arrel del directori on haguem monta segons la arquitectura 

que vulguem.


i386

root@debian:~# wget http://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/i386/iso-cd/debian-testing-i386-netinst.iso



amd64


root@debian:~# wget http://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/amd64/iso-cd/debian-testing-amd64-netinst.iso


4. Desmuntem i reiniciem
root@debian:~# umount /dev/sdh




miércoles, 9 de enero de 2013

Linux: Gravar so intern del PC & XVidcap

Hi ha diverses aplicaciones per gravar NOMÉS el so intern del PC. Audacity n'es una d'elles, és la que faig servir jo.

Per poder-ho fer seguirem els següents passos extrets d'aquest link:

Nota: Jo el pas 1 el vaig ometre, em vaig descarregar directament el fitxer font 1.1.7 del xvidcap.

1.Uninstall xvidcap in Synaptic
2. Install xvidcap from http://sourceforge.net/projects/xvidcap/files/xvidcap/1.1.7/xvidcap_1.1.7jaunty_i386.deb/download
3. Lock the installed version in Synaptic
4. Install pavucontrol in Synaptic (Needed in Ubuntu 10.04 but not in Linux Mint 10: already present)
Open the program with padsp xvidcap -> molt important, sense escriure padsp abans no anirà el so.
5. Click on the recording button (red circle)
6. Run pavucontrol, go to the Recording tab and there choose Monitor of Analog Stereo Internal Audio -> Bé aqui ajustarem el control de volum que ens interessi.
Done!!

Amb Audacity funcionaria igual, quan clickem per Gravar hem d'anar al Pavucontrol i a la pestanya Tab i ajustar els controls.

domingo, 30 de diciembre de 2012

Linux: Saber el UUID de una partició

Definició de UUID (extret de http://blog.desdelinux.net/2-formas-de-saber-uuid-de-hdd/):


UUID son las siglas en inglés del Identificador Universalmente Único. Esto es un código identificador estándar que se utiliza en el proceso de construcción de software.
Su intención es la de habilitar un código de información único sin que tenga que haber una coordinación central para su generación, esto quiere decir que cualquiera debe poder generar un UUIDcon cierta información desde cualquier lugar sin tener que estar conectados a un dispositivo central que asigne los códigos. El archivo resultante se podrá mezclar en bases de datos sin tener conflictos de duplicados.
En el nosre cas ens interessa les UUID que identifiquen particions.
Hi ha 2 maneres senzilles de fer-ho:

root@debian:~# blkid
Sortirà algo tipus això:

/dev/sda2: UUID=”066652f1-aee6-4a2a-932a-106cf1174142” TYPE=”ext2″
/dev/sda3: UUID=”222fcc49-0fa1-431e-9210-5233f3bf889b” TYPE=”ext4″
/dev/sda5: UUID=”c7b2785c-6da0-4b8c-a780-cadb01b7227a” TYPE=”ext4″
/dev/sda6: UUID=”f3e50492-204f-4e52-9dfb-4f6bf44a711e” TYPE=”swap”


on en negreta és l'UUID de cada partició.

o també:

root@debian:~# ls -l /dev/disk/by-uuid/
I sortirà algo tipus això:
lrwxrwxrwx 1 root root 10 nov 14 11:35 222fcc49-0fa1-431e-9210-5233f3bf889b -> ../../sda3
lrwxrwxrwx 1 root root 10 nov 14 11:35 c7b2785c-6da0-4b8c-a780-cadb01b7227a -> ../../sda5
lrwxrwxrwx 1 root root 10 nov 14 11:35 f3e50492-204f-4e52-9dfb-4f6bf44a711e -> ../../sda6

on en negreta és l'UUID de cada partició. 

Linux: Saber si tenim activa la partició d'intercanvi (SWAP)

Al executar el VMWare em deia que la maquina virtual necessitava 128MB (crec recordar) de memòria swap i que en tenia 0MB. Així doncs per saber si tenim la partició swap activa:


xddxdd@debian:~$ cat /proc/swaps 

I hauria de sortir alguna cosa tipus això:

Filename                                Type            Size    Used    Priority
/dev/sda4                               partition       2051068 465124  -1