QtlMovie 1.12 (A specialized FFmpeg front-end)
QtlMovie.h File Reference

Declare generic constants. More...

Macros

#define QTL_ANDROID_DEFAULT_VIDEO_QUALITY   11
 H.264 video default quality indicator for Android devices. More...
 
#define QTL_AUDIO_FILTER_VARNAME   "AUDIOFILTER"
 Name of the "Job Variable" (see QtlMovieJob::setVariable()) for audio filter. More...
 
#define QTL_AUDIO_FILTER_VARREF   "{" QTL_AUDIO_FILTER_VARNAME "}"
 Reference to the "Job Variable" (see QtlMovieJob::setVariable()) for audio filter. More...
 
#define QTL_AUDIO_NORMALIZATION_TOLERANCE   1.0
 Do not normalize audio if mean level is that close to target level. More...
 
#define QTL_AUDIO_NORMALIZE_MODE   Compress
 How to normalize audio when the input dynamic range is too large. More...
 
#define QTL_AUTO_ROTATE_VIDEO   true
 If automatic rotation of video shall be applied. More...
 
#define QTL_AVI_AUDIO_BITRATE   128000
 MP3 audio bitrate (bits per second) for AVI. More...
 
#define QTL_AVI_AUDIO_SAMPLING   48000
 MP3 audio sampling rate (Hz) for AVI. More...
 
#define QTL_AVI_DEFAULT_MAX_VIDEO_HEIGHT   352
 Default max video height (pixels) for AVI. More...
 
#define QTL_AVI_DEFAULT_MAX_VIDEO_WIDTH   880
 Default max video width (pixels) for AVI. More...
 
#define QTL_AVI_DEFAULT_VIDEO_QUALITY   18
 H.263/Xvid/DivX video default quality indicator for AVI. More...
 
#define QTL_AVI_FRAME_RATE   24
 Frames per second for AVI. More...
 
#define QTL_CAPITALIZE_CC   false
 Capitalize US Closed Captions (suppress ALL CAPS). More...
 
#define QTL_CHAPTER_MINUTES   5
 Duration of chapters to create. More...
 
#define QTL_CLEANUP_SUBTITLES   true
 Cleanup SRT/SSA/ASS subtitles files before burning. More...
 
#define QTL_CLEAR_LOG_BEFORE_TRANSCODE   false
 Clear the log panel before starting a transcode operation. More...
 
#define QTL_CREATE_PAL_DVD   true
 If the format of created DVD is PAL or NTSC. More...
 
#define QTL_DEFAULT_AUDIO_MEAN_LEVEL   (-20)
 Normalized mean audio level, in dBFS. More...
 
#define QTL_DEFAULT_AUDIO_NORMALIZE   false
 Do not normalize audio level by default. More...
 
#define QTL_DEFAULT_AUDIO_PEAK_LEVEL   (-1)
 Normalized peak audio level, in dBFS. More...
 
#define QTL_DEFAULT_LANGUAGES   "fr,fre,fra,french"
 Default audience is French-speaking. More...
 
#define QTL_DEFAULT_OUTDIR_INPUT   true
 Default output directory is input directory. More...
 
#define QTL_DOWNGRADE_SSA_TO_SRT   false
 Downgrade SSA/ASS subtitles to SRT before burning? More...
 
#define QTL_DVD_ANGLE   1
 Default angle to extract in a DVD program chain. More...
 
#define QTL_DVD_AUDIO_BITRATE   192000
 MPEG-1 Level 2 audio bitrate (bits per second) for DVD. More...
 
#define QTL_DVD_AUDIO_SAMPLING   48000
 MPEG-1 Level 2 audio sampling rate (Hz) for DVD. More...
 
#define QTL_DVD_BURNING_SPEED   0
 DVD burning speed as Nx, 0 means use current/default speed. More...
 
#define QTL_DVD_DEFAULT_VIDEO_BITRATE   4000000
 MPEG-2 video default bitrate for DVD. More...
 
#define QTL_DVD_EXTRACT_DIR_TREE   true
 Recreate directory tree when extracting DVD. More...
 
#define QTL_DVD_ISO_MAX_SIZE   (Q_UINT64_C(4700000000))
 Maximum size in bytes of a DVD ISO image. More...
 
#define QTL_DVD_ISO_OVERHEAD_PERCENT   15
 Percentage of DVD ISO image overhead. More...
 
#define QTL_DVD_MAX_SPEED   true
 Set DVD read speed to maximum. More...
 
#define QTL_DVD_NTSC_VIDEO_HEIGHT   480
 Video height (pixels) for NTSC DVD. More...
 
#define QTL_DVD_NTSC_VIDEO_WIDTH   720
 Video width (pixels) for NTSC DVD. More...
 
#define QTL_DVD_PAL_VIDEO_HEIGHT   576
 Video height (pixels) for PAL DVD. More...
 
#define QTL_DVD_PAL_VIDEO_WIDTH   720
 Video width (pixels) for PAL DVD. More...
 
#define QTL_DVD_PROGRAM_CHAIN   1
 Default Program Chain (PGC) to extract in a DVD Title Set (VTS). More...
 
#define QTL_DVD_REMUX_AFTER_TRANSCODE   true
 If audio/video must be remuxed after transcode for DVD output. More...
 
#define QTL_DVD_TRANSCODE_RAW_VOB   false
 Transcode raw VOB files from DVD (don't extract specific PGC). More...
 
#define QTL_EDIT_TASK_HEIGHT   500
 Height (in pixels) of QtlMovieEditTaskDialog. More...
 
#define QTL_EDIT_TASK_WIDTH   680
 Width (in pixels) of QtlMovieEditTaskDialog. More...
 
#define QTL_FFMPEG_LOGLEVEL   "warning"
 
#define QTL_FFMPEG_LOW_PRIORITY   true
 Run FFmpeg processes at a lower priority. More...
 
#define QTL_FFMPEG_PROBE_SECONDS   200
 Initial probe size in media playout seconds for ffprobe / ffmpeg. More...
 
#define QTL_FFPROBE_DVD_DIVISOR_2   5
 On DVD's, a second shorter ffprobe is run. More...
 
#define QTL_FFPROBE_DVD_DIVISOR_3   20
 On DVD's, a third shorter ffprobe is run. More...
 
#define QTL_FFPROBE_EXECUTION_TIMEOUT   40
 FFprobe execution timeout in seconds. More...
 
#define QTL_FFPROBE_LOGLEVEL   "warning"
 Log level for FFmpeg. More...
 
#define QTL_FILE_CHUNK   (16 * 1024)
 Number of bytes to read at a time when processing files in event loop. More...
 
#define QTL_FORCE_DVD_TRANSCODE   false
 Force transcoding even if input file is already DVD-compliant. More...
 
#define QTL_IPAD_DEFAULT_VIDEO_QUALITY   11
 H.264 video default quality indicator for iPad. More...
 
#define QTL_IPHONE_DEFAULT_VIDEO_QUALITY   11
 H.264 video default quality indicator for iPhone. More...
 
#define QTL_KEEP_INTERMEDIATE_FILES   false
 Keep intermediate transcoding files. More...
 
#define QTL_LOG_FILE_EXTENSION   ".log"
 Default extension for log files. More...
 
#define QTL_MAX_LOG_LINE   1000
 Maximum lines in the log window. More...
 
#define QTL_NEW_VERSION_CHECK   true
 Check for a new version of QtlMovie on startup. More...
 
#define QTL_PLAY_SOUND_ON_COMPLETION   false
 If a sound shall be played on transcoding completion. More...
 
#define QTL_SAVE_LOG_AFTER_TRANSCODE   false
 Automatically save the log after transcoding completion. More...
 
#define QTL_SELECT_ORIGINAL_AUDIO   true
 Automatically select original audio track. More...
 
#define QTL_SELECT_TARGET_SUBTITLES   true
 Automatically select subtitles for the target language. More...
 
#define QTL_SRT_HTML_TAGS   true
 Add HTML tags in SRT subtitles when converting from SSA/ASS. More...
 
#define QTL_SRT_USE_VIDEO_SIZE_HINT   false
 Check if the insertion of SRT/SSA/ASS subtitles shall use the original video size as a hint. More...
 
#define QTL_TRANSCODE_COMPLETE   true
 Transcode complete video. More...
 
#define QTL_TRANSCODE_SECONDS   0
 Number of seconds to transcode if not complete video. More...
 
#define QTL_TS_PACKETS_CHUNK   100
 Number of MPEG Transport Stream packets to read at a time when searching for Teletext subtitles. More...
 
#define QTL_USE_BATCH_MODE   false
 Do not use batch mode, use single-file mode. More...
 
#define WEBREF_DESIGNBOLT   "http://www.designbolts.com"
 
#define WEBREF_LIBDVDCSS   "http://www.videolan.org/developers/libdvdcss.html"
 
#define WEBREF_QTLMOVIE_HOME   "http://qtlmovie.sourceforge.net"
 
#define WEBREF_QTLMOVIE_NEWVERSION   "http://qtlmovie.sourceforge.net/newversion/"
 
#define WEBREF_QTLMOVIE_SUPPORT   "http://github.com/qtlmovie/qtlmovie/issues"
 
#define WEBREF_TELXCC   "http://github.com/petrkutalek/telxcc"
 

Detailed Description

Declare generic constants.

Macro Definition Documentation

◆ WEBREF_QTLMOVIE_HOME

#define WEBREF_QTLMOVIE_HOME   "http://qtlmovie.sourceforge.net"

◆ WEBREF_QTLMOVIE_NEWVERSION

#define WEBREF_QTLMOVIE_NEWVERSION   "http://qtlmovie.sourceforge.net/newversion/"

◆ WEBREF_QTLMOVIE_SUPPORT

#define WEBREF_QTLMOVIE_SUPPORT   "http://github.com/qtlmovie/qtlmovie/issues"

◆ WEBREF_TELXCC

#define WEBREF_TELXCC   "http://github.com/petrkutalek/telxcc"

◆ WEBREF_LIBDVDCSS

#define WEBREF_LIBDVDCSS   "http://www.videolan.org/developers/libdvdcss.html"

◆ WEBREF_DESIGNBOLT

#define WEBREF_DESIGNBOLT   "http://www.designbolts.com"

◆ QTL_MAX_LOG_LINE

#define QTL_MAX_LOG_LINE   1000

Maximum lines in the log window.

◆ QTL_DEFAULT_OUTDIR_INPUT

#define QTL_DEFAULT_OUTDIR_INPUT   true

Default output directory is input directory.

◆ QTL_TRANSCODE_COMPLETE

#define QTL_TRANSCODE_COMPLETE   true

Transcode complete video.

◆ QTL_TRANSCODE_SECONDS

#define QTL_TRANSCODE_SECONDS   0

Number of seconds to transcode if not complete video.

◆ QTL_KEEP_INTERMEDIATE_FILES

#define QTL_KEEP_INTERMEDIATE_FILES   false

Keep intermediate transcoding files.

◆ QTL_FFMPEG_PROBE_SECONDS

#define QTL_FFMPEG_PROBE_SECONDS   200

Initial probe size in media playout seconds for ffprobe / ffmpeg.

◆ QTL_FFPROBE_DVD_DIVISOR_2

#define QTL_FFPROBE_DVD_DIVISOR_2   5

On DVD's, a second shorter ffprobe is run.

◆ QTL_FFPROBE_DVD_DIVISOR_3

#define QTL_FFPROBE_DVD_DIVISOR_3   20

On DVD's, a third shorter ffprobe is run.

◆ QTL_SRT_USE_VIDEO_SIZE_HINT

#define QTL_SRT_USE_VIDEO_SIZE_HINT   false

Check if the insertion of SRT/SSA/ASS subtitles shall use the original video size as a hint.

◆ QTL_CHAPTER_MINUTES

#define QTL_CHAPTER_MINUTES   5

Duration of chapters to create.

◆ QTL_DVD_REMUX_AFTER_TRANSCODE

#define QTL_DVD_REMUX_AFTER_TRANSCODE   true

If audio/video must be remuxed after transcode for DVD output.

◆ QTL_CREATE_PAL_DVD

#define QTL_CREATE_PAL_DVD   true

If the format of created DVD is PAL or NTSC.

◆ QTL_FORCE_DVD_TRANSCODE

#define QTL_FORCE_DVD_TRANSCODE   false

Force transcoding even if input file is already DVD-compliant.

◆ QTL_NEW_VERSION_CHECK

#define QTL_NEW_VERSION_CHECK   true

Check for a new version of QtlMovie on startup.

◆ QTL_AUTO_ROTATE_VIDEO

#define QTL_AUTO_ROTATE_VIDEO   true

If automatic rotation of video shall be applied.

◆ QTL_PLAY_SOUND_ON_COMPLETION

#define QTL_PLAY_SOUND_ON_COMPLETION   false

If a sound shall be played on transcoding completion.

◆ QTL_DEFAULT_LANGUAGES

#define QTL_DEFAULT_LANGUAGES   "fr,fre,fra,french"

Default audience is French-speaking.

◆ QTL_CLEAR_LOG_BEFORE_TRANSCODE

#define QTL_CLEAR_LOG_BEFORE_TRANSCODE   false

Clear the log panel before starting a transcode operation.

◆ QTL_SAVE_LOG_AFTER_TRANSCODE

#define QTL_SAVE_LOG_AFTER_TRANSCODE   false

Automatically save the log after transcoding completion.

◆ QTL_LOG_FILE_EXTENSION

#define QTL_LOG_FILE_EXTENSION   ".log"

Default extension for log files.

◆ QTL_FFPROBE_EXECUTION_TIMEOUT

#define QTL_FFPROBE_EXECUTION_TIMEOUT   40

FFprobe execution timeout in seconds.

◆ QTL_USE_BATCH_MODE

#define QTL_USE_BATCH_MODE   false

Do not use batch mode, use single-file mode.

◆ QTL_EDIT_TASK_WIDTH

#define QTL_EDIT_TASK_WIDTH   680

Width (in pixels) of QtlMovieEditTaskDialog.

◆ QTL_EDIT_TASK_HEIGHT

#define QTL_EDIT_TASK_HEIGHT   500

Height (in pixels) of QtlMovieEditTaskDialog.

◆ QTL_SELECT_ORIGINAL_AUDIO

#define QTL_SELECT_ORIGINAL_AUDIO   true

Automatically select original audio track.

◆ QTL_SELECT_TARGET_SUBTITLES

#define QTL_SELECT_TARGET_SUBTITLES   true

Automatically select subtitles for the target language.

◆ QTL_CAPITALIZE_CC

#define QTL_CAPITALIZE_CC   false

Capitalize US Closed Captions (suppress ALL CAPS).

◆ QTL_DVD_EXTRACT_DIR_TREE

#define QTL_DVD_EXTRACT_DIR_TREE   true

Recreate directory tree when extracting DVD.

◆ QTL_DVD_MAX_SPEED

#define QTL_DVD_MAX_SPEED   true

Set DVD read speed to maximum.

◆ QTL_CLEANUP_SUBTITLES

#define QTL_CLEANUP_SUBTITLES   true

Cleanup SRT/SSA/ASS subtitles files before burning.

◆ QTL_SRT_HTML_TAGS

#define QTL_SRT_HTML_TAGS   true

Add HTML tags in SRT subtitles when converting from SSA/ASS.

◆ QTL_DOWNGRADE_SSA_TO_SRT

#define QTL_DOWNGRADE_SSA_TO_SRT   false

Downgrade SSA/ASS subtitles to SRT before burning?

◆ QTL_DVD_TRANSCODE_RAW_VOB

#define QTL_DVD_TRANSCODE_RAW_VOB   false

Transcode raw VOB files from DVD (don't extract specific PGC).

◆ QTL_DVD_PROGRAM_CHAIN

#define QTL_DVD_PROGRAM_CHAIN   1

Default Program Chain (PGC) to extract in a DVD Title Set (VTS).

◆ QTL_DVD_ANGLE

#define QTL_DVD_ANGLE   1

Default angle to extract in a DVD program chain.

◆ QTL_DVD_BURNING_SPEED

#define QTL_DVD_BURNING_SPEED   0

DVD burning speed as Nx, 0 means use current/default speed.

◆ QTL_FFMPEG_LOW_PRIORITY

#define QTL_FFMPEG_LOW_PRIORITY   true

Run FFmpeg processes at a lower priority.

◆ QTL_DVD_AUDIO_BITRATE

#define QTL_DVD_AUDIO_BITRATE   192000

MPEG-1 Level 2 audio bitrate (bits per second) for DVD.

◆ QTL_DVD_AUDIO_SAMPLING

#define QTL_DVD_AUDIO_SAMPLING   48000

MPEG-1 Level 2 audio sampling rate (Hz) for DVD.

◆ QTL_DVD_DEFAULT_VIDEO_BITRATE

#define QTL_DVD_DEFAULT_VIDEO_BITRATE   4000000

MPEG-2 video default bitrate for DVD.

◆ QTL_DVD_PAL_VIDEO_WIDTH

#define QTL_DVD_PAL_VIDEO_WIDTH   720

Video width (pixels) for PAL DVD.

◆ QTL_DVD_PAL_VIDEO_HEIGHT

#define QTL_DVD_PAL_VIDEO_HEIGHT   576

Video height (pixels) for PAL DVD.

◆ QTL_DVD_NTSC_VIDEO_WIDTH

#define QTL_DVD_NTSC_VIDEO_WIDTH   720

Video width (pixels) for NTSC DVD.

◆ QTL_DVD_NTSC_VIDEO_HEIGHT

#define QTL_DVD_NTSC_VIDEO_HEIGHT   480

Video height (pixels) for NTSC DVD.

◆ QTL_IPAD_DEFAULT_VIDEO_QUALITY

#define QTL_IPAD_DEFAULT_VIDEO_QUALITY   11

H.264 video default quality indicator for iPad.

◆ QTL_IPHONE_DEFAULT_VIDEO_QUALITY

#define QTL_IPHONE_DEFAULT_VIDEO_QUALITY   11

H.264 video default quality indicator for iPhone.

◆ QTL_ANDROID_DEFAULT_VIDEO_QUALITY

#define QTL_ANDROID_DEFAULT_VIDEO_QUALITY   11

H.264 video default quality indicator for Android devices.

◆ QTL_AVI_AUDIO_BITRATE

#define QTL_AVI_AUDIO_BITRATE   128000

MP3 audio bitrate (bits per second) for AVI.

◆ QTL_AVI_AUDIO_SAMPLING

#define QTL_AVI_AUDIO_SAMPLING   48000

MP3 audio sampling rate (Hz) for AVI.

◆ QTL_AVI_DEFAULT_VIDEO_QUALITY

#define QTL_AVI_DEFAULT_VIDEO_QUALITY   18

H.263/Xvid/DivX video default quality indicator for AVI.

◆ QTL_AVI_DEFAULT_MAX_VIDEO_WIDTH

#define QTL_AVI_DEFAULT_MAX_VIDEO_WIDTH   880

Default max video width (pixels) for AVI.

◆ QTL_AVI_DEFAULT_MAX_VIDEO_HEIGHT

#define QTL_AVI_DEFAULT_MAX_VIDEO_HEIGHT   352

Default max video height (pixels) for AVI.

◆ QTL_AVI_FRAME_RATE

#define QTL_AVI_FRAME_RATE   24

Frames per second for AVI.

◆ QTL_AUDIO_NORMALIZE_MODE

#define QTL_AUDIO_NORMALIZE_MODE   Compress

How to normalize audio when the input dynamic range is too large.

◆ QTL_DEFAULT_AUDIO_NORMALIZE

#define QTL_DEFAULT_AUDIO_NORMALIZE   false

Do not normalize audio level by default.

◆ QTL_DEFAULT_AUDIO_MEAN_LEVEL

#define QTL_DEFAULT_AUDIO_MEAN_LEVEL   (-20)

Normalized mean audio level, in dBFS.

◆ QTL_DEFAULT_AUDIO_PEAK_LEVEL

#define QTL_DEFAULT_AUDIO_PEAK_LEVEL   (-1)

Normalized peak audio level, in dBFS.

◆ QTL_AUDIO_NORMALIZATION_TOLERANCE

#define QTL_AUDIO_NORMALIZATION_TOLERANCE   1.0

Do not normalize audio if mean level is that close to target level.

◆ QTL_DVD_ISO_OVERHEAD_PERCENT

#define QTL_DVD_ISO_OVERHEAD_PERCENT   15

Percentage of DVD ISO image overhead.

This is the percentage to add to the audio size + video size to obtain an estimate of the ISO image size. We assume here that the DVD contains only one video title and no menu.

This constant is notoriously oversized. Maybe 12% will be more accurate.

◆ QTL_DVD_ISO_MAX_SIZE

#define QTL_DVD_ISO_MAX_SIZE   (Q_UINT64_C(4700000000))

Maximum size in bytes of a DVD ISO image.

◆ QTL_FFPROBE_LOGLEVEL

#define QTL_FFPROBE_LOGLEVEL   "warning"

Log level for FFmpeg.

Possible values for -loglevel option:

  • quiet : Show nothing at all; be silent.
  • panic Only show fatal errors which could lead the process to crash, such as and assert failure. This is not currently used for anything.
  • fatal : Only show fatal errors. These are errors after which the process absolutely cannot continue after.
  • error : Show all errors, including ones which can be recovered from.
  • warning : Show all warnings and errors. Any message related to possibly incorrect or unexpected events will be shown.
  • info : Show informative messages during processing. This is in addition to warnings and errors. This is the default value.
  • verbose : Same as info, except more verbose.
  • debug : Show everything, including debugging information.

By default the program logs to stderr, if coloring is supported by the terminal, colors are used to mark errors and warnings. Log coloring can be disabled setting the environment variable AV_LOG_FORCE_NOCOLOR or NO_COLOR, or can be forced setting the environment variable AV_LOG_FORCE_COLOR. The use of the environment variable NO_COLOR is deprecated and will be dropped in a following FFmpeg version.

◆ QTL_FFMPEG_LOGLEVEL

#define QTL_FFMPEG_LOGLEVEL   "warning"

◆ QTL_TS_PACKETS_CHUNK

#define QTL_TS_PACKETS_CHUNK   100

Number of MPEG Transport Stream packets to read at a time when searching for Teletext subtitles.

◆ QTL_FILE_CHUNK

#define QTL_FILE_CHUNK   (16 * 1024)

Number of bytes to read at a time when processing files in event loop.

◆ QTL_AUDIO_FILTER_VARNAME

#define QTL_AUDIO_FILTER_VARNAME   "AUDIOFILTER"

Name of the "Job Variable" (see QtlMovieJob::setVariable()) for audio filter.

◆ QTL_AUDIO_FILTER_VARREF

#define QTL_AUDIO_FILTER_VARREF   "{" QTL_AUDIO_FILTER_VARNAME "}"

Reference to the "Job Variable" (see QtlMovieJob::setVariable()) for audio filter.