inicio mail me! sindicaci;ón
 

Jak przerobić DivX, AVI, MPEG, WMV, MOV do FLV

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.

Maciek:

22 maj 2008, 23:30

ffmpeg:
configuration: –prefix=/usr –enable-shared –libdir=/usr/lib –enable-a52 –enable-pp –enable-gpl –enable-pthreads –enable-libnut –enable-x11grab –enable-mp3lame –enable-faad –enable-faac –enable-x264 –enable-xvid –enable-amr_nb
Wszystko fajnie niby działa, ale pliki flv robi bez dźwięku?
Jakieś pomysły? Czego mi brakuje.

Baseciq:

23 maj 2008, 16:52

A dźwięk źródłowy nie jest w jakimś dziwnym formacie?

Bartek:

6 paź 2008, 16:59

coś mi tu nie gra, mam plik wmv i przerobiłem go przez Avidemux (nie zmieniając nic tylko zapisaują plik jako avi) i wyszły mi takie parametry (wmv -> avi):
bitrate: 1300 -> 1297
fps: 1000 -> 30
ale obraz strasznie krzaczy i dopiero po kilku sekundach jest normalny, no ale przy każdym przewijaniu krzaczy itd itd
no więc przerobiłem ffmpeg, kilka razy ustawieniami się bawiłem, w końcu zostawiłem wszystko domyślnie i bitrate wyszedł 326; niezależnie jakbym nie zmieniał fpsów wyjściowych i bitrate wyjściowy, to i tak plik avi nie ma większego bitrate niż 410 i obraz jest strasznie pikselowaty; jakie powinienem wpisać parametry żeby uzyskać optymalny obraz w pliku wyjściowym??

RSS dla komentarzy tego posta · TrackBack URI

Skomentuj