Potrzebuję ffmpeg, aby otworzyć kamerę internetową (logitech c910) w trybie MJPEG, ponieważ kamera internetowa może dawać ~ 24 przy użyciu „protokołu” MJPEG i tylko ~ 10 fps przy użyciu YUYV. Czy mogę wybierać między nimi za pomocą wiersza polecenia ffmpeg?
xx@(none) ~ $ v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUV 4:2:2 (YUYV)
Index : 1
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : MJPEG
Mój obecny wiersz poleceń:
ffmpeg -y -f alsa -i hw:3,0 -f video4linux2 -r 20 -s 1280x720 -i /dev/video0 -acodec libfaac -ab 128k -vcodec libx264 /tmp/web.avi
ffmpeg produkuje uszkodzony strumień h264 podczas nagrywania z kamery, ale normalny strumień h264 podczas nagrywania z x11grab. Kolejne kodeki (mjpeg, mpeg4) działają dobrze z kamerą internetową ... Ale to już inna historia.
zaktualizuj pełne wyjście konsoli ffmpeg: http://pastebin.com/Hzem6CKF (możesz zobaczyć, jak otwiera urządzenie wideo w trybie YUV, ale urządzenie może także zapewnić wyjście MJPEG).
-strict -2
chyba że: 1) twójffmpeg
jest strasznie przestarzały, i 2) kodujesz dźwięk AAC.