Linux, ffmpeg i przechwytywanie obrazu z wbudowanej kamery laptopa
Kiedy kupiÅ‚em mojego obecnego laptopa (już 3 lata temu... ale staroć) nie miaÅ‚em pojÄ™cia jak w ogóle używać wbudowanej kamerki internetowej. Obok czytnika linii papilarnych byÅ‚o to urzÄ…dzenie, którego nie mogÅ‚em zmusić do wspóÅ‚pracy. Spory czas późnie (i kilka upgrade'ów później :P) zauważyÅ‚em, że Skype Å‚apie obraz z kamery bez najmniejszego problemu. Zatem wszystko dziaÅ‚aÅ‚o jak należy, ja tylko nie wiedziaÅ‚em jak siÄ™ zabrać do tego "od rÄ™ki". Ostatnio zainteresowaÅ‚em siÄ™ tematem i jak zawsze, wujek google przyszedÅ‚ mi z pomocÄ… :-)
Wpis Jasona na www.ilovemyjournal.com oraz jeden komentarz pod nim daÅ‚y mi wskazówki jak osiÄ…gnąć to, co chcÄ™. CaÅ‚ość przechwytywania video jest dziecinnie prosta. Wystarczy nam do tego ffmpeg, dość powszechne konsolowe narzÄ™dzie do obróbki video. Polecenie, którego używam wyglÄ…da mniej wiÄ™cej tak:
$ ffmpeg -f video4linux2 -s 640x480 -b 700k -r 29.97 -i /dev/video0 -f avi output.avi
Krótki opis tego co wyżej:
- -f - opcja formatu. Przy pierwszym wystÄ…pieniu oznacza format wejÅ›cia. W tym przypadku video4linux2, bo przechwytujemy obraz z kamery za poÅ›rednictwem sterowników linuxa. Za drugim razem to nazwa formatu wyjÅ›ciowego. W przykÅ‚adzie jest avi, ale można użyć dowolnego znanego jak flv, mpeg, itd.
- -s - rozmiar. Czyli wymiary w pikselach naszego zapisanego nagrania. IstniejÄ… predefiniowane formaty, np. vga, który odpowiada akurat rozdzielczoÅ›ci 640x480.
- -b - bitrate, czyli bity na sekundę. Jego wielkość ma wpływ na jakość wynikowego obrazu, ale od pewnej wartości i tak przestaje to mieć znaczenie. W końcu standardowe webcamy to nie narzędzia do nagrywania profesjonalnego video wysokiej jakości :-)
- -r - ilość klatek na sekundę. Domyślnie jest niby ustawiana wartość 25, ale u mnie bez przekazania tego parametru ffmpeg się wywracał.
- -i - urządzenie wejściowe, czyli w tym wypadku ścieżka do pliku urządzenia znakowego, odpowiadającego naszej kamerce.
SzczegóÅ‚y można wyczytać z manuala do ffpmeg.
O ile na razie udaje mi się bez problemu przechwytywać video, to nadal nie udało mi się zmusić ffmpega do jednoczesnego nagrywania dźwięku. Wiem, że jest to możliwe, ale jeszcze nie rozgryzłem jak to zrobić na mojej maszynce :-)