QtlMovie 1.12 (A specialized FFmpeg front-end)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
QtlMovieFFmpeg Namespace Reference

Namespace for ffmpeg utilities. More...

Functions

void addBoundedSizeOptions (QStringList &ffmpegArguments, QString &videoFilters, int widthIn, int heightIn, float darIn, int maxWidthOut, int maxHeightOut, float parOut, int &widthOut, int &heightOut)
 Build a video resize FFmpeg options list to bind the video within a maximum size. More...
 
void addResizeVideoFilter (QString &videoFilters, int widthIn, int heightIn, float darIn, int widthOut, int heightOut, float darOut)
 Compute an FFmpeg video filter for a target size and aspect ratio. More...
 
void addRotateOptions (const QtlMovieSettings *settings, const QtlMediaStreamInfoPtr &videoStream, QStringList &ffmpegArguments, QString &videoFilters, int &width, int &height, float &dar)
 Build a video rotation FFmpeg options list . More...
 
QStringList dvdAudioOptions (const QtlMovieSettings *settings, const QtlMediaStreamInfoPtr &audioStream)
 Build an audio conversion FFmpeg options list for DVD transcoding. More...
 
QString escapedFilterArgument (const QString &argument)
 Format the argument of an ffmpeg filter using proper escaping. More...
 
QStringList inputArguments (const QtlMovieSettings *settings, const QtlMovieInputFile *file=0)
 Build FFmpeg command line arguments for an input file. More...
 
QStringList outputArguments (const QtlMovieSettings *settings, const QString &fileName, const QString &fileFormat=QString())
 Build FFmpeg command line arguments for output file. More...
 
QStringList probeArguments (const QtlMovieSettings *settings, int probeTimeDivisor=0)
 Build FFmpeg command line arguments for the initial probe size and duration. More...
 
QStringList videoFilterOptions (const QString &videoFilters)
 Build FFmpeg command line arguments to insert a video filter string. More...
 

Detailed Description

Namespace for ffmpeg utilities.

Function Documentation

◆ probeArguments()

QStringList QtlMovieFFmpeg::probeArguments ( const QtlMovieSettings settings,
int  probeTimeDivisor = 0 
)

Build FFmpeg command line arguments for the initial probe size and duration.

Parameters
[in]settingsApplication settings.
[in]probeTimeDivisorIf positive, this value is used to reduce the probe time duration. The actual probe time is the value from settings, divided by probeTimeDivisor.
Returns
FFmpeg command line arguments.

◆ inputArguments()

QStringList QtlMovieFFmpeg::inputArguments ( const QtlMovieSettings settings,
const QtlMovieInputFile file = 0 
)

Build FFmpeg command line arguments for an input file.

Parameters
[in]settingsApplication settings.
[in]fileInput file description. If omitted, do not specify an input file name.
Returns
FFmpeg command line arguments.

◆ outputArguments()

QStringList QtlMovieFFmpeg::outputArguments ( const QtlMovieSettings settings,
const QString &  fileName,
const QString &  fileFormat = QString() 
)

Build FFmpeg command line arguments for output file.

Parameters
[in]settingsApplication settings.
[in]fileNameOutput file name.
[in]fileFormatIf non empty, specifies the FFmpeg format of the output file.
Returns
FFmpeg command line arguments.

◆ dvdAudioOptions()

QStringList QtlMovieFFmpeg::dvdAudioOptions ( const QtlMovieSettings settings,
const QtlMediaStreamInfoPtr audioStream 
)

Build an audio conversion FFmpeg options list for DVD transcoding.

Parameters
[in]settingsApplication settings.
[in]audioStreamAudio stream description. Can be null.
Returns
FFmpeg options, possibly empty.

◆ escapedFilterArgument()

QString QtlMovieFFmpeg::escapedFilterArgument ( const QString &  argument)

Format the argument of an ffmpeg filter using proper escaping.

Parameters
[in]argumentThe argument plain text.
Returns
The corresponding string to add in the filter description.

◆ videoFilterOptions()

QStringList QtlMovieFFmpeg::videoFilterOptions ( const QString &  videoFilters)

Build FFmpeg command line arguments to insert a video filter string.

Parameters
[in]videoFiltersA video filter string.
Returns
FFmpeg command line arguments. Can be empty if no video filter is specified.

◆ addResizeVideoFilter()

void QtlMovieFFmpeg::addResizeVideoFilter ( QString &  videoFilters,
int  widthIn,
int  heightIn,
float  darIn,
int  widthOut,
int  heightOut,
float  darOut 
)

Compute an FFmpeg video filter for a target size and aspect ratio.

Parameters
[in,out]videoFiltersA video filter string which is updated.
[in]widthInInput video width in pixels.
[in]heightInInput video height in pixels.
[in]darInInput display aspect ratio.
[in]widthOutTarget video width in pixels.
[in]heightOutTarget video height in pixels.
[in]darOutTarget display aspect ratio.

◆ addBoundedSizeOptions()

void QtlMovieFFmpeg::addBoundedSizeOptions ( QStringList &  ffmpegArguments,
QString &  videoFilters,
int  widthIn,
int  heightIn,
float  darIn,
int  maxWidthOut,
int  maxHeightOut,
float  parOut,
int &  widthOut,
int &  heightOut 
)

Build a video resize FFmpeg options list to bind the video within a maximum size.

Always resize if the input pixel aspect ratio does not match the output one.

Parameters
[in,out]ffmpegArgumentsA list of FFmpeg arguments which is updated.
[in,out]videoFiltersA video filter string which is updated.
[in]widthInInput video width in pixels.
[in]heightInInput video height in pixels.
[in]darInInput display aspect ratio.
[in]maxWidthOutMaximum target video width in pixels.
[in]maxHeightOutMaximum target video height in pixels.
[in]parOutTarget pixel aspect ratio.
[out]widthOutReturned target video width in pixels.
[out]heightOutReturned target video height in pixels.

◆ addRotateOptions()

void QtlMovieFFmpeg::addRotateOptions ( const QtlMovieSettings settings,
const QtlMediaStreamInfoPtr videoStream,
QStringList &  ffmpegArguments,
QString &  videoFilters,
int &  width,
int &  height,
float &  dar 
)

Build a video rotation FFmpeg options list .

Parameters
[in]settingsApplication settings.
[in]videoStreamVideo stream description.
[in,out]ffmpegArgumentsA list of FFmpeg arguments which is updated.
[in,out]videoFiltersA video filter string which is updated.
[out]widthNew video width in pixels after rotation.
[out]heightNew video height in pixels after rotation.
[out]darNew display aspect ratio after rotation.