Мне нужно, чтобы ffmpeg открывал веб-камеру (logitech c910) в режиме MJPEG, потому что веб-камера может выдавать ~ 24 при использовании "протокола" MJPEG и только ~ 10 кадров в секунду при использовании YUYV. Могу ли я выбирать между ними с помощью командной строки 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
Моя текущая командная строка:
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 выдает поврежденный поток h264 при записи с веб-камеры, но обычный поток h264 при записи с x11grab. Еще один кодек (mjpeg, mpeg4) хорошо работает с веб-камерой ... Но это другая история.
Обновите полный вывод консоли ffmpeg: http://pastebin.com/Hzem6CKF (вы можете видеть, что он открывает видеоустройство в режиме YUV, но устройство также может обеспечивать вывод MJPEG).