All notable changes to this project will be documented in this file.
v2.0.0 - 2019-10-27
- Disable crop detection with
--nocrop
option (Refs #15, Refs #5)- Skip crop detection entirely (i.e., do not run
detect-crop
) and do not pass a--crop
value totranscode-video
.
- Skip crop detection entirely (i.e., do not run
- BREAKING CHANGE: the
--force
option has been renamed to--crop
to be consistent with new--nocrop
option
- Be forgiving when checking transcoding result (Refs #17, Refs #14, Refs #10)
- Do not treat it as an error if we cannot get bitrate from finished transcoding job.
- Only look for the text
Encoding done!
in the output to confirm success.
- Do not delete dest files from previous runs (Refs #17, Refs #11)
- The issue here was that a "file already exists" error led to the destination file being deleted (when not using the
--diff
flag), so files from previous runs were marked as errored and then removed.
- The issue here was that a "file already exists" error led to the destination file being deleted (when not using the
- Reset font color changes after running
batch-transcode-video --help
v1.3.0 - 2019-02-20
- Added
--keep
flag to prevent files from being deleted from the output directory. The--keep
(alias:-k
) causesbatch-transcode-video
to never delete any output files, no matter what happens, even if the encoding task fails for the corresponding input file. If you use this option, input files that fail to encode correctly, or finish encoding, will not be deleted from the output folder. Subsequent runs, with or without using the--diff
option, will not reprocess the failed input files, unless the corresponding output files are manually deleted.
v1.2.0 - 2017-12-02
- Added message about installing the video_transcoding gem if a
TranscodeError
containsENOENT
in the error message.
- Do not commit generated files to source control (
bin/
,lib/
). If installing this from the GitHub repo, runnpm run build
to build. - Upgrade
package.json
dependencies. - Include original error message in error output for a
TranscodeError
.
v1.1.0 - 2016-01-19
--force
now accepts the following argument values:- a crop value to use for all videos, such as
"0:0:0:0"
- any other value for when to use the least extreme crop, e.g.:
1
- a crop value to use for all videos, such as
- Added
--version
and-v
flags to CLI.
- Drop child_process spawn for cross-spawn-async. This change should get things working consistently on Windows. Before, batch operations would fail unexpectedly and have to be restarted several times to fully complete.
- Do not install
video_transcoding
gem by default. Do not force install of gem every time module is installed. - Delete output files that cannot be confirmed. If an output file does not complete and generate a valid log file that can be verified then delete the partial or errored file.
v1.0.5 - 2015-11-25
- Summary calculations after
SIGINT
(ctrl
+c
) signal were incorrect. BatchTranscodeVideo
reportedisRunning
astrue
after aSIGINT
.
v1.0.4 - 2015-11-09
- Do not show counts of 0 in
fileStatusLine()
. - Do not show bitrate in summary output unless write was successful.
v1.0.3 - 2015-11-09
- New metrics added to CLI mode summary output:
- Show average bitrate for successful writes.
- Show total and average running time.
- Show speed in MB/s.
- New
--force
flag. If crop detection returns conflicting crop values then just use the least extreme crop value and continue transcoding.
v1.0.2 - 2015-11-08
- Fixed
query-handbrake-log
file path bug in Windows. - Fixed empty summary bar display bug that caused no summary bar to appear when there were no video files found for the arguments given.
v1.0.1 - 2015-11-08
- Take an educated guess at the current percentage and remaining time before there is any data from the child process that can be used to estimate progress.
- Generate an error when the
detect-crop
returns multiple crop values for a video.
- Fixed false positive errors in OS X environment.
v1.0.0 - 2015-11-08
- Added back
--quiet
and--debug
flags to new ES2015 version of CLI.--debug
mode disables progress indicator and then streams child process to masterstdout
.--quiet
mode now prevents any logging to stdout and will only exit0
on success or1
on error
- Lots of cleanup for Progress class.
- Get
VideoFile
class working with Windows again. - Fixed broken help flag in CLI mode.
- Move Windows-specific functions to
util.js
. - Fixed false positive errors in Windows environment.
- Fixed glob error message details.
v1.0.0-beta - 2015-11-07
- You can now use the module:
- From the CLI as
batch-transcode-video
(default global option). - Require the ES5 compatible
dist/
files (default local option). - Require the raw ES2015 files from the root folder
index.js
orindex-cli.js
for the command line version.
- From the CLI as
- Fancy new CLI:
- Added progress bars to output.
- Added summary that is displayed on exiting the process.
- Add colored summary bar to summary output.
- Estimate remaining time and current percent completion for each file and the entire batch operation even when no data is available from the child process.
- Entire repo rewritten to use ES2015
- Added
grunt
andgrunt watch
tasks to build ES2015 source
- Do not increment time unless running.
- Save stop time when main class errors out.
- Fix percent and time calculations.
v0.3.1 - 2015-10-27
- Entire
stdout
buffer was being saved to memory for each child process which was a large amount of data for each transcoding operation. Now only the most recent chunk of lines from a child processstdout
is saved in memory.
v0.3.0 - 2015-10-26
- Now functions correctly in Windows. Tested in Windows 10 x64.
- Support for
--input
and--output
options containing Windows paths that have spaces.> batch-transcode-video --input my` videos --output other` folder\temp
- Generate an error for unknown options.
> batch-transcode-video --hat --debug ERROR Unrecognized command --hat provided. If you would like to supply custom options to transcode-video then put them at end of the command after a double dash "--". For example to pass the "--dry-run" command to transcode-video: batch-transcode-video --input my_videos/ -- --dry-run
- Added
--help
option to view the manual in the terminal.
- Capture child process error events. Previously unhandled errors (e.g.
ENOENT
) when spawning child processes. - Support absolute source paths for
--input
and--output
options.
v0.2.1 - 2015-10-25
- Unable to
npm install -g batch-transcode-video
due to missingpromise
dependency inpackage.json
.
v0.2.0 - 2015-10-25
- Unable to
npm install -g batch-transcode-video
due to missing files error.
--diff
flag Enable this option if you only want to transcode source files that do not exist already in theoutput
folder.- If a destination file already exists in the
output
directory:- And
diff
is enabled, a message will be generated letting you know that the file was skipped (unlessquiet
is enabled). - And
diff
is not enabled, an error will be generated letting you know that the file already exists.
- And
- If you want to transcode a batch of videos in-place (i.e.: without specifying an
output
directory) then you should enabled this option to prevent errors from being generated when the source and destination file names have the same extension.- For example: trying to transcode a
.mkv
video into a.mkv
video without supplying an externaloutput
directory will generate an error unless you specify thediff
flag.
- For example: trying to transcode a
- If a destination file already exists in the
--flatten
flag Do not preserve relative directory structure in output directory. If this is enabled, the base output folder will contain all transcoded videos. Note: this option has no effect unless you specify anoutput
directory.--quiet
flag Log only file writes, errors, and finish (e.g.: success, failure) messages.