Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.


xvidenc / News: Recent posts

xvidenc 8.4.3 released

* 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
* 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:
* 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

Posted by microbooster 2012-01-02

xvidenc 8.4.2 released

* Added support for setting the crop rounding value

Posted by microbooster 2011-03-29

xvidenc 8.4.1 released

* 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

Posted by microbooster 2011-03-07

xvidenc 8.4.0 released

* 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

Posted by microbooster 2011-01-31

xvidenc 8.3.9 released

* Remove double $HOME variable in the -scan option

Posted by microbooster 2010-11-26

xvidenc 8.3.8 released

* 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

Posted by microbooster 2010-10-29

xvidenc 8.3.7 released

* Workaround mencoder stupidity. With recent versions of mencoder that have subs enabled by default (who came up with that great idea?), in case the user selects to dump a sub for importing into mkv/mp4, during multipass encoding the first sub will always get hardcoded due to missing -nosub option in the 2nd 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 if user provides the full path or not

Posted by microbooster 2010-09-22

xvidenc 8.3.6 released

* Add -nosub to prevent auto-loading of subs

Posted by microbooster 2010-08-07

xvidenc 8.3.5 released

* Small bugfix in the get_devices_func() function; script exits when user hits enter to accept default device
* Updated the man page

Posted by microbooster 2010-05-15

xvidenc 8.3.4 released

* Reworked a bit the audio channels decode/output function. This function also got renamed from audio_channels_func() to audio_channels_decode_func()
* Added support for the audio channels filter which can be used to add/remove/route channels. This updates the config file to version 14 and adds variable ALLOW_AUD_CHANNELS
* Some various small improvements

Posted by microbooster 2010-05-05

xvidenc 8.3.3 released

* Small bugfix: the $interlacing variable wasn't passed on to mencoder
* Space escaped some previously missed variables

Posted by microbooster 2010-03-12

xvidenc 8.3.2 released

* 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 (xvidparams) for all MEncoder Xvid encoding options. Reduces some code and simplifies things a bit
* Updated the preset.cfg file to support the "one variable for all Xvid 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 xvidenc!

Posted by microbooster 2010-02-27

xvidenc 8.3.1 released

* 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

Posted by microbooster 2010-02-02

xvidenc 8.3.0 released

* 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
* Removed some duplication in the mencoder_opts() function
* Various small code improvements
* Updated the README.xvidenc file

Posted by microbooster 2010-01-21

xvidenc 8.2.9 released

* Fixed a bug where the interlacing variable doesn't get passed when skipping the pre/postprocessors. This is needed for correct condition check for IVTC/FPS conversion. Reported by Peter Lutz
* Fixed a bug in the -scan option where vcd was not recognized as valid option
* 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
* Removed the -a52drc option for AC3 encoding
* Merged the get_dvd_devices_func() and get_vcd_devices_func() functions into a new one called get_devices_func()

Posted by microbooster 2010-01-19

xvidenc 8.2.8 released

* 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 ile 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

Posted by microbooster 2009-12-28

xvidenc 8.2.7 released

* Implemented a simple telecine detector for NTSC DVDs. Currently it's a dumb solution which can't distinguish between hard telecine and interlacing but it's enough to detect soft telecine and mixed progressive/telecine content which is more common
* Simplified the FPS detection code
* Sed a comma at the end of resolution detection in case we're dealing with TS files. The default TS demuxer in MPlayer has a comma at the end of the resolution info which results in errorneous behavior in the bc calculation
* Simplified the resolution detection code
* Small general code improvements and cosmetics

Posted by microbooster 2009-11-17

xvidenc 8.2.6 released

* Added new function video_subtitles_align_func() for subtitle alignment control
* Simplified a bit the audio exporting code for the first track
* Force stereo audio for Nero HE-AACv2 as it doesn't support anything else, thus it results in failure if user tries to encode with more than two channels. This updates the audio_channels_func() function and also adds a small new independent one called neroaac_hev2_func() which only sets the channels to two if the channels array variables are empty, as is the case when the user did not set the channels
* Small improvements to the ABR/VBR default audio bitrates for the neroAacEnc encoder. Base the default bitrates on the chosen AAC profile, i.e. if user chooses HE-AACv1, default bitrate will be 55 kbps or in case of quality-based VBR encoding a value of 0.22. For LC-AAC and HE-AACv2, default bitrates and quality values will be 96 kbps or 0.35 and 25 kbps or 0.11, respectively. Note that this assumes the input audio is stereo so if it's anything else than that, it's up to the user to decide on bitrates or quality values
* Set default to a capital letter in questions where one needs to answer with y or n

Posted by microbooster 2009-10-24

xvidenc 8.2.5 released

* Insert the ilpack filter before the scaler to correctly align chroma when preserving interlacing
* Added AUDIO_CODEC_TRACK[1|2|3], AUDIO_LANGUAGE_TRACK[1|2|3], MKVMERGE_VERSION and XVIDENC_PARAMETERS entries to the mkvtags_func() function
* Improved checking the availability of block devices
* Add detection of VFR content (1000 fps as reported by MPlayer)

Posted by microbooster 2009-09-29

xvidenc 8.2.4 released

* Added VIDEO_FILTERS, AUDIO_FILTERS_TRACK[1|2|3], ENCODER and XVID_PARAMETERS entries to the mkvtags_func() function
* MP3 (MPEG1 Layer 3) only supports sample frequencies of 32, 44.1 and 48 kHz so restrict to those only in the audio_resample_func() function
* Set default for the pp7 deblocker to 3
* Fixed example typo in the DVD chapters code

Posted by microbooster 2009-09-19

xvidenc 8.2.3 released

* Small improvement to how the MKV XML tagging file gets exported. Also improved the XML formatting and added COMMENT string with text "Tagged by xvidenc $version" and added SOURCE entry
* Added comment tag for MP4 and OGM with the same text as above
* Small update to the video_deinterlace_func() function's menu
* Add comment header with dates to batch files
* Use only lowercase words in all case statements that deal with the input source
* Placed the -passlogfile option inside the PASSLOG variable
* Added support for 2-pass Nero AAC audio encoding. Note that 2-pass is only supported by ABR/CBR encoding and ensures that the output quality is constant (like VBR) while also ensuring that a specified output bitrate is achieved (like CBR)
* Small bugfix: the counter in set_output_filename_func() didn't increase itself
* Replaced variable $source with $type and $vtype with $source

Posted by microbooster 2009-09-16

xvidenc 8.2.2 released

* Added support for the noise video filter. This change updates the config file to version 10. Also, encoding priority now defaults to a nice value of 10 in the config file
* Moved out the code which checks and backups/renames a file if it has the same name as the output provided by the user to a separate function called backup_file_func() and also improved it so that if there's already an existing backup file, the new one will increase its count number by one thus there's no more overwriting being done anymore. The same thing applies to existing chapter files and DVD subs
* Small improvements to how chapters information is added to the output file name
* Improved detection of DVD audio language codes. We now specifically grep for the language word and then print the 2nd positional which gives us the language code. It works more reliably if the DVD does not report its language code for the audio track(s) so if this is the case, we fall back to undefined language. The previous code fails in such cases due to the printing of the 8th positional which will print the "aid:" part when there's no language code after the "language:" word, resulting in MKV/MP4 muxing failures.
* Turn soft-clipping on in the volume audio filter
* Simplified the audio_channels_func() function a bit
* Moved the MP4 code that deals with DVD subs/cover files/metadata info/chapters and external subs before its audio code
* Fixed chapters import for the OGM container. Missing '@' before the chapters input file results in the file not being imported
* Added support for audio language metadata info for the OGM container
* Added support for Year and Genre metadata tagging for the MKV/MP4/OGM containers. For MKV, the genre and year is set globally using an automatically generated XML file. MP4 uses the iTunes tagging and OGM the comment space
* Updated the man page

Posted by microbooster 2009-09-05

xvidenc 8.2.1 released

* Removed pointless for loop and if conditional in the audio_filters_var_func() function
* Simplified the audio_filters_func() function
* Added support for the audio panning filter. This change updates the config file to version 9
* Moved the audio filters functions after the audio codecs ones
* Reduced the number of if conditional iterations for setting the scaler interlace variable
* Replaced variable CONFIGDIR with TEMPDIR
* Fixed some spacings issues by moving around some echo's
* Print full path of the output file(s) at the end of encoding
* Simplified the sample encoding code. Reduced some code duplication
* Removed duplicate videofilters variable. This removes the check for the tfields filter as now deinterlacing will always be done after cropping (which also speeds up things a bit) so the crop filter will never complain about crop area being outside of the original if tfields is used. It also reduces filters maintenance a bit

Posted by microbooster 2009-08-12

xvidenc 8.2.0 released

* Add example on how to encode only specific DVD chapters
* Call the track_echo_func() function inside the select_audio_codec_func() one. Removes pointless duplication
* Don't call mplayer twice in the 2nd/3rd audio track code just to get the audio codec. Also removed a pointless case statement

Posted by microbooster 2009-08-04

xvidenc 8.1.9 released

* Minor improvments to the set_output_filename_func() function
* Added support for the new gradfun debanding video filter. Although mostly recommended for playback due to the fact that encoding tends to bring back banding, it can be useful to deband input sources which show pretty bad and very noticable banding effects before passing the content to the encoder. The gradfun filter is only available in MPlayer SVN. This also adds a new variable ALLOW_DEBAND to the config file where one can enable or disable this filter
* Added a small while loop to the video_crop_func() function which will keep asking the user for new crop values until he's satisfied with them. Patch by elektronaut from
* Added a new variable PRIORITY to the config file which can be used to set a global priority nice value for the encoding process. The values one can use are between (and including) -20 and 19. However, if the script detects that this variable has a negative nice value set and the script is being executed with regular user privileges, it will print a notice and exit. This change updates the config file to version 8
* Fixed a bug in the audio functions calling code of the iPod preset

Posted by microbooster 2009-07-24