BatchEncoder is an audio files conversion software.
Перейти к файлу
Wiesław Šoltés 8e924e69ba Updated gitattributes and gitignore 2017-11-14 18:42:50 +01:00
config Update BatchEncoder.formats 2017-10-31 07:47:45 +01:00
editor Removed unused usings 2017-11-09 18:27:11 +01:00
formats Merge pull request #72 from dragons4life/patch-4 2017-10-31 08:16:18 +01:00
lang Updated Spanish translation 2017-03-11 12:32:49 +01:00
progress Added ffdcaenc encoder progress function 2017-02-24 00:12:45 +01:00
screenshots Updated screenshots 2017-02-19 19:21:01 +01:00
scripts Added ffdcaenc DTS encoder format 2017-02-23 20:05:12 +01:00
setup Set shortcuts components to main 2017-02-19 16:11:09 +01:00
src Updated version 2017-11-01 18:31:36 +01:00
.gitattributes Updated gitattributes and gitignore 2017-11-14 18:42:50 +01:00
.gitignore Updated gitattributes and gitignore 2017-11-14 18:42:50 +01:00
BatchEncoder.sln Updated to Visual Studio 2017 2017-03-19 10:14:43 +01:00
CHANGELOG.md Updated changelog 2017-11-01 18:31:43 +01:00
LICENSE.TXT Create LICENSE.TXT 2017-01-10 09:56:19 +01:00
README.md Updated readme 2017-11-01 18:31:52 +01:00
_config.yml Set theme jekyll-theme-cayman 2017-01-16 16:04:28 +01:00
appveyor.yml Updated to Visual Studio 2017 2017-03-19 10:14:43 +01:00
build.cake Include format definitions in binaries 2017-02-19 15:54:22 +01:00
build.ps1 Added cake build script 2017-01-08 20:39:28 +01:00
build.sh Make build.sh executable 2017-01-08 20:40:04 +01:00

README.md

BatchEncoder (Audio Conversion GUI)

Gitter

Build status Github All Releases GitHub Release Github Releases

BatchEncoder is an audio files conversion software.

Support BatchEncoder

PayPal - The safer, easier way to pay online!

Download BatchEncoder

Platform Type Version Download
Windows 32-bit Installer 1.4 BatchEncoder-1.4-Win32.exe
Windows 64-bit Installer 1.4 BatchEncoder-1.4-x64.exe
Windows 32-bit Portable 1.4 BatchEncoder-1.4-Win32.zip
Windows 64-bit Portable 1.4 BatchEncoder-1.4-x64.zip

Mirrors

Softpedia Download Mirror

CI Builds

Download bleeding edge builds from the CI server.

Download LanguageEditor

Platform Type Version Download
Windows .NET4.5 (Any CPU) Portable 1.0.0 LanguageEditor-1.0.0-AnyCPU.zip
Windows .NET4.5 (32-bit) Portable 1.0.0 LanguageEditor-1.0.0-x86.zip
Windows .NET4.5 (64-bit) Portable 1.0.0 LanguageEditor-1.0.0-x64.zip

About

BatchEncoder is an audio files conversion software. It supports most of popular audio file formats including lossy and lossless compression. The program is very simple to use. BatchEncoder is basically GUI front-end for command-line tools. All it does is create background processes and pass arguments to it with options set in presets/format menu and additionally adds input and output file paths. For specific options for each format use help available for command-line tools.

Features

  • Front-end for command-line tools.
  • Supports popular audio formats.
  • File transcoding between audio formats.
  • Multi-threaded conversion.
  • Full UNICODE support.
  • Multi-language user interface.
  • Out of the box configuration for new users.
  • Advanced options for experienced users.
  • Open-source, fast and simple.

Screenshots

File list

File List

Conversion progress

File List Converting

Configure formats

Configure Formats

Configure presets

Configure Presets

Supported formats and tools

Encoders

Name Extension Version Executable In Pipe Out Pipe Progress function
SSRC WAV 1.33 ssrc.exe no no GetProgress_SsrcEnc.progress
LAME MP3 3.99.5 lame.exe yes yes GetProgress_LameEnc.progress
MPCENC MPC 1.30.0 mpcenc.exe yes no GetProgress_MpcEnc.progress
FAAC AAC 1.28-mod faac.exe yes no GetProgress_FaacEnc.progress
QAAC AAC 2.62 qaac.exe yes no GetProgress_QaacEnc.progress
QAAC M4A 2.62 qaac.exe yes no GetProgress_QaacEnc.progress
NEROAACENC M4A 1.5.4 neroAacEnc.exe yes no - none -
NEROAACENC MP4 1.5.4 neroAacEnc.exe yes no - none -
OPUSENC OPUS 1.2-alpha opusenc.exe yes no GetProgress_OpusEnc.progress
OGGENC OGG 2.88 oggenc2.exe yes no GetProgress_OggEnc.progress
AFTEN AC3 git-2009122 aften.exe yes no GetProgress_AftenEnc.progress
FFMPEG AC3 3.2.2 ffmpeg.exe yes yes - none -
FLAC FLAC 1.3.2 flac.exe yes no GetProgress_FlacEnc.progress
WAVPACK WV 5.0.0 wavpack.exe no no GetProgress_WavPackEnc.progress
LA LA 0.4b la.exe yes no GetProgress_LaEnc.progress
MAC APE 4.18 mac.exe no no GetProgress_MacEnc.progress
OFR OFR 5.100 ofr.exe yes no GetProgress_OfrEnc.progress
TTA TTA 2.3 tta.exe yes no GetProgress_TtaEnc.progress
TAKC TAK 2.3.0 takc.exe yes no - none -
FFDCAENC DTS 2.1.3 ffdcaenc.exe yes yes GetProgress_FFdcaEnc.progress

Decoders

Name Extension Version Executable In Pipe Out Pipe Progress function
LAME MP1 3.99.5 lame.exe yes yes GetProgress_LameDec.progress
LAME MP2 3.99.5 lame.exe yes yes GetProgress_LameDec.progress
LAME MP3 3.99.5 lame.exe yes yes GetProgress_LameDec.progress
MPCDEC MPC 1.0 mpcdec.exe no no GetProgress_MpcDec.progress
MPCDEC MPP 1.0 mpcdec.exe no no GetProgress_MpcDec.progress
MPCDEC MP+ 1.0 mpcdec.exe no no GetProgress_MpcDec.progress
FAAD AAC faad2-20100614 faad.exe no yes GetProgress_FaadDec.progress
QAAC AAC 2.62 qaac.exe no no GetProgress_QaacDec.progress
QAAC M4A 2.62 qaac.exe no no GetProgress_QaacDec.progress
NEROAACDEC MP4 1.5.1 neroAacDec.exe no yes - none -
NEROAACDEC M4A 1.5.1 neroAacDec.exe no yes - none -
OPUSDEC OPUS 1.2-alpha opusdec.exe yes no GetProgress_OpusDec.progress
OGGDEC OGG 1.10.1 oggdec.exe no no GetProgress_OggDec.progress
FLAC FLAC 1.3.2 flac.exe yes no GetProgress_FlacDec.progress
WVUNPACK WV 5.0.0 wvunpack.exe no no GetProgress_WvUnpackDec.progress
LA LA 0.4b la.exe yes no GetProgress_LaDec.progress
MAC APE 4.18 mac.exe no no GetProgress_MacDec.progress
MAC MAC 4.18 mac.exe no no GetProgress_MacDec.progress
OFR OFR 5.100 ofr.exe yes no GetProgress_OfrDec.progress
TTA TTA 2.3 tta.exe no yes GetProgress_TtaDec.progress
TAKC TAK 2.3.0 takc.exe no yes - none -
FFMPEG AC3 3.2.2 ffmpeg.exe yes yes - none -
FFMPEG EAC3 3.2.2 ffmpeg.exe yes yes - none -
FFMPEG DTS 3.2.2 ffmpeg.exe yes yes - none -
FFMPEG DTSHD 3.2.2 ffmpeg.exe yes yes - none -
FFMPEG TRUEHD 3.2.2 ffmpeg.exe yes yes - none -

Tool downloads

For more information about tools please see the wiki page.

There is also available PowerShell download script for all supported tools.

Open up a Powershell prompt and execute the download script:

PS> .\download.ps1 -Path "Tools"

The -Path parameter is optional and if not provided the script will download to the current directory.

If you having problems running the PowerShell download.ps1 script see this instructions.

Name Downloads
SSRC http://shibatch.sourceforge.net/
LAME http://rarewares.org/mp3-lame-bundle.php
MPPENC https://musepack.net/index.php?pg=win
MPCDEC https://musepack.net/index.php?pg=win
FAAC http://rarewares.org/aac-encoders.php
FAAD http://rarewares.org/aac-decoders.php
OPUSENC https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/
OPUSDEC https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/
OGGENC http://rarewares.org/ogg-oggenc.php
OGGDEC http://rarewares.org/ogg-oggdec.php
AFTEN https://github.com/wieslawsoltes/wavtoac3encoder/releases
FLAC https://xiph.org/flac/download.html
WAVPACK http://www.wavpack.com/downloads.html
WVUNPACK http://www.wavpack.com/downloads.html
QAAC https://sites.google.com/site/qaacpage/cabinet
LA http://www.lossless-audio.com/download.htm
MAC http://www.monkeysaudio.com/download.html
OFR http://losslessaudio.org/Downloads.php
TTA https://sourceforge.net/projects/tta/files/tta/ttaenc-win/
TAKC http://www.thbeck.de/Tak/Tak.html
NEROAACENC http://www.videohelp.com/software/Nero-AAC-Codec
NEROAACDEC http://www.videohelp.com/software/Nero-AAC-Codec
FFMPEG https://ffmpeg.zeranoe.com/builds/
FFDCAENC https://github.com/filler56789/ffdcaenc-2

System requirements

Minimum supported Windows version is Windows 7 SP1 or above, recommended is Windows 10 Anniversary Update.

Provided binaries should work under Windows XP Service Pack 3 (SP3) for x86, Windows XP Service Pack 2 (SP2) for x64.

Minimum supported Linux version is Ubutnu 16.10 (using Wine 2.0).

Command-line tools may have different hardware and software requirements. All tools have been tested under Windows 10 Anniversary Update.

Configuration files

  • Program configuration files are used to store settings.
  • System registry is not used to store any program settings so program can be used as portable without installation.
  • Configuration is stored as XML text files with UTF-8 encoding.

Files extensions:

  • .xml - Any configuration file
  • .options - Program options
  • .formats - Encoder and decoder formats
  • .presets - Predefined format presets
  • .items - Input file items
  • .progress - Progress function Lua scripts
  • .language - Language translation strings

Use only UTF-8 compatible text editors (e.g. Notepad) to edit xml configuration files.

Default configuration files

The default configuration files can be found here.

Output path format

Possible output path configurations:

  • "" -> empty string is same as $SourceDirectory$
  • $SourceDirectory$ -> same as SourceDirectory\$Name$.$Ext$
  • $SourceDirectory$\$Name$.$Ext$
  • $SourceDirectory$\$Name$_converted.$Ext$
  • $SourceDirectory$\Converted\$Name$.$Ext$
  • C:\Output -> same as C:\Output\Path\$Name$.$Ext$
  • C:\Output\$Name$.$Ext$
  • C:\Output\$Name$_converted.$Ext$

Variables:

  • $SourceDirectory$ - input file path.
  • $Name$ - input item name.
  • $Ext$ - output format extension.

You can add also custom text inside output path.

Valid output path configurations:

  • If output path is empty only input file directory is used (name and extension are added automatically).
  • If $SourceDirectory$, $Name$ and $Ext$ variables are missing full output path must be provided by user (ignore input file path and variables)
  • If $SourceDirectory$, $Name$ and $Ext$ variables are present input source file path is used with item Name and output format extension.
  • If $SourceDirectory$ is missing and $Name$ and $Ext$ variables are present item Name and output format extension are used (full output path must be provided by user, if not program writes output files to the BatchEncoder directory).
  • If only $SourceDirectory$ variable is present input source file path is used (name and extension are added automatically)

Translations

Use only UTF-8 compatible text editors (e.g. Notepad or Visual Studio Code) to edit xml language files and use special characters in XML.

Language files have to be placed in the same directory as the BatchEncoder.exe executable to be loaded automatically.

Language files can also be edited in dedicated LanguageEditor program. LanguageEditor requires .NET Framework 4.5 and Windows 7 SP1 or above.

Default language files

The default language files can be found here.

Format specification

Template format

Variable Description
$EXE Executable path replaced with format path attribute.
$OPTIONS Executable command-line options replaced with preset options attribute.
$INFILE Input file path (if pipes are supported - is automatically used).
$OUTFILE Output file path (if pipes are supported - is automatically used).

The output file name is generated from the combination of output path, item name attribute and output format extension attribute.

Default template format order is $EXE $OPTIONS $INFILE $OUTFILE.

You can also add custom options (additional command-line parameters) and text inside the template string.

Type, input and output extensions

BatchEncoder does support file trans-coding. To enable this you have to configure proper Decoder formats.

BatchEncoder will chech input file extensions and if Encoder format Input extensions (multiple extension are supported, separated by comma , e.g.: WAV,WV,CAF,W64,DFF,DSF, but only one Output extension e.g. WV) does not match the input file extension than BatchEncoder will search for Decoder that does support this input file extension.

Pipes configuration

Pipes configuration provides information to BatchEncoder whether the command-line tool has support to read/write data from/to stdin/stdout pipes.

  • The input pipe means that encoder/decoder can directly read dat from stdin and does not need input file name.
  • The output pipe means that encoder/decoder can directly write data to stdout and does not need output file name.
  • When encoder/decoder supports input pipe BatchEncoder reads file data and streams this data into encoder/decoder input pipe (stdin).
  • When encoder/decoder supports output pipe BatchEncoder writes data to a file using encoder/decoder output pipe stream (stdout).
  • Usually you can specify pipe support in command-line options by using "-" instead of input/output file name.

The input pipes support allows BatchEncoder to get current progress status by counting read bytes, instead of relying on console text output (this is done by reading encoder/decoder stderr pipe output).

To get console output BatchEncoder is parsing text read from stderr pipe and uses provided GetProgress function for specific tool. There are cases when stderr output is delayed by tool (stderr pipe buffer is not flushed) and resulting in progress status can be delay.

Also when you want to do more complicated operations like transscoding you can for example connect pipes between one encoder output (stdout) and others decoder input (stdin). This case is not yet support by BatchEncoder.

The best case scenario is when encoder/decoder tool does support both input and output pipes, this gives BatchEncoder more control over encoding/decoding and trans-coding processes, also in case of trans-coding you do not need temporary files as data can be streamed between tools directly without temporary storage and in result you can get much better performance.

Unfortunately not all command-line tools provide support for pipes, some only support stdin pipes (mainly encoders) and some support only stdout pipes (mainly decoders). In this cases BatchEncoder depending on pipes input/output and progress function configuration selects best possible option to do conversion process.

Sometimes you will not get nice progress during conversion, nonetheless you will successfully convert files.

Progress function format

Progress function are simple Lua scripts with defined GetProgress function. The progress file extension is used instead of lua.

The progress function signature:

function GetProgress(s)

Most of the Lua progress scripts are using string manipulation with patterns.

For a quick start use one of the existing progress scripts.

Default progress functions

The default progress functions sources can be found here.

BatchEncoder Sources

Sources are available in the git source code repository.

Building BatchEncoder

To build program from sources you will need the following components:

Microsoft Visual Studio 2017

For building BatchEncoder.sln solution use Visual Studio 2017.

Windows 7 SDK

For Windows XP compatibility program is compiled using Platform Toolset for Visual Studio 2017 - Windows XP (v141_xp).

For more details please read Configuring Programs for Windows XP.

TinyXml-2 Library

Required TinyXml-2 v5.0.1 sources are included in src\xml directory.

Lua Library

Required Lua v5.3.4 sources are included in src\lua\lua directory.

License

BatchEncoder (Audio Conversion GUI) is licensed under the MIT license.