All Projects → FallingSnow → H265ize

FallingSnow / H265ize

Licence: mit
A node utility utilizing ffmpeg to encode videos with the hevc codec.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to H265ize

Yuview
The Free and Open Source Cross Platform YUV Viewer with an advanced analytics toolset
Stars: ✭ 665 (+50.11%)
Mutual labels:  ffmpeg, h265
Digital video introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Stars: ✭ 12,184 (+2650.34%)
Mutual labels:  ffmpeg, h265
Abr Broadcaster
A real time encoder for Adaptive Bitrate Broadcast
Stars: ✭ 80 (-81.94%)
Mutual labels:  ffmpeg, encoder
Ffmpegcommand
FFmpegCommand适用于Android的FFmpeg命令库,实现了对音视频相关的处理,能够快速的处理音视频,大概功能包括:音视频剪切,音视频转码,音视频解码原始数据,音视频编码,视频转图片或gif,视频添加水印,多画面拼接,音频混音,视频亮度和对比度,音频淡入和淡出效果等
Stars: ✭ 394 (-11.06%)
Mutual labels:  ffmpeg, encoder
Ffmpeg Build Script
The FFmpeg build script provides an easy way to build a static FFmpeg on OSX and Linux with non-free codecs included.
Stars: ✭ 290 (-34.54%)
Mutual labels:  ffmpeg, h265
Jave2
The JAVE (Java Audio Video Encoder) library is Java wrapper on the ffmpeg project
Stars: ✭ 570 (+28.67%)
Mutual labels:  ffmpeg, encoder
Patch
Something could be public patches
Stars: ✭ 120 (-72.91%)
Mutual labels:  ffmpeg, h265
Axiom
An FFmpeg GUI for Windows
Stars: ✭ 560 (+26.41%)
Mutual labels:  ffmpeg, encoder
smart rtmpd
RTMP server, smart, compact, high performance(c, c++), high concurrency, easy to maintain, easy to deploy, (supports multiple operating systems Windows and Linux, ARM, FreeBSD)
Stars: ✭ 159 (-64.11%)
Mutual labels:  ffmpeg, h265
Transcoder
Docker container to transcode videos in mounted volume to H265 using FFMPEG
Stars: ✭ 13 (-97.07%)
Mutual labels:  encoder, h265
Ks265codec
ks cloud hevc(h265) encoder decoder test and description
Stars: ✭ 192 (-56.66%)
Mutual labels:  encoder, h265
Av1an
Cross-platform command-line AV1 / VP9 / HEVC / H264 / VVC encoding framework with per scene quality encoding
Stars: ✭ 322 (-27.31%)
Mutual labels:  ffmpeg, encoder
Screen Recorder Ffmpeg Cpp
*Multimedia project* A screen recording application to capture your desktop and store in a video format. Click here to watch the demo
Stars: ✭ 98 (-77.88%)
Mutual labels:  ffmpeg, encoder
Ffmediatoolkit
FFMediaToolkit is a cross-platform video decoder/encoder library for .NET that uses FFmpeg native libraries. It supports video frames extraction, reading stream metadata and creating videos from bitmaps in any format supported by FFmpeg.
Stars: ✭ 156 (-64.79%)
Mutual labels:  ffmpeg, encoder
Androidffmpeg
android 读取摄像头和麦克风,使用rtmp推流
Stars: ✭ 298 (-32.73%)
Mutual labels:  ffmpeg, encoder
Voukoder
Provides an easy way to include the FFmpeg encoders in other windows applications.
Stars: ✭ 436 (-1.58%)
Mutual labels:  ffmpeg, h265
Go Libav
Go language bindings for ffmpeg libraries
Stars: ✭ 424 (-4.29%)
Mutual labels:  ffmpeg
Mkvserver mk2
The streaming solution to end all streaming problems
Stars: ✭ 395 (-10.84%)
Mutual labels:  ffmpeg
Mystiq
Qt5/C++ FFmpeg Media Converter
Stars: ✭ 393 (-11.29%)
Mutual labels:  ffmpeg
Framework
Machine learning, computer vision, statistics and general scientific computing for .NET
Stars: ✭ 4,177 (+842.89%)
Mutual labels:  ffmpeg

h265ize

h265ize is a fire and forget weapon. A nodejs utility utilizing ffmpeg to encode large quantities of videos with the hevc codec. For more information visit ayrton.sparling.us.

NPM License NPM Version

NPM Version

If you have any questions or h265ize isn't working for you, feel free to open an issue.

h265ize will support AV1 once encoder support becomes stable & plex supports decoding it.

Features

  • Works on Windows, OSX, and Linux
  • Batch file processing (can process a whole folder)
  • Automatically detects video files (only processes video files found within a folder)
  • Detects all audio tracks
  • Preserves audio codecs
  • Preserves audio track titles
  • Detects and preserves all subtitles
  • Detects audio language, if audio language is not your native language and native language subtitles are provided, makes those subtitles default
  • Automatically upconvert vobsub/dvdsubs to srt subtitles on mkv files
  • Detects bit depth and uses appropriate encoder profile (10-bit is common in high quality anime, supports 8-bit, 10-bit, 12-bit)
  • Verbose and preview mode
  • File overwrite detection (doesn't accidentally write over a file that already exists, other than in preview mode)
  • Detects if file is already encoded in x265 and skips it
  • Ability to make encoding previews
  • Take screenshots of a finished encode
  • Faulty encoding detection based on before and after video durations
  • Maintains file structure in output folder (So in theory you could just take your 3tb movie folder and throw it into the script and the output folder should look that same but with x265 videos)

Dependencies

  • Node.js - Required in order to run h265ize.
  • ffmpeg - Does the video conversion among other things.

Option Dependencies

Installation

To install h265ize run one of the following command lines to download and install.

Stable

npm install h265ize --global

Bleeding Edge

npm install FallingSnow/h265ize --global
h265ize --version

Updating

Simply run npm install h265ize --global again.

Uninstalling

npm uninstall h265ize --global

Usage

./h265ize [--help] [-d <string>] [-q <0-51>] [-m <string>] [-n <string>] [-f <string>{3}] [-g <string>] [-l <integer>] [-o] [-p] [-v] [--bitdepth (8|10|12)] [--accurate-timestamps] [--as-preset <preset>] [--disable-upconvert] [--debug] [--video-bitrate <integer>] [--he-audio] [--force-he-audio] [--downmix-he-audio] [--screenshots] [--delete] <file|directory>

Options

-d :Destination folder

-f :Container format to output; Options: mkv, mp4, m4v; default: mkv.

-l :Milliseconds to be encoded in preview mode; default: 30000

-m :x265 encoder preset; Options: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo; default: fast

-n :The native language used to select default audio and subtitles. You may use 3 letter or 2 letter ISO 639-2 Alpha-3/Alpha-2 codes or the full language name. Examples: [eng|en|English|jpn|ja|Japanese]

-o :Override mode; Allows conversion of videos that are already encoded by the hevc codec

-p :Preview mode; Only process a 30 second preview

-q :Sets the qp quality target; default: 19

-v :Verbose mode; Display extra output

-x :Extra x265 options. Options can be found on the x265 options page

--bitdepth :Forces the output bitdepth (bitdepths 8, 10, and 12 are supported)

--accurate-timestamps :Accurate Timestamps (substantially increases file size but sometimes fixes timestamps)

--as-preset :My personal presets; Possible values are listed below; I'll be adding more as time goes on

--debug :Debug mode; Print extra debugging information

--delete :Deletes source after encoding is complete and replaces it with new encode; STRONGLY NOT RECOMMENDED

--disable-upconvert :Disable Upconvert; Stop converting Vobsub subs to srt; Only works with mkv's

--force-he-audio :Force High Efficiency audio encoding even on lossless audio tracks

--he-audio :High Efficiency audio mode

--downmix-he-audio :If there are more than 2.1 audio channels, downmix them to stereo.

--normalize-level :Define a level of normalization to be applied. See Issue 56 for more info.

--screenshots :Take 6 screenshots at regular intervals throughout the finished encode

--stats: Creates a stats file in the current working directory named h265ize.csv

--watch: Watches a folder for new files and process the videos

--video-bitrate :Sets the video bitrate, set to 0 to use qp instead of a target bitrate

--test: Test mode; Runs as normal, but do not encode any files

--help :Help; Shows help page

--version: Show version information

Run h265ize --help for more info.

Aspresets

Preset Description
anime-high A very good preset for all types of anime. Produces very good quality for a very small size.
anime-medium Same as anime-high but uses debanding to produce better color gradients.
testing-ssim x265's native preset just in SSIM mode.

Examples

  • h265ize -v big_buck_bunny_1080p_h264.mov
  • h265ize -v -d /home -q 25 big_buck_bunny_folder
  • h265ize -d /home -q 25 --watch videos/folder

Stats file

The stats file is located at the current working directory under the name h265ize.csv. This must be enabled using the --stats flag. The file is composed of several lines. Each line is in the format

[Finish Encoding Date],[File Path],[Original Size],[Encoded size],[Compression Precent],[Encoding Duration]

For example:

08/13 02:46:03 PM, videos/[deanzel] Noir - 08 [BD 1080p Hi10p Dual Audio FLAC][a436a4e8].mkv, 1964MB, 504MB, 25.66%, 2:51:16

Creating 10bit & 12bit encodes

To create 10 or 12bit encodes, simply pass the --bitdepth 10 or --bitdepth 12 parameters. Make sure you have the correct libraries or ffmpeg static build.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].