video_transcoding 0.21.1 → 0.21.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -0
- data/bin/transcode-video +23 -18
- data/lib/video_transcoding/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 89811ccde1116e1e2eb8005841225587b2e9ce21dd2407d8164b081ed4da7694
|
4
|
+
data.tar.gz: 652fde3679a6176b5cb587c76a44a095bda1721de984d5f1adaff9f5f6c5685f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33621c9e885597c9dd0dcfe6662e17fd6e5700a3c5069c3700e4a67b5f473a0d76fec00308fe30790126e5789c98796d8b213174d6ea2af63a3a1be163c0197d
|
7
|
+
data.tar.gz: 2033fb19aeaf1f169dbd841f4a80497b23bdaaac751d8e54b75fdb2082ad87e3d7b4112ab66ce3e2ebc7a8368b4e2abdd77e4c1b0b6483d9e4a060983b338bbc
|
data/README.md
CHANGED
@@ -689,6 +689,19 @@ For a few problematic videos, I have to apply options like `--force-rate 23.976
|
|
689
689
|
|
690
690
|
## History
|
691
691
|
|
692
|
+
### [0.21.2](https://github.com/donmelton/video_transcoding/releases/tag/0.21.2)
|
693
|
+
|
694
|
+
Sunday, December 4, 2018
|
695
|
+
|
696
|
+
* Modify `transcode-video` to pass the target video bitrate to hardware-based encoders available in HandBrake for Windows and Linux as well as HandBrake nightly builds for macOS:
|
697
|
+
* Check the output of `HandBrakeCLI --help` from one of those builds to find out if your platform has any of these video encoders available.
|
698
|
+
* The names of these encoders all end with "`_h264`" (for H.264) or "`_h265`" (for HEVC).
|
699
|
+
* On macOS, adding `--handbrake-option encoder=vt_h264` is all that's needed to enable hardware-based H.264 transcoding. Use `vt_h264` for HEVC.
|
700
|
+
* On Windows and Linux, use `qsv_h264` or `qsv_h265`. Other encoders might be available as well in nightly builds.
|
701
|
+
* WARNING: If you request an encoder that is _not_ available, `HandBrakeCLI` may fail or it may just fallback to a software-based encoder. Check your console output while transcoding to be certain.
|
702
|
+
* With the encoders I've tested so far, `--preset` and `--encoder-option` have no effect no matter what you pass.
|
703
|
+
* These hardware-based encoders are far faster than the software-based `x264` and `x265` encoders while still delivering _reasonable_ quality. Of course, your mileage (and perception) may vary.
|
704
|
+
|
692
705
|
### [0.21.1](https://github.com/donmelton/video_transcoding/releases/tag/0.21.1)
|
693
706
|
|
694
707
|
Sunday, December 2, 2018
|
data/bin/transcode-video
CHANGED
@@ -899,20 +899,6 @@ HERE
|
|
899
899
|
end
|
900
900
|
end
|
901
901
|
|
902
|
-
encoder = @handbrake_options.fetch('encoder', 'x264')
|
903
|
-
return unless encoder =~ /^x264(?:_10bit)?$/ or encoder =~ /^x265(?:_1[02]bit)?$/
|
904
|
-
|
905
|
-
case encoder
|
906
|
-
when 'x264'
|
907
|
-
handbrake_options['encoder-profile'] = 'high'
|
908
|
-
when 'x264_10bit'
|
909
|
-
handbrake_options['encoder-profile'] = 'high10'
|
910
|
-
when 'x265'
|
911
|
-
handbrake_options['encoder-profile'] = 'main'
|
912
|
-
when 'x265_10bit', 'x265_12bit'
|
913
|
-
handbrake_options['encoder-profile'] = 'main10'
|
914
|
-
end
|
915
|
-
|
916
902
|
if width > 1920 or height > 1080
|
917
903
|
encoder_level = '5.1'
|
918
904
|
bitrate = @target_bitrate_2160p
|
@@ -927,10 +913,6 @@ HERE
|
|
927
913
|
bitrate = @target_bitrate_480p
|
928
914
|
end
|
929
915
|
|
930
|
-
if encoder =~ /^x264(?:_10bit)?$/ and @handbrake_options.fetch('rate', '30').to_f <= 30.0
|
931
|
-
handbrake_options['encoder-level'] = encoder_level
|
932
|
-
end
|
933
|
-
|
934
916
|
if @target_bitrate.nil?
|
935
917
|
unless media.info[:directory]
|
936
918
|
media_bitrate = ((((media.info[:size] * 8) / media.info[:duration]) / 1000) / 1000) * 1000
|
@@ -949,6 +931,29 @@ HERE
|
|
949
931
|
bitrate = @target_bitrate
|
950
932
|
end
|
951
933
|
|
934
|
+
encoder = @handbrake_options.fetch('encoder', 'x264')
|
935
|
+
|
936
|
+
if encoder =~ /_h26[45]$/
|
937
|
+
handbrake_options['vb'] = bitrate.to_s
|
938
|
+
end
|
939
|
+
|
940
|
+
return unless encoder =~ /^x264(?:_10bit)?$/ or encoder =~ /^x265(?:_1[02]bit)?$/
|
941
|
+
|
942
|
+
case encoder
|
943
|
+
when 'x264'
|
944
|
+
handbrake_options['encoder-profile'] = 'high'
|
945
|
+
when 'x264_10bit'
|
946
|
+
handbrake_options['encoder-profile'] = 'high10'
|
947
|
+
when 'x265'
|
948
|
+
handbrake_options['encoder-profile'] = 'main'
|
949
|
+
when 'x265_10bit', 'x265_12bit'
|
950
|
+
handbrake_options['encoder-profile'] = 'main10'
|
951
|
+
end
|
952
|
+
|
953
|
+
if encoder =~ /^x264(?:_10bit)?$/ and @handbrake_options.fetch('rate', '30').to_f <= 30.0
|
954
|
+
handbrake_options['encoder-level'] = encoder_level
|
955
|
+
end
|
956
|
+
|
952
957
|
if @use_abr
|
953
958
|
handbrake_options['vb'] = bitrate.to_s
|
954
959
|
encoder_options['vbv-maxrate'] = ((bitrate * 1.5).to_i).to_s
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: video_transcoding
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.21.
|
4
|
+
version: 0.21.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Don Melton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |2
|
14
14
|
Video Transcoding is a package of tools to transcode, inspect
|