i hope u are enjoy!
i send u my personal proc to convert matrix with aalib and cacalib
vi invio il mio personale procedimento comunque con questa semplice
operazione è possibile avere un anteprima del file, basta scaricare le
librerie Asci-Art e ricompilare mplayer, verranno automaticamente viste
dal player come driver di output :
best regards
cordiali saluti
claudio daffra
daffra.claudio RemoveThis @gmail.com
# visualizza i driver disponibili di output
mplayer
dvd://1 --vo help
# video ascii art a in bianco e nero
mplayer
dvd://1 -vo aa
# video ascii art a colori
mplayer
dvd://1 -vo caca
Vi invio procedimento per ricodificare matrix in caratteri, rivisto e
corrotto!
1) nel file main.c del programma sorgente aggiungete questa linea dopo
la funzione :
main_loop() ;
...
+ system("xwd -silent -out curframe.xwd -nobdrs -name 'aa for X'");
...
aa_close(context);
return(0);
}
2) nel file ui.c di aview aggiungere e rinominare :
aa_flush(context);
- c = aa_getevent(context, 1);
+ quit = 1;
+ //c = aa_getevent(context, 1);
switch (c) {
case 'h':
ui_help();
3) mkdir film ; cd film
4) ottenere importanti informazioni :
mplayer
dvd://1
...
VIDEO: MPEG2 720x576 (aspect 3) 25.000 fps 6800.0 kbps (850.0
kbyte/s)
...
AUDIO: 48000 Hz, 2 ch, s16le, 384.0 kbit/25.00% (ratio:
48000->192000)
5) mkdir fase.1 ; cd fase.1
6) estrare le immagini dal dvd
mplayer
dvd://1 -benchmark -noframedrop -nosound -vo jpeg
7) individuare il numero di frme in un film, matrix versione italiana
V:1222.2 196159/196159 9% 85% 0.0% 0 0
8) estrazione audio
# estrai audio formato pcm
mplayer -vc dummy -vo null -ao pcm matrix.wav
dvd://1
oppure
#estrai audio utilizzando mpeg2
mencoder -ovc frameno -o frameno.avi -oac lavc -lavcopts
vcodec=mpeg2video
dvd://1
Recommended video bitrate for 650MB CD: 457
Recommended video bitrate for 700MB CD: 510
Recommended video bitrate for 800MB CD: 617
Recommended video bitrate for 2 x 650MB CD: 1152
Recommended video bitrate for 2 x 700MB CD: 1259
Recommended video bitrate for 2 x 800MB CD: 1472
Video stream: 0.800 kbit/s (100 bps) size: 784632 bytes 7846.320
secs 196159 frames
Audio stream: 224.000 kbit/s (28000 bps) size: 219698976 bytes
7846.392 secs
9) codifica con aview, ci vuole un po' ...
#!/bin/bash
export PHASEONE=/root/film/fase.1
export PHASETWO=/root/film/fase.2
cd $PHASEONE
for FRAME in `seq -f %08g 1 196158`
do
IMAGE="${FRAME}.jpg"
echo $FRAME
convert -quality 100 -crop 720x360+0+60 $IMAGE temp.jpg
jpegtopnm temp.jpg >curframe.ppm 2>/dev/null
aview -width 135 -height 57 -dim -bold -reverse -normal
curframe.ppm
convert -colorize 83/1/100 -crop 1080x720+0+10 -geometry
720x480 curframe.xwd $PHASETWO/$IMAGE
done
10) file codificati nella directory fase.2, riconvertiamo tutte le
immagini in film
cd /root/filme/fase.2 ;
mencoder -v
mf://*.jpg -o /root/film/video.avi -ovc lavc -lavcopts
vcodec=mpeg2video -nosound
11) assemblamo il tutto in un unico file avi
audio : frameno.avi
video : video.avi
avimerge -o film.avi -i video.avi -p frameno.avi -a 1
12) creiamo un bel dvd (dvd-author):
# converte il file da avi a vob
movie-to-dvd -m pal -M film.avi ;
mkdir /root/film/dvd
dvdauthor -o /root/film/dvd film.vob
13) se è troppo grande per stare in un 4.7 giga utilizzare xDVDShrink
!
masterizzaterlo !
************************************
************************************ caca view - patch
************************************
patch per cacaview
132,134d131
< // 1234
< set_zoom(zoom);
<
162,163c159
< else
< if(event & CACA_EVENT_KEY_PRESS) switch(event & 0x00ffffff)
---
> else if(event & CACA_EVENT_KEY_PRESS) switch(event & 0x00ffffff)
401,404d396
< // aggiunta quit = 1
< quit = 1 ;
< // aggiunta system
< system("xwd -silent -out curframe.xwd -nobdrs -name
'cacaview'");
405a398
>
415,424c408,418
< // caca_set_color(CACA_COLOR_WHITE, CACA_COLOR_BLUE);
< // caca_draw_line(0, 0, ww - 1, 0, ' ');
< // caca_draw_line(0, wh - 2, ww - 1, wh - 2, '-');
< // caca_putstr(0, 0, "q:Quit np:Next/Prev +-x:Zoom "
< // "hjkl:Move d:Dithering a:Antialias");
< // caca_putstr(ww - strlen("?:Help"), 0, "?:Help");
< // caca_printf(3, wh - 2, "cacaview %s", VERSION);
< // caca_printf(ww - 14, wh - 2, "(zoom: %s%i)", zoom > 0 ? "+" :
"", zoom);
< // caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
< // caca_draw_line(0, wh - 1, ww - 1, wh - 1, ' ');
---
> caca_set_color(CACA_COLOR_WHITE, CACA_COLOR_BLUE);
> caca_draw_line(0, 0, ww - 1, 0, ' ');
> caca_draw_line(0, wh - 2, ww - 1, wh - 2, '-');
> caca_putstr(0, 0, "q:Quit np:Next/Prev +-x:Zoom "
> "hjkl:Move d:Dithering a:Antialias");
> caca_putstr(ww - strlen("?:Help"), 0, "?:Help");
> caca_printf(3, wh - 2, "cacaview %s", VERSION);
> caca_printf(ww - 14, wh - 2, "(zoom: %s%i)", zoom > 0 ? "+" : "", zoom);
>
> caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
> caca_draw_line(0, wh - 1, ww - 1, wh - 1, ' ');
************************************
************************************ caca view - codifica
************************************
9) cacaview codifica, ci vuole un po' ...
#!/bin/bash
export PHASEONE=/root/film/fase1
export PHASETWO=/root/film/fase2
cd $PHASEONE
for FRAME in `seq -f %08g 1 196158`
do
IMAGE="${FRAME}"
echo $FRAME
cacaview $PHASEONE/$IMAGE.jpg
convert -colors 16 -normalize -colorize 1/1/1 -quality 100
-geometry 720x576 curframe.xwd $PHASETWO/$IMAGE.jpg
done