Hm. Nie jest to jakaś wiedza super tajemna, ale ciężko ją znaleźć w sieci. Nie jest to także jakaś tak duża ilość materiału żeby zaraz tworzyć o tym całą stronę. Wpis w „blogu” powinien wystarczyć.
Dla tych co nie wiedzą – FLV to dokładnie rzecz biorąc Flash Video. Czyli coś dzięki czemu serwisy takie filmownia.org, YouTube, Gazeta.pl czy nawet moja strona, w łatwy sposób udostępniają na swoich stronach video. Nie ma już potrzeby kombinowania z kodekami czy pluginami – odtwarzacz flash posiada praktycznie każda przeglądarka (w przypadku mojej strony, podobno 85%, gdyż właśnie około 15% na mojej stronie to przeglądarki inne niż FF i MSIE). Pozostaje problem konwersji. Pod Windowsem sprawa, przyznaję, wygląda makabrycznie. Dostępny jest tool ze stajni Macromedia, który mimo tego że jest klikalny, pod względem wydajności dostaje ostro po tyłku od „konkurencji”. Oczywiście non-free. Cierpliwy szperacz wygoogla parę narzędzi od innych producentów, jednak każdy, z racji trendu na rynku, jest poprostu komercyjny i kosztuje trochę. Jeżeli zaś tyczy się linuksa – cóż, zwolennicy MS i okolic (tak! znam takich!) stwierdziliby że tragedia. Program jest jeden – ffmpeg. I w sumie o tym narzędziu chciałem napisać. Działa ono bardzo sprawnie i o wiele szybciej niż narzędzia producenta flasha (ale o tym zaraz).
Ale przejdźmy do rzeczy. Sama składnia programu jest naprawdę prosta:
ffmpeg -i source.avi -s size -ar audiofreq -ab audiobitrate -r fps -b videobitrate output.flv
Gdzie:
- source.avi to oczywiście plik źródłowy
- size to rozmiar w pikselach docelowego video, np. 320×240 lub też sqcif (128×96), qcif (176×144), cif (352×288) lub 4cif (704×576)
- audiofreq to częstotliwość próbkowania dźwięku w wynikowym pliku (domyślnie to 44100)
- audiobitrate to bitrate wynikowego dźwięku (MP3, domyślnie 64)
- fps odpowiada za ilość klatek na sekundę (domyślnie 25)
- videobitrate to bitrate wynikowego video (domyślnie 200kbps)
- output.flv to nazwa pliku wyjściowego
Dla przykładu:
ffmpeg -i test.avi -s cif -ar 22050 -ab 32 -r 25 -b 128 test.flv
Ffmpeg z mojego „ukochanego” PLD (ffmpeg-0.4.9-3.20061204.3) poradził sobie spokojnie z avikami (divxy), mpeg, a nawet WMV. Poza tym, podane powyżej opcje to niezbędne minimum aby sobie coś wygenerować. Opcji jest multum, a poznanie ich napewno zagwarantuje wam zabawę w drugi dzień świąt.