How to take a photo with a webcam? #111

Open
opened 2026-11-04 13:57:50 +01:00 by Benjamin_Loison · 15 comments
Owner

DuckDuckGo search Linux take a photo with a camera.

Would help #9.

Related to Benjamin_Loison/avnc/issues/8.

fswebcam
Output:
Command 'fswebcam' not found, but can be installed with:
sudo apt install fswebcam

on Debian 13 GNOME HP laptop.

apt show fswebcam
Output:
Package: fswebcam
Version: 20140113-2
Priority: optional
Section: graphics
Maintainer: Luca Niccoli <lultimouomo@gmail.com>
Installed-Size: 134 kB
Depends: libc6 (>= 2.15), libgd3 (>= 2.1.0~alpha~)
Homepage: http://www.firestorm.cx/fswebcam/
Tag: implemented-in::c, role::program
Download-Size: 50.4 kB
APT-Sources: http://deb.debian.org/debian trixie/main amd64 Packages
Description: Tiny and flexible webcam program
 Fswebcam is a tiny and flexible webcam command-line program for capturing
 images from a V4L1/V4L2 device. It accepts a number of formats, can skip
 the first (possibly bad) frames before performing the actual capture, and
 can perform simple manipulation on the captured image, such as resizing,
 averaging multiple frames or overlaying a caption or an image.

https://www.firestorm.cx/fswebcam/ is not found and https://www.firestorm.cx does not return relevant content.

Note:

Version: 20140113-2

DuckDuckGo and Google search Linux ffmpeg get camera photo.

The Ask Ubuntu answer 102774:

ffmpeg -f video4linux2 -i /dev/video0 -vframes 1 test.jpeg
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125326.211074, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'test.jpeg':
  Metadata:
    encoder         : Lavf61.7.103
  Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn
      Metadata:
        encoder         : Lavc61.19.101 mjpeg
      Side data:
        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[image2 @ 0x56260c51e580] The specified filename 'test.jpeg' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x56260c51e580] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x56260c51e480] video:20KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame=    1 fps=0.0 q=4.3 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.465x
ffmpeg -f video4linux2 -i /dev/video0 test.jpeg
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125339.122791, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'test.jpeg':
  Metadata:
    encoder         : Lavf61.7.103
  Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn
      Metadata:
        encoder         : Lavc61.19.101 mjpeg
      Side data:
        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[image2 @ 0x560973c645c0] The specified filename 'test.jpeg' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x560973c645c0] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[image2 @ 0x560973c645c0] Cannot write more than one file with the same name. Are you missing the -update option or a sequence pattern?
[vost#0:0/mjpeg @ 0x560973c66cc0] Error submitting a packet to the muxer: Invalid argument
    Last message repeated 1 times
[out#0/image2 @ 0x560973c644c0] Error muxing a packet
[out#0/image2 @ 0x560973c644c0] Task finished with error code: -22 (Invalid argument)
[out#0/image2 @ 0x560973c644c0] Terminating thread with return code -22 (Invalid argument)
[out#0/image2 @ 0x560973c644c0] video:56KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame=    2 fps=0.0 q=4.5 Lsize=N/A time=00:00:00.06 bitrate=N/A dup=3 drop=0 speed=0.635x    
Conversion failed!

While it works fine, it seems less clean than with -vframes 1.

ffmpeg -i /dev/video0 -vframes 1 test.jpeg
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125444.953703, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'test.jpeg':
  Metadata:
    encoder         : Lavf61.7.103
  Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn
      Metadata:
        encoder         : Lavc61.19.101 mjpeg
      Side data:
        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[image2 @ 0x563c487f0580] The specified filename 'test.jpeg' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x563c487f0580] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x563c487f0480] video:19KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame=    1 fps=0.0 q=4.3 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.459x
DuckDuckGo search *Linux take a photo with a camera*. Would help #9. Related to [Benjamin_Loison/avnc/issues/8](https://codeberg.org/Benjamin_Loison/avnc/issues/8). ```bash fswebcam ``` <details> <summary>Output:</summary> ``` Command 'fswebcam' not found, but can be installed with: sudo apt install fswebcam ``` </details> on Debian 13 GNOME HP laptop. ```bash apt show fswebcam ``` <details> <summary>Output:</summary> ``` Package: fswebcam Version: 20140113-2 Priority: optional Section: graphics Maintainer: Luca Niccoli <lultimouomo@gmail.com> Installed-Size: 134 kB Depends: libc6 (>= 2.15), libgd3 (>= 2.1.0~alpha~) Homepage: http://www.firestorm.cx/fswebcam/ Tag: implemented-in::c, role::program Download-Size: 50.4 kB APT-Sources: http://deb.debian.org/debian trixie/main amd64 Packages Description: Tiny and flexible webcam program Fswebcam is a tiny and flexible webcam command-line program for capturing images from a V4L1/V4L2 device. It accepts a number of formats, can skip the first (possibly bad) frames before performing the actual capture, and can perform simple manipulation on the captured image, such as resizing, averaging multiple frames or overlaying a caption or an image. ``` </details> https://www.firestorm.cx/fswebcam/ is not found and https://www.firestorm.cx does not return relevant content. Note: ``` Version: 20140113-2 ``` DuckDuckGo and Google search *Linux ffmpeg get camera photo*. [The Ask Ubuntu answer 102774](https://askubuntu.com/a/102774): ```bash ffmpeg -f video4linux2 -i /dev/video0 -vframes 1 test.jpeg ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125326.211074, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native)) Press [q] to stop, [?] for help Output #0, image2, to 'test.jpeg': Metadata: encoder : Lavf61.7.103 Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn Metadata: encoder : Lavc61.19.101 mjpeg Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A [image2 @ 0x56260c51e580] The specified filename 'test.jpeg' does not contain an image sequence pattern or a pattern is invalid. [image2 @ 0x56260c51e580] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image. [out#0/image2 @ 0x56260c51e480] video:20KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 1 fps=0.0 q=4.3 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.465x ``` </details> ```bash ffmpeg -f video4linux2 -i /dev/video0 test.jpeg ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125339.122791, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native)) Press [q] to stop, [?] for help Output #0, image2, to 'test.jpeg': Metadata: encoder : Lavf61.7.103 Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn Metadata: encoder : Lavc61.19.101 mjpeg Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A [image2 @ 0x560973c645c0] The specified filename 'test.jpeg' does not contain an image sequence pattern or a pattern is invalid. [image2 @ 0x560973c645c0] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image. [image2 @ 0x560973c645c0] Cannot write more than one file with the same name. Are you missing the -update option or a sequence pattern? [vost#0:0/mjpeg @ 0x560973c66cc0] Error submitting a packet to the muxer: Invalid argument Last message repeated 1 times [out#0/image2 @ 0x560973c644c0] Error muxing a packet [out#0/image2 @ 0x560973c644c0] Task finished with error code: -22 (Invalid argument) [out#0/image2 @ 0x560973c644c0] Terminating thread with return code -22 (Invalid argument) [out#0/image2 @ 0x560973c644c0] video:56KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 2 fps=0.0 q=4.5 Lsize=N/A time=00:00:00.06 bitrate=N/A dup=3 drop=0 speed=0.635x Conversion failed! ``` </details> While it works fine, it seems less clean than with `-vframes 1`. ```bash ffmpeg -i /dev/video0 -vframes 1 test.jpeg ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125444.953703, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native)) Press [q] to stop, [?] for help Output #0, image2, to 'test.jpeg': Metadata: encoder : Lavf61.7.103 Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn Metadata: encoder : Lavc61.19.101 mjpeg Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A [image2 @ 0x563c487f0580] The specified filename 'test.jpeg' does not contain an image sequence pattern or a pattern is invalid. [image2 @ 0x563c487f0580] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image. [out#0/image2 @ 0x563c487f0480] video:19KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 1 fps=0.0 q=4.3 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.459x ``` </details>
Author
Owner
Related to [Benjamin_Loison/avnc/issues/8](https://codeberg.org/Benjamin_Loison/avnc/issues/8).
Author
Owner

For SSH:

ffmpeg -i /dev/video0 -vframes 1 | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Trailing option(s) found in the command: may be ignored.
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125534.036581, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
At least one output file must be specified
[video4linux2,v4l2 @ 0x563cc2f21100] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
/dev/stdin: empty
For SSH: ```bash ffmpeg -i /dev/video0 -vframes 1 | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Trailing option(s) found in the command: may be ignored. Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125534.036581, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn At least one output file must be specified [video4linux2,v4l2 @ 0x563cc2f21100] Some buffers are still owned by the caller on close. ioctl(VIDIOC_QBUF): Bad file descriptor /dev/stdin: empty ``` </details>
Author
Owner
ffmpeg -i /dev/video0 -vframes 1 - | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125561.516521, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
[AVFormatContext @ 0x563d6ad1c580] Unable to choose an output format for 'pipe:'; use a standard extension for the filename or specify the format manually.
[out#0 @ 0x563d6ad1c480] Error initializing the muxer for pipe:: Invalid argument
Error opening output file -.
Error opening output files: Invalid argument
[video4linux2,v4l2 @ 0x563d6ad1a100] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
/dev/stdin: empty
```bash ffmpeg -i /dev/video0 -vframes 1 - | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125561.516521, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn [AVFormatContext @ 0x563d6ad1c580] Unable to choose an output format for 'pipe:'; use a standard extension for the filename or specify the format manually. [out#0 @ 0x563d6ad1c480] Error initializing the muxer for pipe:: Invalid argument Error opening output file -. Error opening output files: Invalid argument [video4linux2,v4l2 @ 0x563d6ad1a100] Some buffers are still owned by the caller on close. ioctl(VIDIOC_QBUF): Bad file descriptor /dev/stdin: empty ``` </details>
Author
Owner
ffmpeg -i /dev/video0 -vframes 1 /dev/stdout | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125577.429957, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
[AVFormatContext @ 0x557efbfea580] Unable to choose an output format for '/dev/stdout'; use a standard extension for the filename or specify the format manually.
[out#0 @ 0x557efbfea480] Error initializing the muxer for /dev/stdout: Invalid argument
Error opening output file /dev/stdout.
Error opening output files: Invalid argument
[video4linux2,v4l2 @ 0x557efbfe8100] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
/dev/stdin: empty
```bash ffmpeg -i /dev/video0 -vframes 1 /dev/stdout | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125577.429957, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn [AVFormatContext @ 0x557efbfea580] Unable to choose an output format for '/dev/stdout'; use a standard extension for the filename or specify the format manually. [out#0 @ 0x557efbfea480] Error initializing the muxer for /dev/stdout: Invalid argument Error opening output file /dev/stdout. Error opening output files: Invalid argument [video4linux2,v4l2 @ 0x557efbfe8100] Some buffers are still owned by the caller on close. ioctl(VIDIOC_QBUF): Bad file descriptor /dev/stdin: empty ``` </details>
Author
Owner

DuckDuckGo search ffmpeg to stdout.

The Super User answer 520952:

ffmpeg -i /dev/video0 -vframes 1 /dev/stdout -f jpg | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Trailing option(s) found in the command: may be ignored.
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125686.607960, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
[AVFormatContext @ 0x55fe954585c0] Unable to choose an output format for '/dev/stdout'; use a standard extension for the filename or specify the format manually.
[out#0 @ 0x55fe954584c0] Error initializing the muxer for /dev/stdout: Invalid argument
Error opening output file /dev/stdout.
Error opening output files: Invalid argument
[video4linux2,v4l2 @ 0x55fe95456100] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
/dev/stdin: empty
ffmpeg -i /dev/video0 -vframes 1 /dev/stdout -f jpeg | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Trailing option(s) found in the command: may be ignored.
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125689.750960, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
[AVFormatContext @ 0x56277a4515c0] Unable to choose an output format for '/dev/stdout'; use a standard extension for the filename or specify the format manually.
[out#0 @ 0x56277a4514c0] Error initializing the muxer for /dev/stdout: Invalid argument
Error opening output file /dev/stdout.
Error opening output files: Invalid argument
[video4linux2,v4l2 @ 0x56277a44f100] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
/dev/stdin: empty
DuckDuckGo search *ffmpeg to stdout*. [The Super User answer 520952](https://superuser.com/a/520952): ```bash ffmpeg -i /dev/video0 -vframes 1 /dev/stdout -f jpg | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Trailing option(s) found in the command: may be ignored. Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125686.607960, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn [AVFormatContext @ 0x55fe954585c0] Unable to choose an output format for '/dev/stdout'; use a standard extension for the filename or specify the format manually. [out#0 @ 0x55fe954584c0] Error initializing the muxer for /dev/stdout: Invalid argument Error opening output file /dev/stdout. Error opening output files: Invalid argument [video4linux2,v4l2 @ 0x55fe95456100] Some buffers are still owned by the caller on close. ioctl(VIDIOC_QBUF): Bad file descriptor /dev/stdin: empty ``` </details> ```bash ffmpeg -i /dev/video0 -vframes 1 /dev/stdout -f jpeg | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Trailing option(s) found in the command: may be ignored. Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125689.750960, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn [AVFormatContext @ 0x56277a4515c0] Unable to choose an output format for '/dev/stdout'; use a standard extension for the filename or specify the format manually. [out#0 @ 0x56277a4514c0] Error initializing the muxer for /dev/stdout: Invalid argument Error opening output file /dev/stdout. Error opening output files: Invalid argument [video4linux2,v4l2 @ 0x56277a44f100] Some buffers are still owned by the caller on close. ioctl(VIDIOC_QBUF): Bad file descriptor /dev/stdin: empty ``` </details>
Author
Owner
ffmpeg --help
Per-file options (input and output):
-f <fmt>            force container format (auto-detected otherwise)
-t <duration>       stop transcoding after specified duration
```bash ffmpeg --help ``` ``` Per-file options (input and output): -f <fmt> force container format (auto-detected otherwise) -t <duration> stop transcoding after specified duration ```
Author
Owner

DuckDuckGo and Google search ffmpeg jpg stdout.

https://manpages.debian.org/trixie/ffmpeg/ffmpeg.1.en.html

Checking -f and format occurrences:

ffmpeg -formats
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Formats:
 D.. = Demuxing supported
 .E. = Muxing supported
 ..d = Is a device
 ---
 D   3dostr          3DO STR
  E  3g2             3GP2 (3GPP2 file format)
  E  3gp             3GP (3GPP file format)
 D   4xm             4X Technologies
  E  a64             a64 - video for Commodore 64
 D   aa              Audible AA format files
 D   aac             raw ADTS AAC (Advanced Audio Coding)
 D   aax             CRI AAX
 DE  ac3             raw AC-3
 DE  ac4             raw AC-4
 D   ace             tri-Ace Audio Container
 D   acm             Interplay ACM
 D   act             ACT Voice file format
 D   adf             Artworx Data Format
 D   adp             ADP
 D   ads             Sony PS2 ADS
  E  adts            ADTS AAC (Advanced Audio Coding)
 DE  adx             CRI ADX
 DE  aea             MD STUDIO audio
 D   afc             AFC
 DE  aiff            Audio IFF
 D   aix             CRI AIX
 DE  alaw            PCM A-law
 D   alias_pix       Alias/Wavefront PIX image
 DE  alp             LEGO Racers ALP
 DEd alsa            ALSA audio output
 DE  amr             3GPP AMR
 D   amrnb           raw AMR-NB
 D   amrwb           raw AMR-WB
  E  amv             AMV
 D   anm             Deluxe Paint Animation
 D   apac            raw APAC
 D   apc             CRYO APC
 D   ape             Monkey's Audio
 DE  apm             Ubisoft Rayman 2 APM
 DE  apng            Animated Portable Network Graphics
 DE  aptx            raw aptX (Audio Processing Technology for Bluetooth)
 DE  aptx_hd         raw aptX HD (Audio Processing Technology for Bluetooth)
 D   aqtitle         AQTitle subtitles
 DE  argo_asf        Argonaut Games ASF
 D   argo_brp        Argonaut Games BRP
 DE  argo_cvg        Argonaut Games CVG
 DE  asf             ASF (Advanced / Active Streaming Format)
 D   asf_o           ASF (Advanced / Active Streaming Format)
  E  asf_stream      ASF (Advanced / Active Streaming Format)
 DE  ass             SSA (SubStation Alpha) subtitle
 DE  ast             AST (Audio Stream)
 DE  au              Sun AU
 D   av1             AV1 Annex B
 DE  avi             AVI (Audio Video Interleaved)
  E  avif            AVIF
  E  avm2            SWF (ShockWave Flash) (AVM2)
 D   avr             AVR (Audio Visual Research)
 D   avs             Argonaut Games Creature Shock
 DE  avs2            raw AVS2-P2/IEEE1857.4 video
 DE  avs3            AVS3-P2/IEEE1857.10
 D   bethsoftvid     Bethesda Softworks VID
 D   bfi             Brute Force & Ignorance
 D   bfstm           BFSTM (Binary Cafe Stream)
 D   bin             Binary text
 D   bink            Bink
 D   binka           Bink Audio
 DE  bit             G.729 BIT file format
 D   bitpacked       Bitpacked
 D   bmp_pipe        piped bmp sequence
 D   bmv             Discworld II BMV
 D   boa             Black Ops Audio
 D   bonk            raw Bonk
 D   brender_pix     BRender PIX image
 D   brstm           BRSTM (Binary Revolution Stream)
 D   c93             Interplay C93
  Ed caca            caca (color ASCII art) output device
 DE  caf             Apple CAF (Core Audio Format)
 DE  cavsvideo       raw Chinese AVS (Audio Video Standard) video
 D   cdg             CD Graphics
 D   cdxl            Commodore CDXL video
  E  chromaprint     Chromaprint
 D   cine            Phantom Cine
 DE  codec2          codec2 .c2 muxer
 DE  codec2raw       raw codec2 muxer
 D   concat          Virtual concatenation script
  E  crc             CRC testing
 D   cri_pipe        piped cri sequence
 DE  dash            DASH Muxer
 DE  data            raw data
 DE  daud            D-Cinema audio
 D   dcstr           Sega DC STR
 D   dds_pipe        piped dds sequence
 D   derf            Xilam DERF
 D   dfa             Chronomaster DFA
 DE  dfpwm           raw DFPWM1a
 D   dhav            Video DAV
 DE  dirac           raw Dirac
 DE  dnxhd           raw DNxHD (SMPTE VC-3)
 D   dpx_pipe        piped dpx sequence
 D   dsf             DSD Stream File (DSF)
 D   dsicin          Delphine Software International CIN
 D   dss             Digital Speech Standard (DSS)
 DE  dts             raw DTS
 D   dtshd           raw DTS-HD
 DE  dv              DV (Digital Video)
 D   dvbsub          raw dvbsub
 D   dvbtxt          dvbtxt
  E  dvd             MPEG-2 PS (DVD VOB)
 D   dvdvideo        DVD-Video
 D   dxa             DXA
 D   ea              Electronic Arts Multimedia
 D   ea_cdata        Electronic Arts cdata
 DE  eac3            raw E-AC-3
 D   epaf            Ensoniq Paris Audio File
 DE  evc             raw EVC video
 D   exr_pipe        piped exr sequence
 DE  f32be           PCM 32-bit floating-point big-endian
 DE  f32le           PCM 32-bit floating-point little-endian
  E  f4v             F4V Adobe Flash Video
 DE  f64be           PCM 64-bit floating-point big-endian
 DE  f64le           PCM 64-bit floating-point little-endian
 DEd fbdev           Linux framebuffer
 DE  ffmetadata      FFmpeg metadata in text
  E  fifo            FIFO queue pseudo-muxer
 DE  film_cpk        Sega FILM / CPK
 DE  filmstrip       Adobe Filmstrip
 DE  fits            Flexible Image Transport System
 DE  flac            raw FLAC
 D   flic            FLI/FLC/FLX animation
 DE  flv             FLV (Flash Video)
  E  framecrc        framecrc testing
  E  framehash       Per-frame hash testing
  E  framemd5        Per-frame MD5 testing
 D   frm             Megalux Frame
 D   fsb             FMOD Sample Bank
 D   fwse            Capcom's MT Framework sound
 DE  g722            raw G.722
 DE  g723_1          raw G.723.1
 DE  g726            raw big-endian G.726 ("left-justified")
 DE  g726le          raw little-endian G.726 ("right-justified")
 D   g729            G.729 raw format demuxer
 D   gdv             Gremlin Digital Video
 D   gem_pipe        piped gem sequence
 D   genh            GENeric Header
 DE  gif             CompuServe Graphics Interchange Format (GIF)
 D   gif_pipe        piped gif sequence
 DE  gsm             raw GSM
 DE  gxf             GXF (General eXchange Format)
 DE  h261            raw H.261
 DE  h263            raw H.263
 DE  h264            raw H.264 video
  E  hash            Hash testing
 D   hca             CRI HCA
 D   hcom            Macintosh HCOM
 D   hdr_pipe        piped hdr sequence
  E  hds             HDS Muxer
 DE  hevc            raw HEVC video
 DE  hls             Apple HTTP Live Streaming
 D   hnm             Cryo HNM v4
 DE  iamf            Raw Immersive Audio Model and Formats
 DE  ico             Microsoft Windows ICO
 D   idcin           id Cinematic
 D   idf             iCE Draw File
 D d iec61883        libiec61883 (new DV1394) A/V input device
 D   iff             IFF (Interchange File Format)
 D   ifv             IFV CCTV DVR
 DE  ilbc            iLBC storage
 DE  image2          image2 sequence
 DE  image2pipe      piped image2 sequence
 D   imf             IMF (Interoperable Master Format)
 D   ingenient       raw Ingenient MJPEG
 D   ipmovie         Interplay MVE
  E  ipod            iPod H.264 MP4 (MPEG-4 Part 14)
 D   ipu             raw IPU Video
 DE  ircam           Berkeley/IRCAM/CARL Sound Format
  E  ismv            ISMV/ISMA (Smooth Streaming)
 D   iss             Funcom ISS
 D   iv8             IndigoVision 8000 video
 DE  ivf             On2 IVF
 D   ivr             IVR (Internet Video Recording)
 D   j2k_pipe        piped j2k sequence
 D d jack            JACK Audio Connection Kit
 DE  jacosub         JACOsub subtitle format
 D   jpeg_pipe       piped jpeg sequence
 D   jpegls_pipe     piped jpegls sequence
 D   jpegxl_anim     Animated JPEG XL
 D   jpegxl_pipe     piped jpegxl sequence
 D   jv              Bitmap Brothers JV
 D d kmsgrab         KMS screen capture
 D   kux             KUX (YouKu)
 DE  kvag            Simon & Schuster Interactive VAG
 D   laf             LAF (Limitless Audio Format)
  E  latm            LOAS/LATM
 D d lavfi           Libavfilter virtual input device
 DE  lc3             LC3 (Low Complexity Communication Codec)
 D d libcdio          
 D d libdc1394       dc1394 v.2 A/V grab
 D   libgme          Game Music Emu demuxer
 D   libopenmpt      Tracker formats (libopenmpt)
 D   live_flv        live RTMP FLV (Flash Video)
 D   lmlm4           raw lmlm4
 D   loas            LOAS AudioSyncStream
 DE  lrc             LRC lyrics
 D   luodat          Video CCTV DAT
 D   lvf             LVF
 D   lxf             VR native stream (LXF)
 DE  m4v             raw MPEG-4 video
  E  matroska        Matroska
 D   matroska,webm   Matroska / WebM
 D   mca             MCA Audio Format
 D   mcc             MacCaption
  E  md5             MD5 testing
 D   mgsts           Metal Gear Solid: The Twin Snakes
 DE  microdvd        MicroDVD subtitle format
 DE  mjpeg           raw MJPEG video
 D   mjpeg_2000      raw MJPEG 2000 video
  E  mkvtimestamp_v2 extract pts as timecode v2 format, as defined by mkvtoolnix
 DE  mlp             raw MLP
 D   mlv             Magic Lantern Video (MLV)
 D   mm              American Laser Games MM
 DE  mmf             Yamaha SMAF
 D   mods            MobiClip MODS
 D   moflex          MobiClip MOFLEX
  E  mov             QuickTime / MOV
 D   mov,mp4,m4a,3gp,3g2,mj2 QuickTime / MOV
  E  mp2             MP2 (MPEG audio layer 2)
 DE  mp3             MP3 (MPEG audio layer 3)
  E  mp4             MP4 (MPEG-4 Part 14)
 D   mpc             Musepack
 D   mpc8            Musepack SV8
 DE  mpeg            MPEG-1 Systems / MPEG program stream
  E  mpeg1video      raw MPEG-1 video
  E  mpeg2video      raw MPEG-2 video
 DE  mpegts          MPEG-TS (MPEG-2 Transport Stream)
 D   mpegtsraw       raw MPEG-TS (MPEG-2 Transport Stream)
 D   mpegvideo       raw MPEG video
 DE  mpjpeg          MIME multipart JPEG
 D   mpl2            MPL2 subtitles
 D   mpsub           MPlayer subtitles
 D   msf             Sony PS3 MSF
 D   msnwctcp        MSN TCP Webcam stream
 D   msp             Microsoft Paint (MSP))
 D   mtaf            Konami PS2 MTAF
 D   mtv             MTV
 DE  mulaw           PCM mu-law
 D   musx            Eurocom MUSX
 D   mv              Silicon Graphics Movie
 D   mvi             Motion Pixels MVI
 DE  mxf             MXF (Material eXchange Format)
  E  mxf_d10         MXF (Material eXchange Format) D-10 Mapping
  E  mxf_opatom      MXF (Material eXchange Format) Operational Pattern Atom
 D   mxg             MxPEG clip
 D   nc              NC camera feed
 D   nistsphere      NIST SPeech HEader REsources
 D   nsp             Computerized Speech Lab NSP
 D   nsv             Nullsoft Streaming Video
  E  null            raw null video
 DE  nut             NUT
 D   nuv             NuppelVideo
 DE  obu             AV1 low overhead OBU
  E  oga             Ogg Audio
 DE  ogg             Ogg
  E  ogv             Ogg Video
 DE  oma             Sony OpenMG audio
 D d openal          OpenAL audio capture device
  Ed opengl          OpenGL output
  E  opus            Ogg Opus
 D   osq             raw OSQ
 DEd oss             OSS (Open Sound System) playback
 D   paf             Amazing Studio Packed Animation File
 D   pam_pipe        piped pam sequence
 D   pbm_pipe        piped pbm sequence
 D   pcx_pipe        piped pcx sequence
 D   pdv             PlayDate Video
 D   pfm_pipe        piped pfm sequence
 D   pgm_pipe        piped pgm sequence
 D   pgmyuv_pipe     piped pgmyuv sequence
 D   pgx_pipe        piped pgx sequence
 D   phm_pipe        piped phm sequence
 D   photocd_pipe    piped photocd sequence
 D   pictor_pipe     piped pictor sequence
 D   pjs             PJS (Phoenix Japanimation Society) subtitles
 D   pmp             Playstation Portable PMP
 D   png_pipe        piped png sequence
 D   pp_bnk          Pro Pinball Series Soundbank
 D   ppm_pipe        piped ppm sequence
 D   psd_pipe        piped psd sequence
  E  psp             PSP MP4 (MPEG-4 Part 14)
 D   psxstr          Sony Playstation STR
 DEd pulse           Pulse audio output
 D   pva             TechnoTrend PVA
 D   pvf             PVF (Portable Voice Format)
 D   qcp             QCP
 D   qdraw_pipe      piped qdraw sequence
 D   qoa             QOA
 D   qoi_pipe        piped qoi sequence
 D   r3d             REDCODE R3D
 DE  rawvideo        raw video
 DE  rcwt            RCWT (Raw Captions With Time)
 D   realtext        RealText subtitle format
 D   redspark        RedSpark
 D   rka             RKA (RK Audio)
 D   rl2             RL2
 DE  rm              RealMedia
 DE  roq             raw id RoQ
 D   rpl             RPL / ARMovie
 D   rsd             GameCube RSD
 DE  rso             Lego Mindstorms RSO
 DE  rtp             RTP output
  E  rtp_mpegts      RTP/mpegts output format
 DE  rtsp            RTSP output
 DE  s16be           PCM signed 16-bit big-endian
 DE  s16le           PCM signed 16-bit little-endian
 DE  s24be           PCM signed 24-bit big-endian
 DE  s24le           PCM signed 24-bit little-endian
 DE  s32be           PCM signed 32-bit big-endian
 DE  s32le           PCM signed 32-bit little-endian
 D   s337m           SMPTE 337M
 DE  s8              PCM signed 8-bit
 D   sami            SAMI subtitle format
 DE  sap             SAP output
 DE  sbc             raw SBC
 D   sbg             SBaGen binaural beats script
 DE  scc             Scenarist Closed Captions
 D   scd             Square Enix SCD
  Ed sdl,sdl2        SDL2 output device
 D   sdns            Xbox SDNS
 D   sdp             SDP
 D   sdr2            SDR2
 D   sds             MIDI Sample Dump Standard
 D   sdx             Sample Dump eXchange
  E  segment         segment
 D   ser             SER (Simple uncompressed video format for astronomical capturing)
 D   sga             Digital Pictures SGA
 D   sgi_pipe        piped sgi sequence
 D   shn             raw Shorten
 D   siff            Beam Software SIFF
 D   simbiosis_imx   Simbiosis Interactive IMX
 D   sln             Asterisk raw pcm
 DE  smjpeg          Loki SDL MJPEG
 D   smk             Smacker
  E  smoothstreaming Smooth Streaming Muxer
 D   smush           LucasArts Smush
 D   sol             Sierra SOL
 DE  sox             SoX (Sound eXchange) native
 DE  spdif           IEC 61937 (used on S/PDIF - IEC958)
  E  spx             Ogg Speex
 DE  srt             SubRip subtitle
 D   stl             Spruce subtitle format
  E  stream_segment,ssegment streaming segment muxer
  E  streamhash      Per-stream hash testing
 D   subviewer       SubViewer subtitle format
 D   subviewer1      SubViewer v1 subtitle format
 D   sunrast_pipe    piped sunrast sequence
 DE  sup             raw HDMV Presentation Graphic Stream subtitles
 D   svag            Konami PS2 SVAG
  E  svcd            MPEG-2 PS (SVCD)
 D   svg_pipe        piped svg sequence
 D   svs             Square SVS
 DE  swf             SWF (ShockWave Flash)
 D   tak             raw TAK
 D   tedcaptions     TED Talks captions
  E  tee             Multiple muxer tee
 D   thp             THP
 D   tiertexseq      Tiertex Limited SEQ
 D   tiff_pipe       piped tiff sequence
 D   tmv             8088flex TMV
 DE  truehd          raw TrueHD
 DE  tta             TTA (True Audio)
  E  ttml            TTML subtitle
 D   tty             Tele-typewriter
 D   txd             Renderware TeXture Dictionary
 D   ty              TiVo TY Stream
 DE  u16be           PCM unsigned 16-bit big-endian
 DE  u16le           PCM unsigned 16-bit little-endian
 DE  u24be           PCM unsigned 24-bit big-endian
 DE  u24le           PCM unsigned 24-bit little-endian
 DE  u32be           PCM unsigned 32-bit big-endian
 DE  u32le           PCM unsigned 32-bit little-endian
 DE  u8              PCM unsigned 8-bit
  E  uncodedframecrc uncoded framecrc testing
 D   usm             CRI USM
 D   v210            Uncompressed 4:2:2 10-bit
 D   v210x           Uncompressed 4:2:2 10-bit
 D   vag             Sony PS2 VAG
 D   vbn_pipe        piped vbn sequence
 DE  vc1             raw VC-1 video
 DE  vc1test         VC-1 test bitstream
  E  vcd             MPEG-1 Systems / MPEG program stream (VCD)
 DE  vidc            PCM Archimedes VIDC
 DEd video4linux2,v4l2 Video4Linux2 output device
 D   vividas         Vividas VIV
 D   vivo            Vivo
 D   vmd             Sierra VMD
  E  vob             MPEG-2 PS (VOB)
 D   vobsub          VobSub subtitle format
 DE  voc             Creative Voice
 D   vpk             Sony PS2 VPK
 D   vplayer         VPlayer subtitles
 D   vqf             Nippon Telegraph and Telephone Corporation (NTT) TwinVQ
 DE  vvc             raw H.266/VVC video
 DE  w64             Sony Wave64
 D   wady            Marble WADY
 DE  wav             WAV / WAVE (Waveform Audio)
 D   wavarc          Waveform Archiver
 D   wc3movie        Wing Commander III movie
  E  webm            WebM
  E  webm_chunk      WebM Chunk Muxer
 DE  webm_dash_manifest WebM DASH Manifest
  E  webp            WebP
 D   webp_pipe       piped webp sequence
 DE  webvtt          WebVTT subtitle
 DE  wsaud           Westwood Studios audio
 D   wsd             Wideband Single-bit Data (WSD)
 D   wsvqa           Westwood Studios VQA
 DE  wtv             Windows Television (WTV)
 DE  wv              raw WavPack
 D   wve             Psion 3 audio
 D d x11grab         X11 screen capture, using XCB
 D   xa              Maxis XA
 D   xbin            eXtended BINary text (XBIN)
 D   xbm_pipe        piped xbm sequence
 D   xmd             Konami XMD
 D   xmv             Microsoft XMV
 D   xpm_pipe        piped xpm sequence
  Ed xv              XV (XVideo) output device
 D   xvag            Sony PS3 XVAG
 D   xwd_pipe        piped xwd sequence
 D   xwma            Microsoft xWMA
 D   yop             Psygnosis YOP
 DE  yuv4mpegpipe    YUV4MPEG pipe
DuckDuckGo and Google search *ffmpeg jpg stdout*. https://manpages.debian.org/trixie/ffmpeg/ffmpeg.1.en.html Checking `-f` and *format* occurrences: ```bash ffmpeg -formats ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Formats: D.. = Demuxing supported .E. = Muxing supported ..d = Is a device --- D 3dostr 3DO STR E 3g2 3GP2 (3GPP2 file format) E 3gp 3GP (3GPP file format) D 4xm 4X Technologies E a64 a64 - video for Commodore 64 D aa Audible AA format files D aac raw ADTS AAC (Advanced Audio Coding) D aax CRI AAX DE ac3 raw AC-3 DE ac4 raw AC-4 D ace tri-Ace Audio Container D acm Interplay ACM D act ACT Voice file format D adf Artworx Data Format D adp ADP D ads Sony PS2 ADS E adts ADTS AAC (Advanced Audio Coding) DE adx CRI ADX DE aea MD STUDIO audio D afc AFC DE aiff Audio IFF D aix CRI AIX DE alaw PCM A-law D alias_pix Alias/Wavefront PIX image DE alp LEGO Racers ALP DEd alsa ALSA audio output DE amr 3GPP AMR D amrnb raw AMR-NB D amrwb raw AMR-WB E amv AMV D anm Deluxe Paint Animation D apac raw APAC D apc CRYO APC D ape Monkey's Audio DE apm Ubisoft Rayman 2 APM DE apng Animated Portable Network Graphics DE aptx raw aptX (Audio Processing Technology for Bluetooth) DE aptx_hd raw aptX HD (Audio Processing Technology for Bluetooth) D aqtitle AQTitle subtitles DE argo_asf Argonaut Games ASF D argo_brp Argonaut Games BRP DE argo_cvg Argonaut Games CVG DE asf ASF (Advanced / Active Streaming Format) D asf_o ASF (Advanced / Active Streaming Format) E asf_stream ASF (Advanced / Active Streaming Format) DE ass SSA (SubStation Alpha) subtitle DE ast AST (Audio Stream) DE au Sun AU D av1 AV1 Annex B DE avi AVI (Audio Video Interleaved) E avif AVIF E avm2 SWF (ShockWave Flash) (AVM2) D avr AVR (Audio Visual Research) D avs Argonaut Games Creature Shock DE avs2 raw AVS2-P2/IEEE1857.4 video DE avs3 AVS3-P2/IEEE1857.10 D bethsoftvid Bethesda Softworks VID D bfi Brute Force & Ignorance D bfstm BFSTM (Binary Cafe Stream) D bin Binary text D bink Bink D binka Bink Audio DE bit G.729 BIT file format D bitpacked Bitpacked D bmp_pipe piped bmp sequence D bmv Discworld II BMV D boa Black Ops Audio D bonk raw Bonk D brender_pix BRender PIX image D brstm BRSTM (Binary Revolution Stream) D c93 Interplay C93 Ed caca caca (color ASCII art) output device DE caf Apple CAF (Core Audio Format) DE cavsvideo raw Chinese AVS (Audio Video Standard) video D cdg CD Graphics D cdxl Commodore CDXL video E chromaprint Chromaprint D cine Phantom Cine DE codec2 codec2 .c2 muxer DE codec2raw raw codec2 muxer D concat Virtual concatenation script E crc CRC testing D cri_pipe piped cri sequence DE dash DASH Muxer DE data raw data DE daud D-Cinema audio D dcstr Sega DC STR D dds_pipe piped dds sequence D derf Xilam DERF D dfa Chronomaster DFA DE dfpwm raw DFPWM1a D dhav Video DAV DE dirac raw Dirac DE dnxhd raw DNxHD (SMPTE VC-3) D dpx_pipe piped dpx sequence D dsf DSD Stream File (DSF) D dsicin Delphine Software International CIN D dss Digital Speech Standard (DSS) DE dts raw DTS D dtshd raw DTS-HD DE dv DV (Digital Video) D dvbsub raw dvbsub D dvbtxt dvbtxt E dvd MPEG-2 PS (DVD VOB) D dvdvideo DVD-Video D dxa DXA D ea Electronic Arts Multimedia D ea_cdata Electronic Arts cdata DE eac3 raw E-AC-3 D epaf Ensoniq Paris Audio File DE evc raw EVC video D exr_pipe piped exr sequence DE f32be PCM 32-bit floating-point big-endian DE f32le PCM 32-bit floating-point little-endian E f4v F4V Adobe Flash Video DE f64be PCM 64-bit floating-point big-endian DE f64le PCM 64-bit floating-point little-endian DEd fbdev Linux framebuffer DE ffmetadata FFmpeg metadata in text E fifo FIFO queue pseudo-muxer DE film_cpk Sega FILM / CPK DE filmstrip Adobe Filmstrip DE fits Flexible Image Transport System DE flac raw FLAC D flic FLI/FLC/FLX animation DE flv FLV (Flash Video) E framecrc framecrc testing E framehash Per-frame hash testing E framemd5 Per-frame MD5 testing D frm Megalux Frame D fsb FMOD Sample Bank D fwse Capcom's MT Framework sound DE g722 raw G.722 DE g723_1 raw G.723.1 DE g726 raw big-endian G.726 ("left-justified") DE g726le raw little-endian G.726 ("right-justified") D g729 G.729 raw format demuxer D gdv Gremlin Digital Video D gem_pipe piped gem sequence D genh GENeric Header DE gif CompuServe Graphics Interchange Format (GIF) D gif_pipe piped gif sequence DE gsm raw GSM DE gxf GXF (General eXchange Format) DE h261 raw H.261 DE h263 raw H.263 DE h264 raw H.264 video E hash Hash testing D hca CRI HCA D hcom Macintosh HCOM D hdr_pipe piped hdr sequence E hds HDS Muxer DE hevc raw HEVC video DE hls Apple HTTP Live Streaming D hnm Cryo HNM v4 DE iamf Raw Immersive Audio Model and Formats DE ico Microsoft Windows ICO D idcin id Cinematic D idf iCE Draw File D d iec61883 libiec61883 (new DV1394) A/V input device D iff IFF (Interchange File Format) D ifv IFV CCTV DVR DE ilbc iLBC storage DE image2 image2 sequence DE image2pipe piped image2 sequence D imf IMF (Interoperable Master Format) D ingenient raw Ingenient MJPEG D ipmovie Interplay MVE E ipod iPod H.264 MP4 (MPEG-4 Part 14) D ipu raw IPU Video DE ircam Berkeley/IRCAM/CARL Sound Format E ismv ISMV/ISMA (Smooth Streaming) D iss Funcom ISS D iv8 IndigoVision 8000 video DE ivf On2 IVF D ivr IVR (Internet Video Recording) D j2k_pipe piped j2k sequence D d jack JACK Audio Connection Kit DE jacosub JACOsub subtitle format D jpeg_pipe piped jpeg sequence D jpegls_pipe piped jpegls sequence D jpegxl_anim Animated JPEG XL D jpegxl_pipe piped jpegxl sequence D jv Bitmap Brothers JV D d kmsgrab KMS screen capture D kux KUX (YouKu) DE kvag Simon & Schuster Interactive VAG D laf LAF (Limitless Audio Format) E latm LOAS/LATM D d lavfi Libavfilter virtual input device DE lc3 LC3 (Low Complexity Communication Codec) D d libcdio D d libdc1394 dc1394 v.2 A/V grab D libgme Game Music Emu demuxer D libopenmpt Tracker formats (libopenmpt) D live_flv live RTMP FLV (Flash Video) D lmlm4 raw lmlm4 D loas LOAS AudioSyncStream DE lrc LRC lyrics D luodat Video CCTV DAT D lvf LVF D lxf VR native stream (LXF) DE m4v raw MPEG-4 video E matroska Matroska D matroska,webm Matroska / WebM D mca MCA Audio Format D mcc MacCaption E md5 MD5 testing D mgsts Metal Gear Solid: The Twin Snakes DE microdvd MicroDVD subtitle format DE mjpeg raw MJPEG video D mjpeg_2000 raw MJPEG 2000 video E mkvtimestamp_v2 extract pts as timecode v2 format, as defined by mkvtoolnix DE mlp raw MLP D mlv Magic Lantern Video (MLV) D mm American Laser Games MM DE mmf Yamaha SMAF D mods MobiClip MODS D moflex MobiClip MOFLEX E mov QuickTime / MOV D mov,mp4,m4a,3gp,3g2,mj2 QuickTime / MOV E mp2 MP2 (MPEG audio layer 2) DE mp3 MP3 (MPEG audio layer 3) E mp4 MP4 (MPEG-4 Part 14) D mpc Musepack D mpc8 Musepack SV8 DE mpeg MPEG-1 Systems / MPEG program stream E mpeg1video raw MPEG-1 video E mpeg2video raw MPEG-2 video DE mpegts MPEG-TS (MPEG-2 Transport Stream) D mpegtsraw raw MPEG-TS (MPEG-2 Transport Stream) D mpegvideo raw MPEG video DE mpjpeg MIME multipart JPEG D mpl2 MPL2 subtitles D mpsub MPlayer subtitles D msf Sony PS3 MSF D msnwctcp MSN TCP Webcam stream D msp Microsoft Paint (MSP)) D mtaf Konami PS2 MTAF D mtv MTV DE mulaw PCM mu-law D musx Eurocom MUSX D mv Silicon Graphics Movie D mvi Motion Pixels MVI DE mxf MXF (Material eXchange Format) E mxf_d10 MXF (Material eXchange Format) D-10 Mapping E mxf_opatom MXF (Material eXchange Format) Operational Pattern Atom D mxg MxPEG clip D nc NC camera feed D nistsphere NIST SPeech HEader REsources D nsp Computerized Speech Lab NSP D nsv Nullsoft Streaming Video E null raw null video DE nut NUT D nuv NuppelVideo DE obu AV1 low overhead OBU E oga Ogg Audio DE ogg Ogg E ogv Ogg Video DE oma Sony OpenMG audio D d openal OpenAL audio capture device Ed opengl OpenGL output E opus Ogg Opus D osq raw OSQ DEd oss OSS (Open Sound System) playback D paf Amazing Studio Packed Animation File D pam_pipe piped pam sequence D pbm_pipe piped pbm sequence D pcx_pipe piped pcx sequence D pdv PlayDate Video D pfm_pipe piped pfm sequence D pgm_pipe piped pgm sequence D pgmyuv_pipe piped pgmyuv sequence D pgx_pipe piped pgx sequence D phm_pipe piped phm sequence D photocd_pipe piped photocd sequence D pictor_pipe piped pictor sequence D pjs PJS (Phoenix Japanimation Society) subtitles D pmp Playstation Portable PMP D png_pipe piped png sequence D pp_bnk Pro Pinball Series Soundbank D ppm_pipe piped ppm sequence D psd_pipe piped psd sequence E psp PSP MP4 (MPEG-4 Part 14) D psxstr Sony Playstation STR DEd pulse Pulse audio output D pva TechnoTrend PVA D pvf PVF (Portable Voice Format) D qcp QCP D qdraw_pipe piped qdraw sequence D qoa QOA D qoi_pipe piped qoi sequence D r3d REDCODE R3D DE rawvideo raw video DE rcwt RCWT (Raw Captions With Time) D realtext RealText subtitle format D redspark RedSpark D rka RKA (RK Audio) D rl2 RL2 DE rm RealMedia DE roq raw id RoQ D rpl RPL / ARMovie D rsd GameCube RSD DE rso Lego Mindstorms RSO DE rtp RTP output E rtp_mpegts RTP/mpegts output format DE rtsp RTSP output DE s16be PCM signed 16-bit big-endian DE s16le PCM signed 16-bit little-endian DE s24be PCM signed 24-bit big-endian DE s24le PCM signed 24-bit little-endian DE s32be PCM signed 32-bit big-endian DE s32le PCM signed 32-bit little-endian D s337m SMPTE 337M DE s8 PCM signed 8-bit D sami SAMI subtitle format DE sap SAP output DE sbc raw SBC D sbg SBaGen binaural beats script DE scc Scenarist Closed Captions D scd Square Enix SCD Ed sdl,sdl2 SDL2 output device D sdns Xbox SDNS D sdp SDP D sdr2 SDR2 D sds MIDI Sample Dump Standard D sdx Sample Dump eXchange E segment segment D ser SER (Simple uncompressed video format for astronomical capturing) D sga Digital Pictures SGA D sgi_pipe piped sgi sequence D shn raw Shorten D siff Beam Software SIFF D simbiosis_imx Simbiosis Interactive IMX D sln Asterisk raw pcm DE smjpeg Loki SDL MJPEG D smk Smacker E smoothstreaming Smooth Streaming Muxer D smush LucasArts Smush D sol Sierra SOL DE sox SoX (Sound eXchange) native DE spdif IEC 61937 (used on S/PDIF - IEC958) E spx Ogg Speex DE srt SubRip subtitle D stl Spruce subtitle format E stream_segment,ssegment streaming segment muxer E streamhash Per-stream hash testing D subviewer SubViewer subtitle format D subviewer1 SubViewer v1 subtitle format D sunrast_pipe piped sunrast sequence DE sup raw HDMV Presentation Graphic Stream subtitles D svag Konami PS2 SVAG E svcd MPEG-2 PS (SVCD) D svg_pipe piped svg sequence D svs Square SVS DE swf SWF (ShockWave Flash) D tak raw TAK D tedcaptions TED Talks captions E tee Multiple muxer tee D thp THP D tiertexseq Tiertex Limited SEQ D tiff_pipe piped tiff sequence D tmv 8088flex TMV DE truehd raw TrueHD DE tta TTA (True Audio) E ttml TTML subtitle D tty Tele-typewriter D txd Renderware TeXture Dictionary D ty TiVo TY Stream DE u16be PCM unsigned 16-bit big-endian DE u16le PCM unsigned 16-bit little-endian DE u24be PCM unsigned 24-bit big-endian DE u24le PCM unsigned 24-bit little-endian DE u32be PCM unsigned 32-bit big-endian DE u32le PCM unsigned 32-bit little-endian DE u8 PCM unsigned 8-bit E uncodedframecrc uncoded framecrc testing D usm CRI USM D v210 Uncompressed 4:2:2 10-bit D v210x Uncompressed 4:2:2 10-bit D vag Sony PS2 VAG D vbn_pipe piped vbn sequence DE vc1 raw VC-1 video DE vc1test VC-1 test bitstream E vcd MPEG-1 Systems / MPEG program stream (VCD) DE vidc PCM Archimedes VIDC DEd video4linux2,v4l2 Video4Linux2 output device D vividas Vividas VIV D vivo Vivo D vmd Sierra VMD E vob MPEG-2 PS (VOB) D vobsub VobSub subtitle format DE voc Creative Voice D vpk Sony PS2 VPK D vplayer VPlayer subtitles D vqf Nippon Telegraph and Telephone Corporation (NTT) TwinVQ DE vvc raw H.266/VVC video DE w64 Sony Wave64 D wady Marble WADY DE wav WAV / WAVE (Waveform Audio) D wavarc Waveform Archiver D wc3movie Wing Commander III movie E webm WebM E webm_chunk WebM Chunk Muxer DE webm_dash_manifest WebM DASH Manifest E webp WebP D webp_pipe piped webp sequence DE webvtt WebVTT subtitle DE wsaud Westwood Studios audio D wsd Wideband Single-bit Data (WSD) D wsvqa Westwood Studios VQA DE wtv Windows Television (WTV) DE wv raw WavPack D wve Psion 3 audio D d x11grab X11 screen capture, using XCB D xa Maxis XA D xbin eXtended BINary text (XBIN) D xbm_pipe piped xbm sequence D xmd Konami XMD D xmv Microsoft XMV D xpm_pipe piped xpm sequence Ed xv XV (XVideo) output device D xvag Sony PS3 XVAG D xwd_pipe piped xwd sequence D xwma Microsoft xWMA D yop Psygnosis YOP DE yuv4mpegpipe YUV4MPEG pipe ``` </details>
Author
Owner
ffmpeg -formats | grep -iE 'jpg|jpeg'
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
 D   ingenient       raw Ingenient MJPEG
 D   jpeg_pipe       piped jpeg sequence
 D   jpegls_pipe     piped jpegls sequence
 D   jpegxl_anim     Animated JPEG XL
 D   jpegxl_pipe     piped jpegxl sequence
 DE  mjpeg           raw MJPEG video
 D   mjpeg_2000      raw MJPEG 2000 video
 DE  mpjpeg          MIME multipart JPEG
 DE  smjpeg          Loki SDL MJPEG
```bash ffmpeg -formats | grep -iE 'jpg|jpeg' ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 D ingenient raw Ingenient MJPEG D jpeg_pipe piped jpeg sequence D jpegls_pipe piped jpegls sequence D jpegxl_anim Animated JPEG XL D jpegxl_pipe piped jpegxl sequence DE mjpeg raw MJPEG video D mjpeg_2000 raw MJPEG 2000 video DE mpjpeg MIME multipart JPEG DE smjpeg Loki SDL MJPEG ``` </details>
Author
Owner
ffmpeg -i /dev/video0 -vframes 1 -f jpeg_pipe | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Trailing option(s) found in the command: may be ignored.
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125886.495903, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
At least one output file must be specified
[video4linux2,v4l2 @ 0x559ae93e7140] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
/dev/stdin: empty
ffmpeg -i /dev/video0 -vframes 1 -f jpeg | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Trailing option(s) found in the command: may be ignored.
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125890.184777, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
At least one output file must be specified
[video4linux2,v4l2 @ 0x5640fded8140] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
/dev/stdin: empty
ffmpeg -i /dev/video0 -vframes 1 -f jpg | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Trailing option(s) found in the command: may be ignored.
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125892.208652, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
At least one output file must be specified
[video4linux2,v4l2 @ 0x55e649257140] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
/dev/stdin: empty
```bash ffmpeg -i /dev/video0 -vframes 1 -f jpeg_pipe | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Trailing option(s) found in the command: may be ignored. Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125886.495903, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn At least one output file must be specified [video4linux2,v4l2 @ 0x559ae93e7140] Some buffers are still owned by the caller on close. ioctl(VIDIOC_QBUF): Bad file descriptor /dev/stdin: empty ``` </details> ```bash ffmpeg -i /dev/video0 -vframes 1 -f jpeg | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Trailing option(s) found in the command: may be ignored. Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125890.184777, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn At least one output file must be specified [video4linux2,v4l2 @ 0x5640fded8140] Some buffers are still owned by the caller on close. ioctl(VIDIOC_QBUF): Bad file descriptor /dev/stdin: empty ``` </details> ```bash ffmpeg -i /dev/video0 -vframes 1 -f jpg | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Trailing option(s) found in the command: may be ignored. Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125892.208652, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn At least one output file must be specified [video4linux2,v4l2 @ 0x55e649257140] Some buffers are still owned by the caller on close. ioctl(VIDIOC_QBUF): Bad file descriptor /dev/stdin: empty ``` </details>
Author
Owner
On Debian 13, how to make the following correctly output and detect a JPEG?
ffmpeg -i /dev/video0 -vframes 1 | file -
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Trailing option(s) found in the command: may be ignored.
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 125534.036581, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
At least one output file must be specified
[video4linux2,v4l2 @ 0x563cc2f21100] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
/dev/stdin: empty
GLM 5.3 Think and Search:

The problem isn't detection — it's that your command never produces any output. Two issues:

  1. You never specified an output. file - is a shell pipe, not an ffmpeg argument. ffmpeg has no output file, so it prints At least one output file must be specified and writes nothing to stdout → file - sees an empty stream.
  2. -vframes 1 is an output option, so placing it before any output triggers the Trailing option(s) found in the command: may be ignored warning.

Correct command

ffmpeg -hide_banner -f v4l2 -i /dev/video0 -frames:v 1 -c:v mjpeg -f image2 pipe:1 | file -

Expected output:

/dev/stdin: JPEG image data, precision 8, 640x480, components 3

What each part does

  • -f v4l2 -i /dev/video0 — explicitly declare the input format (optional but avoids auto-detection quirks).
  • -frames:v 1 — output option: encode exactly one frame (put it after the input, as an output option).
  • -c:v mjpeg — encode to Motion JPEG (a single MJPEG frame is a standard JPEG file).
  • -f image2 pipe:1 — force the image2 muxer and write to stdout. You need -f image2 explicitly because ffmpeg won't guess a muxer for a raw pipe.
  • | file - — file reads the piped bytes from stdin.

Notes

  • ffmpeg writes the image data to stdout and all log/diagnostic messages to stderr, so the pipe stays clean. (-hide_banner just suppresses the version noise.)
  • If you want the log messages visible too, leave them — they go to the terminal, not into the pipe.
  • To keep the JPEG instead of just checking it:
ffmpeg -f v4l2 -i /dev/video0 -frames:v 1 -c:v mjpeg -f image2 snapshot.jpg
  • The ioctl(VIDIOC_QBUF): Bad file descriptor / buffers warning at the end is harmless cleanup noise from the v4l2 capture device exiting after one frame — it doesn't affect the output.

Related to Benjamin_Loison/Improve_websites_thanks_to_open_source/issues/4333.

<details> <summary>On Debian 13, how to make the following correctly output and detect a JPEG? ```bash ffmpeg -i /dev/video0 -vframes 1 | file - ``` ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Trailing option(s) found in the command: may be ignored. Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 125534.036581, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn At least one output file must be specified [video4linux2,v4l2 @ 0x563cc2f21100] Some buffers are still owned by the caller on close. ioctl(VIDIOC_QBUF): Bad file descriptor /dev/stdin: empty ``` </details> <details> <summary>GLM 5.3 <i>Think</i> and <i>Search</i>:</summary> The problem isn't detection — it's that your command never produces any output. Two issues: 1. **You never specified an output.** `file -` is a shell pipe, not an ffmpeg argument. ffmpeg has no output file, so it prints `At least one output file must be specified` and writes nothing to stdout → `file -` sees an empty stream. 2. **`-vframes 1` is an output option**, so placing it before any output triggers the `Trailing option(s) found in the command: may be ignored` warning. ## Correct command ```bash ffmpeg -hide_banner -f v4l2 -i /dev/video0 -frames:v 1 -c:v mjpeg -f image2 pipe:1 | file - ``` Expected output: ``` /dev/stdin: JPEG image data, precision 8, 640x480, components 3 ``` ## What each part does - `-f v4l2 -i /dev/video0` — explicitly declare the input format (optional but avoids auto-detection quirks). - `-frames:v 1` — output option: encode exactly one frame (put it *after* the input, as an output option). - `-c:v mjpeg` — encode to Motion JPEG (a single MJPEG frame is a standard JPEG file). - `-f image2 pipe:1` — force the `image2` muxer and write to stdout. You need `-f image2` explicitly because ffmpeg won't guess a muxer for a raw pipe. - `| file -` — `file` reads the piped bytes from stdin. ## Notes - ffmpeg writes the **image data to stdout** and all log/diagnostic messages to **stderr**, so the pipe stays clean. (`-hide_banner` just suppresses the version noise.) - If you want the log messages visible too, leave them — they go to the terminal, not into the pipe. - To keep the JPEG instead of just checking it: ```bash ffmpeg -f v4l2 -i /dev/video0 -frames:v 1 -c:v mjpeg -f image2 snapshot.jpg ``` - The `ioctl(VIDIOC_QBUF): Bad file descriptor` / buffers warning at the end is harmless cleanup noise from the v4l2 capture device exiting after one frame — it doesn't affect the output. </details> Related to [Benjamin_Loison/Improve_websites_thanks_to_open_source/issues/4333](https://codeberg.org/Benjamin_Loison/Improve_websites_thanks_to_open_source/issues/4333).
Author
Owner
ffmpeg -i /dev/video0 -vframes 1 -f image2 -c:v mjpeg | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Trailing option(s) found in the command: may be ignored.
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 129384.278742, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
At least one output file must be specified
[video4linux2,v4l2 @ 0x55ea9d47d180] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
/dev/stdin: empty
```bash ffmpeg -i /dev/video0 -vframes 1 -f image2 -c:v mjpeg | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Trailing option(s) found in the command: may be ignored. Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 129384.278742, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn At least one output file must be specified [video4linux2,v4l2 @ 0x55ea9d47d180] Some buffers are still owned by the caller on close. ioctl(VIDIOC_QBUF): Bad file descriptor /dev/stdin: empty ``` </details>
Author
Owner
ffmpeg -i /dev/video0 -vframes 1 -f image2 -c:v mjpeg - | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 129412.194849, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'pipe:':
  Metadata:
    encoder         : Lavf61.7.103
  Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn
      Metadata:
        encoder         : Lavc61.19.101 mjpeg
      Side data:
        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[image2 @ 0x560208b0d600] The specified filename 'pipe:' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x560208b0d600] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x560208b0d500] video:20KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame=    1 fps=0.0 q=4.4 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.455x    
/dev/stdin: JPEG image data, baseline, precision 8, 640x480, components 3
```bash ffmpeg -i /dev/video0 -vframes 1 -f image2 -c:v mjpeg - | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 129412.194849, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native)) Press [q] to stop, [?] for help Output #0, image2, to 'pipe:': Metadata: encoder : Lavf61.7.103 Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn Metadata: encoder : Lavc61.19.101 mjpeg Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A [image2 @ 0x560208b0d600] The specified filename 'pipe:' does not contain an image sequence pattern or a pattern is invalid. [image2 @ 0x560208b0d600] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image. [out#0/image2 @ 0x560208b0d500] video:20KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 1 fps=0.0 q=4.4 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.455x /dev/stdin: JPEG image data, baseline, precision 8, 640x480, components 3 ``` </details>
Author
Owner
ffmpeg -i /dev/video0 -vframes 1 -f image2 - | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 129423.583618, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'pipe:':
  Metadata:
    encoder         : Lavf61.7.103
  Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn
      Metadata:
        encoder         : Lavc61.19.101 mjpeg
      Side data:
        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[image2 @ 0x5571fab7f5c0] The specified filename 'pipe:' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x5571fab7f5c0] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x5571fab7f4c0] video:20KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame=    1 fps=0.0 q=4.4 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.456x    
/dev/stdin: JPEG image data, baseline, precision 8, 640x480, components 3
```bash ffmpeg -i /dev/video0 -vframes 1 -f image2 - | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 129423.583618, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native)) Press [q] to stop, [?] for help Output #0, image2, to 'pipe:': Metadata: encoder : Lavf61.7.103 Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn Metadata: encoder : Lavc61.19.101 mjpeg Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A [image2 @ 0x5571fab7f5c0] The specified filename 'pipe:' does not contain an image sequence pattern or a pattern is invalid. [image2 @ 0x5571fab7f5c0] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image. [out#0/image2 @ 0x5571fab7f4c0] video:20KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 1 fps=0.0 q=4.4 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.456x /dev/stdin: JPEG image data, baseline, precision 8, 640x480, components 3 ``` </details>
Author
Owner

Manual does not help figure out why 2 in image2.

Manual does not help figure out why `2` in `image2`.
Author
Owner

Related to Benjamin-Loison/Signal-Desktop/issues/135.

DuckDuckGo search Linux get camera maximum resolution.

The Ask Ubuntu answer 687140:

v4l2-ctl -d /dev/video0 --list-formats-ext
Output:
ioctl: VIDIOC_ENUM_FMT
	Type: Video Capture

	[0]: 'YUYV' (YUYV 4:2:2)
		Size: Discrete 640x480
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 160x90
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 160x120
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 176x144
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 320x180
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 320x240
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 352x288
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 432x240
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 640x360
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 800x448
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 800x600
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 864x480
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 960x720
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1024x576
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1280x720
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1600x896
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 2304x1296
			Interval: Discrete 0.500s (2.000 fps)
		Size: Discrete 2304x1536
			Interval: Discrete 0.500s (2.000 fps)
	[1]: 'H264' (H.264, compressed)
		Size: Discrete 640x480
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 160x90
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 160x120
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 176x144
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 320x180
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 320x240
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 352x288
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 432x240
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 640x360
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 800x448
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 800x600
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 864x480
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 960x720
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1024x576
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1280x720
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1600x896
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
	[2]: 'MJPG' (Motion-JPEG, compressed)
		Size: Discrete 640x480
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 160x90
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 160x120
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 176x144
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 320x180
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 320x240
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 352x288
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 432x240
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 640x360
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 800x448
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 800x600
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 864x480
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 960x720
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1024x576
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1280x720
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1600x896
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.133s (7.500 fps)
			Interval: Discrete 0.200s (5.000 fps)
ffmpeg -i /dev/video0 -video_size 1920x1080 -vframes 1 -f image2 - | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 164916.211916, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'pipe:':
  Metadata:
    encoder         : Lavf61.7.103
  Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn
      Metadata:
        encoder         : Lavc61.19.101 mjpeg
      Side data:
        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[image2 @ 0x55d4748cf880] The specified filename 'pipe:' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x55d4748cf880] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x55d4748cf740] video:15KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame=    1 fps=0.0 q=3.6 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.813x
/dev/stdin: JPEG image data, baseline, precision 8, 640x480, components 3

does not help.

Mistral: conv_01a1a6e7838c75a8a3f20c15e1ece7b7

Prompt:

On Debian 13 how to use maximum resolution (1920x1080) for:

ffmpeg -i /dev/video0 -vframes 1 -f image2 - | file -
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 129423.583618, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'pipe:':
  Metadata:
    encoder         : Lavf61.7.103
  Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn
      Metadata:
        encoder         : Lavc61.19.101 mjpeg
      Side data:
        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[image2 @ 0x5571fab7f5c0] The specified filename 'pipe:' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x5571fab7f5c0] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x5571fab7f4c0] video:20KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame=    1 fps=0.0 q=4.4 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.456x    
/dev/stdin: JPEG image data, baseline, precision 8, 640x480, components 3

?

GLM 5.3 Think and Search:

The problem

Two separate issues in your output:

  1. Resolution: ffmpeg picks the camera's default format (640x480 YUYV) unless you explicitly tell it otherwise. Whether 1920x1080 works at all — and in which pixel format — depends on what the camera advertises.
  2. The image2 warning: writing to a pipe requires -update 1 (with a single frame) since ffmpeg 5+.

Step 1: Check what your camera actually supports

v4l2-ctl -d /dev/video0 --list-formats-ext

or:

ffmpeg -hide_banner -f v4l2 -list_formats all -i /dev/video0

You will almost certainly see that 1920x1080 is only offered as MJPEG, not YUYV. Uncompressed YUYV at 1080p30 is ~1 Gbit/s, which exceeds USB 2.0 bandwidth — that's why cameras cap raw formats at ~640x480/720p and reserve 1080p for MJPEG.

Step 2: Capture at 1920x1080

ffmpeg -f v4l2 -input_format mjpeg -video_size 1920x1080 \
       -i /dev/video0 -frames:v 1 -update 1 -f image2 - | file -

Key points:

  • -input_format mjpeg — request the MJPEG stream from the device (this is an input option, so it goes before -i).
  • -video_size 1920x1080 — also an input option, before -i.
  • -update 1 — fixes the does not contain an image sequence pattern warning when writing to a pipe.

If MJPEG 1080p exists, the output should now report 1920x1080.

If the camera only offers 1080p in YUYV (or you want raw)

Uncompressed 1080p only fits over USB 2.0 at a low frame rate, so drop the framerate:

ffmpeg -f v4l2 -input_format yuyv422 -video_size 1920x1080 -framerate 5 \
       -i /dev/video0 -frames:v 1 -update 1 -f image2 - | file -

If the camera doesn't support 1080p at all

Then no ffmpeg option can create real detail — you can only upscale (interpolate) the best native mode:

ffmpeg -f v4l2 -i /dev/video0 -frames:v 1 -update 1 \
       -vf scale=1920:1080 -f image2 - | file -

…but that produces a 1920x1080 file with no more actual detail than the native resolution. In that case use the largest native size listed by --list-formats-ext instead.

Note on -vframes 1

-vframes is deprecated in ffmpeg 7.x; prefer -frames:v 1 (both still work, but the latter is the modern syntax).

Argument order solves the issue:

ffmpeg -video_size 1920x1080 -i /dev/video0 -vframes 1 -f image2 - | file -
Output:
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.103 / 61.  7.103
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  5.100 / 10.  5.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 165088.537456, bitrate: 165888 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'pipe:':
  Metadata:
    encoder         : Lavf61.7.103
  Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn
      Metadata:
        encoder         : Lavc61.19.101 mjpeg
      Side data:
        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[image2 @ 0x55c1d37f37c0] The specified filename 'pipe:' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x55c1d37f37c0] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x55c1d37f36c0] video:57KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame=    1 fps=0.0 q=4.5 Lsize=N/A time=00:00:00.20 bitrate=N/A speed=0.989x    
/dev/stdin: JPEG image data, baseline, precision 8, 1920x1080, components 3
Related to [Benjamin-Loison/Signal-Desktop/issues/135](https://github.com/Benjamin-Loison/Signal-Desktop/issues/135). DuckDuckGo search *Linux get camera maximum resolution*. [The Ask Ubuntu answer 687140](https://askubuntu.com/a/687140): ```bash v4l2-ctl -d /dev/video0 --list-formats-ext ``` <details> <summary>Output:</summary> ``` ioctl: VIDIOC_ENUM_FMT Type: Video Capture [0]: 'YUYV' (YUYV 4:2:2) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x90 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x120 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 176x144 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x180 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 352x288 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 432x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 640x360 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x448 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x600 Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 864x480 Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 960x720 Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1024x576 Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1600x896 Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.200s (5.000 fps) Size: Discrete 2304x1296 Interval: Discrete 0.500s (2.000 fps) Size: Discrete 2304x1536 Interval: Discrete 0.500s (2.000 fps) [1]: 'H264' (H.264, compressed) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x90 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x120 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 176x144 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x180 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 352x288 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 432x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 640x360 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x448 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x600 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 864x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 960x720 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1024x576 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1600x896 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) [2]: 'MJPG' (Motion-JPEG, compressed) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x90 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x120 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 176x144 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x180 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 352x288 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 432x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 640x360 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x448 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x600 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 864x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 960x720 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1024x576 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1600x896 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) ``` </details> ```bash ffmpeg -i /dev/video0 -video_size 1920x1080 -vframes 1 -f image2 - | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 164916.211916, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native)) Press [q] to stop, [?] for help Output #0, image2, to 'pipe:': Metadata: encoder : Lavf61.7.103 Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn Metadata: encoder : Lavc61.19.101 mjpeg Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A [image2 @ 0x55d4748cf880] The specified filename 'pipe:' does not contain an image sequence pattern or a pattern is invalid. [image2 @ 0x55d4748cf880] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image. [out#0/image2 @ 0x55d4748cf740] video:15KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 1 fps=0.0 q=3.6 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.813x /dev/stdin: JPEG image data, baseline, precision 8, 640x480, components 3 ``` </details> does not help. Mistral: `conv_01a1a6e7838c75a8a3f20c15e1ece7b7` <details> <summary>Prompt:</summary> On Debian 13 how to use maximum resolution (1920x1080) for: ```bash ffmpeg -i /dev/video0 -vframes 1 -f image2 - | file - ``` ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 129423.583618, bitrate: 147456 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native)) Press [q] to stop, [?] for help Output #0, image2, to 'pipe:': Metadata: encoder : Lavf61.7.103 Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 30 tbn Metadata: encoder : Lavc61.19.101 mjpeg Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A [image2 @ 0x5571fab7f5c0] The specified filename 'pipe:' does not contain an image sequence pattern or a pattern is invalid. [image2 @ 0x5571fab7f5c0] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image. [out#0/image2 @ 0x5571fab7f4c0] video:20KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 1 fps=0.0 q=4.4 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.456x /dev/stdin: JPEG image data, baseline, precision 8, 640x480, components 3 ``` ? </details> <details> <summary>GLM 5.3 <i>Think</i> and <i>Search</i>:</summary> ## The problem Two separate issues in your output: 1. **Resolution**: ffmpeg picks the camera's default format (640x480 YUYV) unless you explicitly tell it otherwise. Whether 1920x1080 works at all — and in which pixel format — depends on what the camera advertises. 2. **The `image2` warning**: writing to a pipe requires `-update 1` (with a single frame) since ffmpeg 5+. ## Step 1: Check what your camera actually supports ```bash v4l2-ctl -d /dev/video0 --list-formats-ext ``` or: ```bash ffmpeg -hide_banner -f v4l2 -list_formats all -i /dev/video0 ``` You will almost certainly see that 1920x1080 is only offered as **MJPEG**, not YUYV. Uncompressed YUYV at 1080p30 is ~1 Gbit/s, which exceeds USB 2.0 bandwidth — that's why cameras cap raw formats at ~640x480/720p and reserve 1080p for MJPEG. ## Step 2: Capture at 1920x1080 ```bash ffmpeg -f v4l2 -input_format mjpeg -video_size 1920x1080 \ -i /dev/video0 -frames:v 1 -update 1 -f image2 - | file - ``` Key points: - `-input_format mjpeg` — request the MJPEG stream from the device (this is an *input* option, so it goes **before** `-i`). - `-video_size 1920x1080` — also an input option, before `-i`. - `-update 1` — fixes the `does not contain an image sequence pattern` warning when writing to a pipe. If MJPEG 1080p exists, the output should now report `1920x1080`. ## If the camera only offers 1080p in YUYV (or you want raw) Uncompressed 1080p only fits over USB 2.0 at a low frame rate, so drop the framerate: ```bash ffmpeg -f v4l2 -input_format yuyv422 -video_size 1920x1080 -framerate 5 \ -i /dev/video0 -frames:v 1 -update 1 -f image2 - | file - ``` ## If the camera doesn't support 1080p at all Then no ffmpeg option can create real detail — you can only upscale (interpolate) the best native mode: ```bash ffmpeg -f v4l2 -i /dev/video0 -frames:v 1 -update 1 \ -vf scale=1920:1080 -f image2 - | file - ``` …but that produces a 1920x1080 file with no more actual detail than the native resolution. In that case use the largest native size listed by `--list-formats-ext` instead. ## Note on `-vframes 1` `-vframes` is deprecated in ffmpeg 7.x; prefer `-frames:v 1` (both still work, but the latter is the modern syntax). </details> Argument order solves the issue: ```bash ffmpeg -video_size 1920x1080 -i /dev/video0 -vframes 1 -f image2 - | file - ``` <details> <summary>Output:</summary> ``` ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers built with gcc 14 (Debian 14.2.0-19) configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.103 / 61. 7.103 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 5.100 / 10. 5.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 165088.537456, bitrate: 165888 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native)) Press [q] to stop, [?] for help Output #0, image2, to 'pipe:': Metadata: encoder : Lavf61.7.103 Stream #0:0: Video: mjpeg, yuv422p(pc, progressive), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn Metadata: encoder : Lavc61.19.101 mjpeg Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A [image2 @ 0x55c1d37f37c0] The specified filename 'pipe:' does not contain an image sequence pattern or a pattern is invalid. [image2 @ 0x55c1d37f37c0] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image. [out#0/image2 @ 0x55c1d37f36c0] video:57KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 1 fps=0.0 q=4.5 Lsize=N/A time=00:00:00.20 bitrate=N/A speed=0.989x /dev/stdin: JPEG image data, baseline, precision 8, 1920x1080, components 3 ``` </details>
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Benjamin_Loison/linux#111