Blog jak widać już nie jest aktualizowany. I raczej nie będzie. Wisi sobie ot tak, ze względów historycznych :)

Linux, ffmpeg i przechwytywanie obrazu z wbudowanej kamery laptopa

Krzysztof Rygielski | 2011-01-23 14:00 | Kategorie: Linux

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 :-)