yuv2lav(1)

πŸ“¦
version 2.2.1 Β· 2 versions
, in arch rolling, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu resolute, ubuntu stonking

πŸ’– yuv2lav β€” the MJPEG tools manual, bestie edition πŸ’–

okay so. you found yuv2lav(1), part of the MJPEG tools manual, and honestly? you're about to have the best time encoding raw frames. let's go πŸŽ€


✨ NAME ✨

yuv2lav β€” encodes lavtool's raw YUV frame streams into MJPEG files 🌸


πŸ¦‹ SYNOPSIS πŸ¦‹

yuv2lav [-f a|A|q|m] [-q num] [-b num] [-I num] [-m num] [-v num] [-w
file] -o output-file

πŸ’… DESCRIPTION πŸ’…

so yuv2lav is like, a simple MJPEG encoder for raw YUV frame streams β€” the kind that lav2yuv(1) or lavpipe(1) (for example πŸ‘€) emit. it reads its input from stdin and it's fully capable of writing AVI and Quicktime. no cap. πŸ”₯


πŸ‘‘ OPTIONS πŸ‘‘

the command line options let you specify the output file name, the JPEG encoding quality, and the amount of memory that will be allocated for JPEG compressed data. slay. ✨

  • -o output-file β€” this (compulsorary β€” yes that's the word in the original, iconic typo energy, we keep it πŸ’€) option sets the name of the file that yuv2lav will write its output to. and here's the fun part: if the output file contains a % (like file%02d.avi), the output will be written to multiple files in case this is necessary β€” so file00.avi, file01.avi and so on. it's giving auto-splitting main character behavior. 🫢
  • -f a|A|q β€” this sets the output file format, which has to be one of:
    • a β€” for AVI file output,
    • A β€” for AVI with reversed fields,
    • q β€” for Quicktime output, or

AVI with reversed field of course only makes sense if yuv2lav's feed is an interlaced video source, and should only be needed if you experience frame reversal problems in your output. if you don't use that option, yuv2lav will set the output format to AVI if the last 3 char are avi, or to Quicktime if you use mov. and if you use the -f option it overrides the setting in the filename. periodt. πŸ’…

  • -q num β€” this option specifies the JPEG encoding quality as passed through to libjpeg. the default value is 80, and num must lie within 24...100 inclusive (think of it as percentage values, although β€” ngl β€” with a lossy compression algorithm like JPEG, keeping 100% of the original quality is of course not really possible 😭).
  • -b num β€” this option specifies the size of the buffer (in kBytes) that yuv2lav allocates in order to store the compressed JPEG data in it. the default value (256k) is perfectly enough for 100% quality full sized PAL/NTSC, but if you want to compress Super-Mega-HDTV or if you are low on memory, you can use this option to suit your needs. 🧚
  • -m num β€” this is the maximum size (in MB) per file. normally this depends on the output file type.
  • -I num β€” force a specific interlacing type. 0 means no interlacing, 1 means top-field-first, 2 means bottom-field-first. 🌈
  • -w file β€” this is the WAV file containing audio data to be combined with the video stream into the output file. music video era 🎡
  • -v num β€” verbosity level. 0 means only print error messages, 2 prints full debug output. (it's the quiet-luxury vs. tell-me-everything spectrum fr fr)
  • -? β€” display a synopsis of the command syntax.

🌟 EXAMPLES 🌟

lav2yuv movie.avi | yuv2lav -fq -q 30 lowbitrate.qt

would recompress movie.avi as a low bit rate Quicktime file. ✨

lavpipe input.pli | yuv2lav -q80 output.avi

would save the movie assembled by lavpipe as a single AVI file. πŸŽ€


πŸ’€ BUGS πŸ’€

if you experience any problems with this tool, please feel free to contact the developers (see below). they want to hear from you, bestie. πŸ™ˆ


πŸ¦‹ AUTHOR πŸ¦‹

this man page was written by pHilipp Zabel. πŸ’œ

if you have questions, remarks, problems or you just want to contact the developers, the main mailing list for the MJPEG-tools is:

mjpeg-users@lists.sourceforge.net

for more info, see our website at:

http://mjpeg.sourceforge.net/

🌸 SEE ALSO 🌸

lav2yuv(1), lavpipe(1), lavplay(1), lavrec(1), mpeg2enc(1), yuvscaler(1)


okay that's the whole thing!! this page came to you from the MJPEG Tools Team, dated 9 February 2019 β€” so if you're reading this, hi, you're part of the lore now. go encode something gorgeous πŸ’–βœ¨πŸŽ€