Encodes a set of images into a video, using custom container format, codec, fps, video filters, and audio track. If input contains video files, this effectively combines and converts them to the specified output format.
Usage
av_encode_video(
input,
output = "output.mp4",
framerate = 24,
vfilter = "null",
codec = NULL,
audio = NULL,
verbose = TRUE
)
av_video_convert(video, output = "output.mp4", verbose = TRUE)
av_audio_convert(
audio,
output = "output.mp3",
format = NULL,
channels = NULL,
sample_rate = NULL,
start_time = NULL,
total_time = NULL,
verbose = TRUE
)
Arguments
- input
a vector with image or video files. A video input file is treated as a series of images. All input files should have the same width and height.
- output
name of the output file. File extension must correspond to a known container format such as
mp4
,mkv
,mov
, orflv
.- framerate
video framerate in frames per seconds. This is the input fps, the output fps may be different if you specify a filter that modifies speed or interpolates frames.
- vfilter
a string defining an ffmpeg filter graph. This is the same parameter as the
-vf
argument in theffmpeg
command line utility.- codec
name of the video codec as listed in av_encoders. The default is
libx264
for most formats, which usually the best choice.- audio
audio or video input file with sound for the output video
- verbose
emit some output and a progress meter counting processed images. Must be
TRUE
orFALSE
or an integer with a valid av_log_level.- video
input video file with optionally also an audio track
- format
a valid format name from the list of
av_muxers()
. DefaultNULL
tries to guess a format from the file extension.- channels
number of output channels. Default
NULL
is to match input- sample_rate
output sampling rate. Default
NULL
is to match input- start_time
number greater than 0, seeks in the input file to position.
- total_time
approximate number of seconds at which to limit the duration of the output file.
Details
The target container format is automatically determined from the file extension of
the output file, for example mp4
, mkv
, mov
, or flv
. Most systems also
support gif
output, but the compression~quality for gif is quite bad.
The gifski package is better suited
for generating animated gif files.
It is recommended to use let ffmpeg choose the suitable codec for a given container
format. Most video formats default to the libx264
video codec which has excellent
compression and works on all modern browsers,
operating systems, and digital TVs.
It is safe to interrupt the encoding process by pressing CTRL+C, or via setTimeLimit. When the encoding is interrupted, the output stream is properly finalized and all open files and resources are properly closed.