абакус-рс | зрно песка у пустињи

Datum
23 mart 2007 @ 3pm

Kategorija
Nekategorizovano

Tagovi
, ,

Tehnografija dana: FIFO-i

FIFO-i su “imenovane cevi” (named pipes), i znaju da budu korisni kad je korišćenje standardnih “cevi” (|) otežano ili nemoguće. To su uglavnom slučajevi kad procesi koji treba da komuniciraju, a nisu startovani iz istog shell-a.

Meni su zgodno poslužili kada sam se bakćao sa kompresijom DVDa u H.264 format, a pritom nisam imao mencoder kompajliran sa x264 podrškom (x264 je slobodna implementacija H.264 kodeka). Ovde ću to iskoristiti kao primer sa koga se vidi kako rade FIFO-i.

Prvo otvorite dva terminala. FIFO se pravi komandom mkfifo, recimo:

mkfifo fifo.tmp.yuv

Zatim u jednom od terminala treba pokrenuti program koji “osluškuje” taj fifo, u ovom slučaju to je x264:

x264 --bframes 3 --b-pyramid --ref 2 -B 900 -8  -w  --no-psnr --no-ssim --progress --fps 25 -o out.mkv fifo.tmp.yuv 720x432

Posle toga (redosled je bitan), u drugom terminalu treba pokrenuti mencoder:

mencoder -vf format=i420,softskip,crop=720:432:0:72 -nosound -ovc raw -of rawvideo -ofps 25 -o fifo.tmp.yuv dvd://1

(ovde je mencoder podešen tako da cropuje crne trake oko filma, sve to prebacuje u nekompresovani raw format videa i prosleđuje izlaz na fifo.tmp.yuv; a x264 kao ulaz koristi fifo.tmp.yuv i kompresuje video)

Kasnije, fifo se može ukloniti, kao i svaki drugi fajl, komandom rm.

Napomena: ovo ne kompresuje zvuk, samo video, zvuk se lako može “izvući” iz DVDa sledećom komandom:

mplayer dvd://1 -aid 129 -dumpaudio -dumpfile sound.ac3

(gde je aid broj audio stream-a)


Još uvek bez komentara


Nema komentara, još uvek. Slobodno ostavite jedan.

Ostavite komentar

Uživanje u HD-u: trailer za 300 Zotero kompatibilnost