
USB 웹캠의 일부 데이터를 BeagleBone Black 기반 장치의 파일로 스트리밍하려고 합니다. USB 연결을 테스트하려고 하므로 출력 형식에 대해서는 신경 쓰지 않고 CPU를 로드하므로 출력을 다시 인코딩하고 싶지 않습니다. 장치에는 비디오 카드도 없고 화면도 없으며 직렬 콘솔과 USB 포트만 있습니다. Debian Jessie(고대, 저도 알아요)를 실행하고 있습니다.
시도했지만 ffmpeg -f v4l2 -i /dev/video0 -vcodec copy -t 60 -stats test.raw
ffmpeg가 반환됩니다.
[NULL @ 0x878c0] Unable to find a suitable output format for 'test.raw'
test.raw: Invalid argument
웹캠은 Logitech V-U0015이며 /dev/video0으로 나열됩니다.
편집, 요청된 정보:
~# ffmpeg -f v4l2 -list_formats all -i /dev/video0
ffmpeg version 2.6.9 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10+deb8u1)
configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --ex
tra-ldflags='-Wl,-z,relro' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enab
le-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --
enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stri
pping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpe
g --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo
-amrwbenc --enable-libaacplus --libdir=/usr/lib/arm-linux-gnueabihf --disable-vda --enable-libbluray --enable-libcdio
--enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpuls
e --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample
--disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 -
-enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/arm-linux-gnueabihf
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[video4linux2,v4l2 @ 0x7cec0] Raw : yuyv422 : YUYV 4:2:2 : 640x480 160x120 176x144 320x176 320x240 3
52x288 432x240 544x288 640x360 752x416 800x448 800x600 864x480 960x544 960x720 1024x576 1184x656 1280x720 1280x960
[video4linux2,v4l2 @ 0x7cec0] Compressed: mjpeg : Motion-JPEG : 640x480 160x120 176x144 320x176 320x240 3
52x288 432x240 544x288 640x360 752x416 800x448 800x600 864x480 960x544 960x720 1024x576 1184x656 1280x720 1280x960
/dev/video0: Immediate exit requested
답변1
카메라는 두 가지 형식을 제공합니다.원시 (yuyv422)그리고mjpeg.
원시의 경우:
ffmpeg -f v4l2 -input_format yuyv422 -i /dev/video0 -c copy -t 60 output.yuv
mjpeg의 경우:
ffmpeg -f v4l2 -input_format mjpeg -i /dev/video0 -c copy -t 60 output.mjpeg
- 나는 원시 입력이 기본적으로 선택될 것이라고 생각합니다(그러나 제가 틀렸을 수도 있습니다). 그래서 게으르게 하고 싶다면
-input_format yuyv422
원시 형식을 원한다면 생략할 수 있습니다. -stats
기본적으로 켜져 있으므로 이 옵션을 포함할 필요가 없습니다.- 가 포함된 다중화기 목록 과 및 가
ffmpeg -muxers
포함된 개별 다중화기에 대한 정보를 참조하세요 .ffmpeg -h muxer=rawvideo
ffmpeg -h muxer=mjpeg
- 보다FFmpeg video4linux2 문서상세 사항은.