FFMPEG2THEORA
Section: User Commands (1)
Updated: May 14, 2010
Page Index
NAME
ffmpeg2theora - command-line converter to create Ogg Theora and Ogg
Vorbis files.
SYNOPSIS
ffmpeg2theora
[
options]
inputfile
DESCRIPTION
This manual page documents briefly the
ffmpeg2theora command.
ffmpeg2theora is a program that converts any media file that ffmpeg can
decode to Ogg Theora for video and Ogg Vorbis for audio.
OPTIONS
To read from standard input, specify `-' as the input filename.
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
-
Specify the output filename. If no output filename is specified, output will
be written to inputfile.ogv. To output to standard output, specify
/dev/stdout as the output file.
- --no-skeleton
-
Disables Ogg Skeleton metadata output.
- --seek-index
-
Enables keyframe index in skeleton track.
- -s, --starttime
-
Start encoding at this time (in seconds).
- -e, --endtime
-
End encoding at this time (in seconds).
- -p, --preset
-
Encode file with v2v preset. Right now, there is preview, pro and videobin. Run
``ffmpeg2theora -p info'' for more information.
Video output options:
- -v, --videoquality
-
[0 to 10] Set encoding quality for video (default: 6).
use higher values for better quality
- -V, --videobitrate
-
Set encoding bitrate for video (in kb/s).
- --soft-target
-
Use a large reservoir and treat the rate
as a soft target; rate control is less
strict but resulting quality is usually
higher/smoother overall. Soft target also
allows an optional -v setting to specify
a minimum allowed quality.
- --two-pass
-
Compress input using two-pass rate control.
This option requires that the input to the
to the encoder is seekable and performs both passes automatically.
- --first-pass <filename>
-
Perform first-pass of a two-pass rate controlled encoding,
saving pass data to <filename> for a later second pass
- --second-pass <filename>
-
Perform 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 to work properly.
- --optimize
-
Optimize output Theora video, using a full search for motion vectors
instead of a hierarchical one. This can reduce video bitrate about 5%,
but it is slower and therefore is disabled by default.
- --speedlevel
-
encoding is faster with higher values
the cost is quality and bandwidth (default 1)
available values depend on the version of libtheora
check ffmpeg2theora --help for supported values.
- -x, --width
-
Scale to given width (in pixels).
- -y, --height
-
Scale to given height (in pixels).
- --aspect
-
Define frame aspect ratio (e.g. 4:3, 16:9).
- --pixel-aspect
-
Define pixel aspect ratio (e.g. 1:1, 4:3).
- -F, --framerate
-
output framerate e.g 25:2 or 16
- --croptop, --cropbottom, --cropleft, --cropright
-
Crop input by given pixels before resizing.
- -K, --keyint
-
[8 to 2147483647] Set keyframe interval (default: 64).
- -d, --buf-delay
-
Buffer delay (in frames). Longer delays
allow smoother rate adaptation and provide
better overall quality, but require more
client side buffering and add latency. The
default value is the keyframe interval for
one-pass encoding (or somewhat larger if
--soft-target is used) and infinite for
two-pass encoding. (only works in bitrate mode)
- --no-upscaling
-
only scale video or resample audio if input is
bigger than provided parameter
Video transfer options:
- --pp
-
Video Postprocessing, denoise, deblock, deinterlacer
use --pp help for 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] Set encoding quality for audio (default: 1).
use higher values for better quality
- -A, --audiobitrate
-
[32 to 500] Set encoding bitrate for audio (in kb/s).
- -c, --channels
-
Set number of output channels.
- -H, --samplerate
-
Set output samplerate (in Hz).
Input options:
- --noaudio
-
Disable audio from input.
- --novideo
-
Disable video from 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 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 input container. Since this does not work with
all input format you have to manualy enable it if you have
issues with A/V sync.
Subtitles options:
- --subtitles
-
Encode subtitles from the given file to a multiplexed Kate stream.
The input file should be in SubRip (.srt) format, encoded in UTF-8,
unless the --subtitles-encoding option is also given.
- --subtitles-encoding encoding
-
Assumes the corresponding subtitles file is encoded in the given
encoding. If ffmpeg2theora was 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 will
be set in the corresponding Kate stream so a video player may make
this 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 will
be set in the corresponding Kate stream so a video player may make
this available to the user for selection. The default category is
"subtitles". Suggested other categories may include "transcript",
"commentary", "lyrics", etc. Category is an ASCII string and is
limited to 15 characters
- --subtitles-ignore-non-utf8
-
When reading an 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 to
converting a non UTF-8 file to UTF-8.
- --nosubtitles
-
Disables subtitles from input.
Note that subtitles explicitely 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 explicitely 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 input
- --no-oshash
-
do not include oshash of source file(SOURCE_OSHASH)
Keyframe indexing options:
- --index-interval <n>
-
set minimum distance between indexed keyframes
to <n> ms (default: 2000)
- --theora-index-reserve <n>
-
reserve <n> bytes for theora keyframe index
- --vorbis-index-reserve <n>
-
reserve <n> bytes for vorbis keyframe index
- --kate-index-reserve <n>
-
reserve <n> bytes for kate keyframe index
Other options:
- --nice n
-
Set niceness to n.
- -h, --help
-
Output a help message.
- --info
-
Output json info about input file, use -o to 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 -
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).