FFMPEG2THEORA(1)
๐ธ FFMPEG2THEORA ๐ธ
okay bestie, welcome to the ffmpeg2theora manual page ๐ it's a General Commands Manual entry, and it's genuinely one of the most useful little converters out here. no cap.
โจ NAME โจ
ffmpeg2theora โ a command-line converter that makes Ogg Theora files and Ogg Vorbis files ๐
โจ SYNOPSIS โจ
ffmpeg2theora [options] inputfile
โจ DESCRIPTION โจ
this page is a quick lil rundown of the ffmpeg2theora command, fr fr.
ffmpeg2theora takes any media file that ffmpeg can decode and turns it into Ogg Theora for the video part and Ogg Vorbis for the audio part. that's the whole vibe ๐
โจ OPTIONS โจ
if you wanna read from standard input, just hand it - as the input filename. iconic.
these programs follow the usual GNU command line syntax, with long options starting with two dashes (-). a summary of options is included below ๐ซถ
๐ General output options ๐
-o,--outputโ pick your output filename. if you don't give one, the output just goes toinputfile.ogv. and if you wanna dump it to standard output, say/dev/stdoutas the output file โจ--no-skeletonโ turns off Ogg Skeleton metadata output. bye bye skeleton ๐--seek-indexโ turns on the keyframe index inside the skeleton track ๐-s,--starttimeโ start encoding at this time (in seconds) โฐ-e,--endtimeโ stop encoding at this time (in seconds) ๐-p,--presetโ encode the file with a v2v preset. right now there'spreview,proandvideobin. runffmpeg2theora -p infofor more info ๐ง
๐ Video output options ๐
-v,--videoqualityโ[0 to 10]sets the encoding quality for video (default: 6). higher values = better quality, periodt ๐-V,--videobitrateโ sets the encoding bitrate for video (in kb/s) ๐ผ--soft-targetโ uses a large reservoir and treats the rate as a soft target. rate control is less strict, but the resulting quality is usually higher/smoother overall. soft target also lets you optionally set-vto specify a minimum allowed quality ๐--two-passโ compresses the input using two-pass rate control. this option needs the input to the to the encoder to be seekable, and it runs both passes automatically ๐--first-pass <filename>โ does the first pass of a two-pass rate controlled encoding, saving the pass data to<filename>for a later second pass ๐พ--second-pass <filename>โ does the second pass of a two-pass rate controlled encoding, reading first-pass data from<filename>. the first pass data must come from a first encoding pass using identical input video for this to work properly โ ๏ธ--optimizeโ optimizes the output Theora video by using a full search for motion vectors instead of a hierarchical one. this can reduce video bitrate by about 5%, but it's slower, so it's disabled by default ๐ข--speedlevelโ encoding gets faster with higher values, and the cost is quality and bandwidth (default 1). the available values depend on the version of libtheora, so checkffmpeg2theora --helpfor the supported values ๐-x,--widthโ scale to the given width (in pixels) ๐-y,--heightโ scale to the given height (in pixels) ๐--aspectโ define the frame aspect ratio (e.g.4:3,16:9) ๐ผ๏ธ--pixel-aspectโ define the pixel aspect ratio (e.g.1:1,4:3) ๐-F,--framerateโ output framerate, e.g25:2or16๐๏ธ--croptop,--cropbottom,--cropleft,--croprightโ crop the input by the given pixels before resizing โ๏ธ-K,--keyintโ[8 to 2147483647]sets the keyframe interval (default: 64) ๐-d,--buf-delayโ buffer delay (in frames). longer delays allow smoother rate adaptation and give better overall quality, but they require more client side buffering and add latency. the default value is the keyframe interval for one-pass encoding (or somewhat larger if--soft-targetis used), and infinite for two-pass encoding. (only works in bitrate mode) ๐ง--no-upscalingโ only scale video or resample audio if the input is bigger than the provided parameter ๐
๐ Video transfer options ๐
--ppโ Video Postprocessing: denoise, deblock, deinterlacer. use--pp helpfor a list of available filters ๐งผ-C,--contrastโ[0.1 to 10.0]contrast correction (default: 1.0). note: lower values make the video darker ๐-B,--brightnessโ[-1.0 to 1.0]brightness correction (default: 0.0). note: lower values make the video darker ๐-G,--gammaโ[0.1 to 10.0]gamma correction (default: 1.0). note: lower values make the video darker ๐ถ๏ธ-P,--saturationโ[0.1 to 10.0]saturation correction (default: 1.0). note: lower values make the video grey ๐ฉถ
๐ Audio output options ๐
-a,--audioqualityโ[-2 to 10]sets the encoding quality for audio (default: 1). higher values = better quality ๐ง-A,--audiobitrateโ[32 to 500]sets the encoding bitrate for audio (in kb/s) ๐-c,--channelsโ set the number of output channels ๐๏ธ-H,--samplerateโ set the output samplerate (in Hz) ๐ป
๐ Input options ๐
--noaudioโ disable audio from the input ๐คซ--novideoโ disable video from the input ๐--deinterlaceโ force deinterlace. otherwise, only material marked as interlaced will be deinterlaced ๐ชฎ--no-deinterlaceโ force deinterlace off ๐ซ--vhookโ you can use ffmpeg's vhook system, example:
ffmpeg2theora --vhook '/path/watermark.so -f wm.gif' input.dv
-f,--formatโ specify the input format ๐ฅ--inputfpsโ override input fps ๐ฌ--audiostream idโ by default the first audio stream is selected; use this to select another audio stream ๐ต--videostream idโ by default the first video stream is selected; use this to select another audio stream ๐น--syncโ use A/V sync from the input container. since this does not work with all input formats, you have to manually enable it if you have issues with A/V sync ๐งฉ
๐ Subtitles options ๐
--subtitlesโ encode subtitles from the given file into a multiplexed Kate stream. the input file should be in SubRip (.srt) format, encoded in UTF-8, unless the--subtitles-encodingoption is also given ๐--subtitles-encoding encodingโ assumes the corresponding subtitles file is encoded in the given encoding. ifffmpeg2theorawas built with iconv support, all encodings supported by iconv may be used. otherwise, UTF-8 and ISO-8859-1 (aka latin1) are supported. the default is UTF-8 ๐--subtitles-language languageโ sets the language of the corresponding subtitles stream. this gets set in the corresponding Kate stream so a video player may make it available to the user for language selection. language is an ISO 639-1 or RFC 3066 ASCII string and is limited to 15 characters ๐ฃ๏ธ--subtitles-category categoryโ sets the category of the corresponding subtitles stream. this gets set in the corresponding Kate stream so a video player may make it available to the user for selection. the default category issubtitles. suggested other categories may includetranscript,commentary,lyrics, etc. category is an ASCII string and is limited to 15 characters ๐ท๏ธ--subtitles-ignore-non-utf8โ when reading a UTF-8 subtitles text file, any invalid UTF-8 sequence will be ignored. this may be useful if there are stray sequences in an otherwise UTF-8 file. note that, since those invalid sequences will be removed from the output, this option is not a substitute for converting a non UTF-8 file to UTF-8 โ ๏ธ--nosubtitlesโ disables subtitles from the input. note that subtitles explicitly loaded from external files will still be used ๐ซ--subtitle-typesโ selects which subtitle types to include from the input file. allowed types are:none,all,text,spu(spu being the image based subtitles found on DVD). by default, only text based subtitles will be included. note that subtitles explicitly loaded from external files will still be used ๐
๐ Metadata options ๐
--artistโ name of artist (director) ๐ค--titleโ title ๐ท๏ธ--dateโ date ๐--locationโ location ๐--organizationโ name of organization (studio) ๐ข--copyrightโ copyright ยฉ๏ธ--licenseโ license ๐--contactโ contact link ๐--nometadataโ disables metadata from the input ๐ซ--no-oshashโ do not include oshash of the source file (SOURCE_OSHASH) ๐
๐ Keyframe indexing options ๐
--index-interval <n>โ set the minimum distance between indexed keyframes to<n>ms (default: 2000) โฑ๏ธ--theora-index-reserve <n>โ reserve<n>bytes for the theora keyframe index ๐พ--vorbis-index-reserve <n>โ reserve<n>bytes for the vorbis keyframe index ๐พ--kate-index-reserve <n>โ reserve<n>bytes for the kate keyframe index ๐พ
๐ Other options ๐
--nice nโ set niceness to n ๐-h,--helpโ output a help message ๐--infoโ output json info about the input file; use-oto save json to file ๐งพ--frontendโ print status information in json, one json dict per line ๐ฅ๏ธ
โจ EXAMPLES โจ
Encode Videos:
ffmpeg2theora videoclip.avi (will write output to videoclip.ogv)
cat something.dv | ffmpeg2theora -f dv -o output.ogv -
Encode a series of images:
ffmpeg2theora frame%06d.png -o output.ogv
Live streaming from V4L Device:
ffmpeg2theora --no-skeleton /dev/video0 -f video4linux \
--inputfps 15 -x 160 -y 128 \
-o - | oggfwd icast2server 8000 password /theora.ogv
(you might have to use video4linux2 depending on your hardware) ๐ฅ
Live encoding from a DV camcorder (needs a fast machine):
dvgrab - | ffmpeg2theora -f dv -x 352 -y 288 -o output.ogv -0
Live encoding and streaming to icecast server:
dvgrab --format raw - \
| ffmpeg2theora --no-skeleton -f dv -x 160 -y 128 -o /dev/stdout - \
| oggfwd icast2server 8000 password /theora.ogv
โจ AUTHOR โจ
ffmpeg2theora was written by jan gerber <j@v2v.cc> ๐
this manual page was written by Hubert Chan <hubert@uhoreg.ca>, for the Debian project (but may be used by others) ๐ซถ
okay that's the whole page bestie, you're officially a ffmpeg2theora girlie now ๐ this version is dated May 14, 2010, and yeah, it's the FFMPEG2THEORA(1) page from the General Commands Manual โ go make some iconic ogv files, mwah ๐๐โจ
๐ฆ where this page comes from
- ubuntu jammy: ffmpeg2theora 0.30-2
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms