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.
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>
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:
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.
-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.
-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.
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>
<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).
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:
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.
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.
…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).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
DuckDuckGo search Linux take a photo with a camera.
Would help #9.
Related to Benjamin_Loison/avnc/issues/8.
Output:
on Debian 13 GNOME HP laptop.
Output:
https://www.firestorm.cx/fswebcam/ is not found and https://www.firestorm.cx does not return relevant content.
Note:
DuckDuckGo and Google search Linux ffmpeg get camera photo.
The Ask Ubuntu answer 102774:
Output:
Output:
While it works fine, it seems less clean than with
-vframes 1.Output:
Related to Benjamin_Loison/avnc/issues/8.
For SSH:
Output:
Output:
Output:
DuckDuckGo search ffmpeg to stdout.
The Super User answer 520952:
Output:
Output:
DuckDuckGo and Google search ffmpeg jpg stdout.
https://manpages.debian.org/trixie/ffmpeg/ffmpeg.1.en.html
Checking
-fand format occurrences:Output:
Output:
Output:
Output:
Output:
On Debian 13, how to make the following correctly output and detect a JPEG?
GLM 5.3 Think and Search:
The problem isn't detection — it's that your command never produces any output. Two issues:
file -is a shell pipe, not an ffmpeg argument. ffmpeg has no output file, so it printsAt least one output file must be specifiedand writes nothing to stdout →file -sees an empty stream.-vframes 1is an output option, so placing it before any output triggers theTrailing option(s) found in the command: may be ignoredwarning.Correct command
Expected output:
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 theimage2muxer and write to stdout. You need-f image2explicitly because ffmpeg won't guess a muxer for a raw pipe.| file -—filereads the piped bytes from stdin.Notes
-hide_bannerjust suppresses the version noise.)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.
Output:
Output:
Output:
Manual does not help figure out why
2inimage2.Related to Benjamin-Loison/Signal-Desktop/issues/135.
DuckDuckGo search Linux get camera maximum resolution.
The Ask Ubuntu answer 687140:
Output:
Output:
does not help.
Mistral:
conv_01a1a6e7838c75a8a3f20c15e1ece7b7Prompt:
On Debian 13 how to use maximum resolution (1920x1080) for:
?
GLM 5.3 Think and Search:
The problem
Two separate issues in your output:
image2warning: writing to a pipe requires-update 1(with a single frame) since ffmpeg 5+.Step 1: Check what your camera actually supports
or:
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
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 thedoes not contain an image sequence patternwarning 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:
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:
…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-extinstead.Note on
-vframes 1-vframesis deprecated in ffmpeg 7.x; prefer-frames:v 1(both still work, but the latter is the modern syntax).Argument order solves the issue:
Output: