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.
Abans de fer conversions entre arxius aclareixo que sembla ser (no n'estic del tot cert) que els fitxers amb contenidor AVI no poden tenir un tamany superior a 4 GB. Això fa que si necessitem un tamany superior a 4 GB haguem d'utilitzar altres contenidors, per exemple el MKV, que a més, aporta altres novetats i que el fa altament recomanable en cas de poder reproduir arxius MKV en el nostre reproductor preferit..
xddxdd@debian:~$ ffmpeg -i default.avi
Input #0, avi, from 'Default.avi':
Duration: 01:22:48.68, start: 0.000000, bitrate: 581 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 25.00 tb(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s
Fent un man ffmpeg podem veure tots els paràmetres que se li poden passar a ffmpeg.
2) Conversions de contenidors i Codecs
FLV a AVI (Nou Codec de vídeo: Lavc)
xddxdd@debian:~$ mencoder fitxer_font.flv -ovc lavc -oac copy -o fitxer_desti.avi
3GP a AVI (Nou Codec de vídeo: Lavc)
xddxdd@debian:~$ mencoder fitxer_font.3GP -ovc lavc -oac pcm -o fitxer_desti.avi NOTA: Notis que jo utilitzo el codec LAVC per a video i PCM per a audio però es poden utilitzar altres códecs.
OGV a AVI (Nou Codec de vídeo: Xvid, nou Codec d'Audio: Libmp3lame)
xddxdd@debian:~$ mencoder fitxer_font.ogv -oac mp3lame -ovc xvid -vf scale=X:Y -xvidencopts pass=1 -o fitxer_desti.avi
AVI a AVI (Nou Codec de vídeo: Xvid, nou Codec d'Audio: Libmp3lame)
xddxdd@debian:~$ ffmpeg -i fitxer_font.avi -acodec libmp3lame -vcodec libxvid -ab 96000 -ar 48000 -b 800k fitxer_desti.avi
Alguns paràmetres d'interès:
-s 640x480
-aspect 4:3 (si en demana)
Nota: Obviament els paràmetres s'han de canviar segons ens convingui.
Una altra opció:
xddxdd@debian:~$ mencoder fitxer_font.avi -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -vf scale=[ResX]:[ResY] -oac copy -o fitxer_desti.avi
El mateix, els paràmetre que he posat són al meu gust i per un vídeo concret. Si ens fixem, en aquesta última comanda he posat -oac copy que vol dir que no es processa el codec de audio, sinó que es copia tal qual.
AVI a MKV (No recodificació)
1. xddxdd@debian:~$ ffmpeg -i arxiu_origen.mp4 -c:v copy -c:a copy arxiu_resultant.mkv
2. xddxdd@debian:~$ mkvmerge arxiu_origen.avi -o arxiu_resultant.mkv
3. xddxdd@debian:~$ mencoder arxiu_origen.avi -ovc copy -oac copy -o arxiu_resultant.mkv
3) Unir fitxers AVI i MKV
3.1) Si l'arxiu te 1 pista d'audio:
xddxdd@debian:~$ mencoder -oac copy -ovc copy 1rfitxer.avi 2nfitxer.avi -o fitxer_final.avi
3.2) Si l'arxiu te més d'una pista d'audio:
xddxdd@debian:~$ avimerge -i 1rfitxer.avi 2nfitxer.avi -o fitxer_final.avi
Nota: Perque es pugui fer la unió, els arxius de video hauran de tenir els mateixos paràmetres de códec d'audio, codec de video, etc..
Però a vegades aquest mètode no funciona i ara proposo una alternativa
a) Tenia 2 videos AVI (mateixes característiques de format, codecs ...).
b) Obro Avidemux2-GTK.
c) Obro 1rfitxer.avi i li dic que si a les 2 coses.
d) Em situo al final del fitxer amb el cursor (ultim frame).
e) Archivo / Ajuntar / Adjunto el nou 2nfitxer.avi.
f) Ara guardo el fitxer_final.avi i es guardara el video bé però només amb la primera pista
d'audio.
g) Per guardar amb la segona pista, obro el fitxer_final.avi amb Avidemux2-GTK i Audio / Canal secundario de audio i poso allà el fitxer.wav corresponent.
h) IMPORTANT: Ara a FORMATO (a l'esquerra de la pantalleta VIDEO AUDIO i FORMATO un a sobre laltre), poso AVI, sonido dual. I guardo el fitxer.
Bé, aquí m'he saltat un pas perque m'he tret el fitxer del 2n canal d'audio (fitxer.wav) de la màniga.
Per tenir el fitxer WAV:
En el meu cas ho he fet així perque els arxius MP3 que extreia de les 2 parts del fitxer AVI quan les obria amb el XMMS i movia a esquerra i dreta amb les fletxes sem repetia i ho he hagut de recodificar tot a WAV. Comencem així doncs:
a) Extraiem els 2 fitxers en MP3. És VITAL l'opcio aid que selecciona que extraiem la segona TRACK d'audio.
xddxdd@debian:~$ mplayer 1rfitxer.avi -aid 2 -dumpaudio -dumpfile Part1.mp3
xddxdd@debian:~$ mplayer 2nfitxer.avi -aid 2 -dumpaudio -dumpfile Part2.mp3
b) Transformem a WAV.
xddxdd@debian:~$ mpg123 -w Part1WAV.wav Part1.mp3
xddxdd@debian:~$ mpg123 -w Part2WAV.wav Part2.mp3
c) Uneixo els WAV.
xddxdd@debian:~$ qwavjoin Part1WAV.wav Part2WAV.wav -o fitxer.wav
NOTA: Suposo que si ara recodifico el fitxer final *.WAV a *.MP3 i l'adjunto com a segon canal a l'Avidemux ocuparà menys el video final. És qüestió de provar-ho. Per convertir de WAV a MP3 és:
xddxdd@debian:~$ lame -h fitxer.wav nou_fitxer.mp3
3.3) En cas d'unir arxius MKV:
xddxdd@debian:~$ mkvmerge -o arxiu_resultant.mkv arxiu1.mkv +arxiu2.mkv
4) Dividir arxius AVI
Hi ha 2 maneres de fer-ho
1. Avidemux: Obrim el vídeo i tallem els trossos "a la carte" i guardem els que ens interessa.
2. Avisplit: Mode de comanda de terminal com per exemple podria ser:
xddxdd@debian:~$ avisplit -i Fitxer_Font.avi -t 00:00:00-00:09:53,00:09:58-00:19:45,00:19:54-00:29:55
En aquest cas, passem per paràmetre el temps exacte on volem que es produeixi el tall. El resultat són X fitxers de vídeo, tants com talls fem.
Nota: Recomano Avidemux ja que és per entorn gràfic i permet precisar més els talls del vídeo.
5) Ripejar arxius de vídeo d'un decodificador MVision (fitxers *.irm) a fitxers AVI
Passos:
1.Passar el IRM a MVP amb el programa IRM Converter que proporciona el decodificador MVision
(es pot baixar d'Internet també).
2.Passar MVP a MPG amb el ProjectX:
- Anar a baix a l'esquerra i Clickar al signe + i adjuntar l'arxiu MVP
que hem obtingut amb el IRM Converter.
- Process/prepare ...
- Action: Seleccionar To M2P
- Clickar al PLAY
Ara ja tindrem el fitxer en MPG. Llavors tenim 2 opcions:
5a).Passar MPG a AVI de la manera ja indicada en altres apartats.
5b). Grabar en DVD si s'escau amb el programa DeVeDe.
6) Afegir subtítols a un arxiu MKV (Matroska)
Segons Wikipedia: " Matroska es un formato contenedor de estándar abierto, un archivo informático que puede contener una cantidad ilimitada de vídeo, audio, imagen o pistas de subtítulos dentro de un solo archivo. "
Un dels avantatges d'aquest CONTENIDOR (MKV és un contenidor com AVI, MOV, FLV i no un Codec com XVid o H264) és poder introduir diversos subtítols sense haver de recodificar el vídeo, de manera que amb pocs minuts tenim un arxiu MKV amb els seus corresponents subtítols, a diferència d'altres contenidors com AVI on només es pot tenir un subtítol i encastat al vídeo de manera que no es pot separar el subtítol del vídeo alhora de visualitzar-lo.
2 maneres de fer-ho (mode consola i mode gràfic) tot instal·lant prèviament els paquets mkvtoolnix i si es vol mkvtoolnix-gui (mode gràfic) que estàn als repositoris de Debian.
xddxdd@debian:~$ mmg
una vegada a dins del programa, a "Entrada" cliquem a "Añadir" i afegim l'arxiu MKV o AVI (el contenidor origen tan fa, al final acabarà convertint a MKV sigui quin sigui el contenidor font) i tot seguit insertem els arxius de subtítol (en el meu cas, inserto arxius en format *.SRT). Cliquem a "Iniciar Multiplexado" i el programa sol ens ajunta el vídeo amb el/s subtítol/s que haguem afegit.
2. Mode consola:
xddxdd@debian:~$ mkvmerge -o arxiu_resultant.mkv --default-track 0 arxiu1.srt arxiu2.art arxiu_origen.avi
xddxdd@debian:~$ mkvmerge -o arxiu_resultant.mkv --default-track 0 arxiu1.srt arxiu2.art arxiu_origen.avi
La comanda és senzilla. A més l'opció --default-track està a 0 per setejar quina de les pistes d'audio que conté l'arxiu volem que sigui la per defecte (si bé haig de dir que no he indagat massa en les opcions d'aquesta comanda).
7) Afegir una pista d'audio a un vídeo AVI.
La comanda (sense tenir en compte altres paràmetres) és:
8) Extreure audio d'un vídeo i convertir-lo a MP3.
xddxdd@debian:~$ ffmpeg -i inputfile.m4a -acodec mp3 -ac 2 -ab 160 outputfile.mp3
o
xddxdd@debian:~$ ffmpeg -i inputfile.m4a -acodec libmp3lame -ac 2 -ab 160 outputfile.mp3
Links d'interès
7) Afegir una pista d'audio a un vídeo AVI.
La comanda (sense tenir en compte altres paràmetres) és:
xddxdd@debian:~$ mencoder -ovc copy -audiofile arxiu.mp3 -oac copy input.avi -o output.avi
8) Extreure audio d'un vídeo i convertir-lo a MP3.
xddxdd@debian:~$ ffmpeg -i inputfile.m4a -acodec mp3 -ac 2 -ab 160 outputfile.mp3
o
xddxdd@debian:~$ ffmpeg -i inputfile.m4a -acodec libmp3lame -ac 2 -ab 160 outputfile.mp3
Si l'arxiu és MKV:
xddxdd@debian:~$ mplayer -vo null -dumpaudio -dumpfile outputfile.mp3 input.mkv
Si el que volem es extreure una pista concreta (ja sigui de vídeo o d'audio dins d'un arxiu AVI o MKV) utilitzarem el paràmetre -map 0:2 (per exemple el 0:2) on 2 vol dir que és la tercera pista dins de l'avi (comença a comptar des de 0, per tant si posessim 0:0 extrauríem la primera pista, usualment la de vídeo, si posessim 0:1 extrauríem la segona pista, usualment d'audio, i amb 0:2 extrauríem la tercera pista, segurament la segona pista d'audio del vídeo):
xddxdd@debian:~$ ffmpeg -i input.avi -map 0:2 -vn -ar 48000 -ac 2 -ab 256k -f mp3 outputfile.mp3
No hay comentarios:
Publicar un comentario