divxenc Changelog

What's new in divxenc 1.8.0

May 13, 2014
  • Add -nosub option to prevent auto-loading of embedded subs
  • Use -mc 0 -msglevel demuxer=-1 to work around the copy issue of MEncoder

New in divxenc 1.7.9 (Nov 13, 2013)

  • Allow importing of PGS subtitles into the MKV container
  • Added support for importing a chapters file for MKV/MP4/OGM when input is file
  • Added support for setting the audio language code for MKV/MP4/OGM when input is file
  • Added support for setting the subtitle language code when importing subs into MKV/MP4/OGM

New in divxenc 1.7.8 (Nov 4, 2013)

  • Placed the $demuxer variable higher. Fixes audio detection for file input
  • Moved some audio selection code into a new set_audio_codec_func() function.
  • Reduces some code duplication and removes the default_audio_codec_func() function

New in divxenc 1.7.7 (Nov 2, 2013)

  • Merged the file and dvd audio detection/selection code
  • Merged the audio code for the first track with the code for subsequent tracks
  • Set a default audio ID based on input (ie, 0 for file and 128 for DVD)
  • Small improvements to the subtitles code
  • Updated the presets to support recent SVN MPlayer versions
  • Use -demuxer lavf for file and dir encodings
  • Renamed the -help switch to -h
  • Improved the way audio tracks information is presented to the user
  • Make destination dir if it doesn't exist for saving to the batchfile
  • Updated the man page

New in divxenc 1.7.6 (Oct 31, 2013)

  • Implemented support for virtually an infinite amount of subtitles. This introduces a new
  • variable, MAX_AMOUNT_SUBS, to the config file where the user can set the amount of subtitles he/she wants the script to support
  • Added output name to the message of the mail notification feature
  • Fixed the nosound audio option
  • Renamed the rmtemp() function to exit_func()
  • Return proper exit codes. 0 on success, 1 on error and 2 on user interrupt

New in divxenc 1.7.5 (Oct 31, 2013)

  • Added -demuxer lavf for more reliable detection of audio streams in file input mode
  • Implemented virtually infinite support for the amount of audio tracks. This introduces
  • a new variable in the config file, MAX_AMOUNT_AUD_TRACKS, where the user can specify
  • how many audio tracks he/she wants the script to support.
  • Enabled multi-channel support for Opus audio
  • Moved the MKV audio filters metadata after the audio codec/language metadata
  • Fixed copy and pcm audio encoding
  • If user chooses PCM for subsequent audio tracks, don't error out but just skip the track
  • Some minor clean-ups

New in divxenc 1.7.4 (Oct 29, 2013)

  • Added support for the Opus audio codec. Requires opusenc and a recent version of
  • mkvtoolnix with support for Opus
  • Renamed track_echo_func() to audio_track_echo_func() for consistency
  • Added support for setting the AC-3 Exponent strategy search size
  • Allow applying an LFE low-pass filter for AC-3 audio
  • Improved aften options passing
  • Updated the man page

New in divxenc 1.7.2 (Oct 25, 2013)

  • Allow encoding of 640 kbps AC-3 audio
  • Detect and display audio codec info when input is file
  • Added support for setting the Dynamic Range Compression (DRC) profile for AC-3 audio
  • Fixed AC-3 audio encoding by adding -readtoeof 1 which ignores WAV header signaling
  • Renamed aften $AC3 var to $AC3ENC
  • Use AC-3 instead of AC3 in metadata info

New in divxenc 1.7.1 (Sep 3, 2013)

  • Fix audio TID for MKV when using neroAacEnc as encoder

New in divxenc 1.6.9 (May 29, 2013)

  • Use aften for AC3 audio encoding as MEncoder is currently broken. This updates the config file version to 18

New in divxenc 1.6.8 (May 23, 2013)

  • Bugfix: add missing 384 kbps option for AC3 audio
  • Notify the user when we first create the config file
  • SAR is Sample Aspect Ratio, not Storage Aspect Ratio. Corrected this mistake

New in divxenc 1.6.7 (Apr 12, 2013)

  • Use ffmpeg's MPEG12 decoder instead of the libmpeg12 one
  • Updated the man page

New in divxenc 1.6.5 (Jan 3, 2012)

  • Added support for setting the default video bitrate/quantizer and default audio codec in the config file, which introduces three new variables; DEFAULT_VID_BITRATE,
  • DEFAULT_VID_QTZR and DEFAULT_AUD_CODEC. This bumps the config file version to 17 Renamed variables DEFOUTPUT, DEFPATH and DEFBATCHDIR to DEFAULT_OUTPUT, DEFAULT_PATH and DEFAULT_BATCHDIR
  • Replaced some if conditionals in the -sc option by using 'test' directly
  • Added an option to pass additional parameters to MEncoder. Useful if user wants to pass options such as -mc 0 -noskip
  • Added support for encoding to DTS audio through the dcaenc encoder which can be found at: http://aepatrakov.narod.ru/dcaenc/
  • Minor changes to the video_delogo_func() function. Use $sourcetype, $device, $vid and $MPLAYEROPTS variables. Also use -nosound in MPlayer
  • Improved the mkvtags file. Escape special characters like &, and " in the Title field
  • Use -vo dummy in MPlayer in the audio code. Seems to work better for some files

New in divxenc 1.6.3 (Mar 8, 2011)

  • Fixed a bug in directory batch mode were wrong conditional was used to check
  • for the DEFOUTPUT variable
  • Display which file is currently being processed in batch mode
  • Check only for files while in batch mode
  • Fixed the video_deblock_func() function. Wrong vars used for some of the filters

New in divxenc 1.6.2 (Jan 31, 2011)

  • Use -demuxer lavf when trying to get the video length for bitrate calculation
  • for a target file size. Should be more reliable on M2TS/TS files
  • Added support for the delogo filter and bumped config file version to 16
  • Updated copyright dates

New in divxenc 1.6.1 (Nov 26, 2010)

  • Remove double $HOME variable in the -scan option

New in divxenc 1.6.0 (Oct 29, 2010)

  • Added support for setting subtitle codepage during hardcoding of external subs
  • Added support for the audio equalizer filter. This updates the config file version
  • to 15
  • Removed 'time' requirement
  • Fixed a bug: removed a double semicolon in the hq preset which causes mencoder to exit

New in divxenc 1.5.9 (Sep 22, 2010)

  • Workaround mencoder stupidity. With recent versions of mencoder that have subsenabled by default (who came up with that great idea?), in case the user selectsto dump a sub for importing into mkv/mp4, during multipass encoding the first subwill always get hardcoded due to missing -nosub option in the 2nd and 3rd pass code.
  • This is only valid for multipass encodes so people using one pass modes (-1p or -fq) are safe.
  • Small update to the -scan option. Just check if input file is there, regardless ifuser provides the full path or not.

New in divxenc 1.5.8 (Aug 7, 2010)

  • Add -nosub to prevent auto-loading of subs

New in divxenc 1.5.7 (Jun 28, 2010)

  • Outdated the set_output_filename_func() function to support the above change
  • Use one variable in the presets (divxparams) for all MEncoder MPEG4 encoding options.
  • Reduces some code and simplifies things a bit

New in divxenc 1.5.5 (May 5, 2010)

  • Added new variable DEFOUTPUT to the config where user can set a default output directory.
  • This updates the config version to 13
  • Updated the set_output_filename_func() function to support the above change
  • Use one variable in the presets (divxparams) for all MEncoder MPEG4 encoding options.
  • Reduces some code and simplifies things a bit

New in divxenc 1.5.4 (Mar 12, 2010)

  • Small bugfix: the $ildctme interlace variable wasn't passed on to mencoder
  • Space escaped some previously missed variables

New in divxenc 1.5.3 (Mar 1, 2010)

  • Small bugfix: wrong variable used when exporting from the send_email_func() function
  • to the batchfile
  • Added new variable DEFOUTPUT to the config where user can set a default output directory.
  • This updates the config version to 13
  • Updated the set_output_filename_func() function to support the above change
  • Use one variable in the presets (divxparams) for all MEncoder MPEG4 encoding options.
  • Reduces some code and simplifies things a bit
  • Updated the preset.cfg file to support the "one variable for all MPEG4 encoder opts"
  • Note: those using custom preset files for encoding should read the preset.cfg file
  • in the doc dir and adapt their existing preset files to be compatible with the
  • changes. Previous older custom presets written by users will not work with this and
  • future versions of divxenc!

New in divxenc 1.5.2 (Feb 2, 2010)

  • Reduced duplication in the audio encode exporting code by moving it inside functions
  • Reduced duplication in the MKV/MP4/OGM exporting code by moving it inside functions
  • Reduced duplication in the code that prints some information before encoding starts
  • Various minor code improvements

New in divxenc 1.5.1 (Jan 21, 2010)

  • Renamed the rmconf() function to rmtemp()
  • Moved creation of temp dir, the interrupt_func() and rmtemp() functions at the beginning
  • of the script
  • Fixed a bug in the DVD part of the -scan option where lsdvd doesn't get a valid device
  • passed. Bug was introduced due to changes in the new get_devices_func() function
  • Reduced some duplication in the mencoder_opts() function
  • Various small code improvements
  • Updated the README.divxenc file

New in divxenc 1.5.0 (Jan 20, 2010)

  • Added two new variables, DVD_DEVICE and CDROM_DEVICE, to the config file where user can set his preferred dvd/cd block device. This updates the config file to version 12
  • Merged the get_dvd_devices_func() and get_vcd_devices_func() functions into a new one
  • called get_devices_func()
  • Removed the -a52drc option for AC3 encoding

New in divxenc 1.4.9 (Jan 6, 2010)

  • Changed all video ALLOW_* variables in the config file to ALLOW_VID_
  • When using dd to dump a DVD to an ISO, use options noerror,sync and a bs size of 2048
  • Added support for sending mails. This requires the 'mailx' program and a valid .mailrc
  • file in the home directory. Mail notification can be enabled in the config file of
  • divxenc which also offers an example of a gmail setting for .mailrc
  • Added support for loading custom preset files. Have a look at the preset.cfg file in
  • the doc directory on how to write such files
  • Added support for setting a custom temp dir in the config file
  • Small update to the mkvtags_func() function
  • Bumped config file version to 11
  • Updated copyright dates
  • Updated the man page

New in divxenc 1.4.5 (Sep 21, 2009)

  • Library artwork caching/displaying improvements
  • Lyricwiki screen scraping workaround
  • Replace Amazon.com cover art fetching with Rhapsody.com
  • Bug: Fix library sorting when adding, e.g., albums to playlist
  • Bug: Fix window positioning weirdness when unwithdrawing from systray
  • Bug: Fix album being labeled various artists when a duplicate exists
  • Bug: Fix album tracks in the info tab being out of order sometimes
  • Bug: Show songs with a missing date in info album listing
  • Bug: Library icons change after adding stream to playlist
  • Bug: Cpu spike, tooltips missing in library search results with gtk 2.16.2

New in divxenc 1.3.5 (Jun 18, 2009)

  • Added support for per track audio bitrate for DVD encodings
  • Added support for per track audio normalization and volume adjustments for DVD encodings. Updated functions audio_volnorm_func() and audio_volume_func()
  • Added support for per track audio resampling for DVD encodings. Updated functions audio_resample_filters_func() and audio_resample_func()
  • Updated the video bitrate calculation code to support the above audio changes
  • Added support for per track AAC profile settings (LC/HE/HEv2) when using the neroAacEnc audio encoder
  • Small modifications to the MKV/MP4 tagging and muxing code to support the per track neroAacEnc AAC profiles. This also includes optimizations to the way the tagging code handles different AAC profiles. If LC profile is chosen, audio will be tagged as LC-AAC (along with channels info). For HE and HEv2, audio will be tagged as HE-AACv1 and HE-AACv2 (along with channels info) respectively
  • Moved the MKV tagging code inside the MKV muxing code
  • Converted the EXTSUB1, EXTSUB2 and EXTSUB3 variables, used to import external DVD subs, to arrays so we can easily check different files for their file extensions
  • Only allow SRT subs as import into OGM. If another subs format is provided, the subs will be skipped. For MP4, do not allow ASS/SSA subs since it's not supported yet by MP4Box. For MKV, do not allow SUP and TTXT subs

New in divxenc 1.3.2 (Jun 10, 2009)

  • Added support for adding jpeg/png cover art files to MKV/MP4
  • Added support for adding jpeg/png cover art files to MKV/MP4
  • Added audio language meta-info for MP4 files
  • Added iTunes video title name for MP4 files
  • Improved audio language meta-info for MKV files. This also adds metadata info for the second audio track
  • Fixed a small bug: the --aac-is-sbr mkvmerge parameter should be set to 0:1 for the second audio track when using aacplusenc as encoder

New in divxenc 1.2.5 (Jan 23, 2009)

  • Add title/movie name to MKV and OGM as meta-info. The title is taken from the output name provided by the user. For directory encodings, this will be skipped
  • Add audio codec and audio language meta-info to MKV when encoding DVDs and copying the audio track(s)
  • Added support for the expand video filter
  • Slightly improved info when the script is called without any parameters
  • Implemented denoising presets for the 'tn' temporal denoiser
  • Merge the mp3, aac, ac3 exporting code with the ffac3 and ffdts one since it's the same for the second audio track
  • Small improvement/fix: when encoding two audio tracks to HE-AAC audio and muxing them into MKV, mkvmerge uses for both tracks the same track ID (1) while divxenc assumes that the second track uses track ID 2 which is wrong so the option --aac-is-sbr 2:1 is incorrect here and should actually be --aac-is-sbr 1:1 for the second audio track

New in divxenc 1.2.4 (Jan 16, 2009)

  • Use 'source' instead of '.' for importing files into the script. Makes it easier for me to read when my eyes are tired
  • Improvements to the audio_resample_func() function. Automatically detect the audio sample rate of the content and display it. Also, moved the resample filters into a function called audio_resample_filters_func(). The reason for this is to be able to compare the detected audio sample rate with the selected one. If the user selects a sample rate which equals the detected one, resampling will be skipped as there is no point in running a resampler if the detected and selected sample rates are equal - mencoder always picks up the sample rate of the content.
  • For directory encodings, offer an option to automatically delete the AVI file after remuxing to the other containers. This can considerably reduce disk space usage, especially when encoding a directory with a lot of files in it.
  • Replaced all 'tail -1' commands with 'tail -n 1' since 'tail -1' is made obsolete as stated by the info page of tail
  • Calculate and display the amount of frames when scanning a video file. Also display seconds in addition to minutes for the runtime
  • Replaced MB and GB with MiB and GiB

New in divxenc 1.2.2 (Dec 5, 2008)

  • Improved dealing with LPCM audio on DVDs. If the user has selected to encode a second audio track and that track uses LPCM as audio, the encoding will fail since -oac copy will not be able to copy LPCM in AVI. For this reason, divxenc will check to see if the second audio track is LPCM audio and will use -oac pcm instead of -oac copy
  • DVD channels settings can be now independently controlled for each audio track
  • Added support for AC3 in MP4. This requires latest gpac version 0.4.5 compiled with liba52 support!

New in divxenc 1.1.9 (Nov 26, 2008)

  • Bugfix: the vobsubout3 variable was not tested in the MKV/MP4 muxing code. This leads to the third subtitle not being imported into these containers
  • Implemented real batch support for files. As of now, one can encode a bunch of video files in a directory and automatically remux them to MKV/MP4/OGM. The user needs to configure only one of the files in a given directory and all the settings will apply to the other files as well
  • New formulas to calculate the video bitrate for a target filesize. The user can choose between MeGUI's formula, divxenc's refactored MeGUI formula and the old divxenc/ripdvd formula