Temat: ffmpeg - kodowanie z kodekiem MJPEG versus h.264
Może komuś się przyda (wiem, że jest dużo przykładów w sieci, ale są mocna rozproszone):
Parametry dla ffmpeg zapisujące wideo (z dźwiękiem) dla Webcamery (nie zoptymalizowane, dodatkowe parametry np. bitrate, liczba klatek na sekundę itp. można łatwo znaleźć w dokumentacji do ffmpeg):
ffmpeg -f alsa -ar 48000 -i hw:2,0 -t 10 -f v4l2 -video_size 1280x720 -i /dev/video0 -copyinkf -vcodec h264 -t 10 out1.mkv
gdzie: hw:2,0 - to urządzenie audio (w moim przypadku z kamery)
/dev/video0 - to urządzenie wideo (w moim przypadku kamera Logitech Webcam Pro C920)
-t 10 - czas nagrania (10 s)
-vcodec h264 (kodek wideo)
out1.mkv - plik w którym zostanie zapisane wideo
reszta parametrów powinna być zrozumiała
Klika pomocnych komend (Linux):
Sprawdzenia, czy kamera (USB) jest widoczna w systemie:
lsusb
MintBox Wideo # lsusb
Bus 003 Device 003: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 003 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 15d9:0a4d Trust International B.V. Optical Mouse
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 04d9:1602 Holtek Semiconductor, Inc.
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 002: ID 046d:082d Logitech, Inc. HD Pro Webcam C920
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MintBox Wideo #
Wylistowanie urządzeń wideo:
MintBox Wideo # v4l2-ctl --list-devices
HD Pro Webcam C920 (usb-0000:02:00.0-2):
/dev/video0
MintBox Wideo #
Sprawdzenie formatów wideo obsługiwanych przez dane urządzenie:
ffmpeg -f v4l2 -list_formats all -i /dev/video0
Wylistowanie urządzeń audio (alsa):
MintBox Wideo # arecord -l
**** Lista CAPTURE urządzeń ****
karta 0: SB [HDA ATI SB], urządzenie 0: ALC892 Analog [ALC892 Analog]
Urządzenia podrzędne: 1/1
Urządzenie podrzędne #0: subdevice #0
karta 0: SB [HDA ATI SB], urządzenie 1: ALC892 Digital [ALC892 Digital]
Urządzenia podrzędne: 1/1
Urządzenie podrzędne #0: subdevice #0
karta 0: SB [HDA ATI SB], urządzenie 2: ALC892 Alt Analog [ALC892 Alt Analog]
Urządzenia podrzędne: 1/1
Urządzenie podrzędne #0: subdevice #0
karta 2: C920 [HD Pro Webcam C920], urządzenie 0: USB Audio [USB Audio]
Urządzenia podrzędne: 1/1
Urządzenie podrzędne #0: subdevice #0
MintBox Wideo #
W moim przypadku była to karta2 i urządzenie podrzędne 0 - hw:2,0
Pozdrawiam.