other_video_transcoding 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +37 -0
- data/LICENSE +1 -1
- data/bin/ask-ffmpeg-log +3 -3
- data/bin/other-transcode +54 -19
- data/other_video_transcoding-0.6.0.gem +0 -0
- data/other_video_transcoding.gemspec +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4273472e881f7379241d7ea8f6a3576b861f92c02155ad3c786fbee68cf1a376
|
4
|
+
data.tar.gz: 38e2083ce586a71c114948efccb2877a817012ea0fdfdda1f0fce371070e80ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3d2b8f89b14154307b7a89c2f0ecb6368b33f9f9011363b749dac85645fd309f2cf32a8f2b3355736a29f1e74814c47aca2ea81ff70fa2e0d0e1ea0221c3c5d
|
7
|
+
data.tar.gz: 1b593c97ca2097033d068a44a5f924b413f5ead1858592efb05db115631b106500edf887ff032629b9dde6e6d307d652ddcee11af7c020046199c72602f2300f
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,43 @@
|
|
2
2
|
|
3
3
|
This single document contains all of the notes created for each [release](https://github.com/donmelton/other_video_transcoding/releases).
|
4
4
|
|
5
|
+
## [0.7.0](https://github.com/donmelton/other_video_transcoding/releases/tag/0.7.0)
|
6
|
+
|
7
|
+
Monday, January 4, 2021
|
8
|
+
|
9
|
+
* Modify `other-transcode` to lower default target bitrates in order to significantly reduce the size of transcoded output at the risk of a slight reduction in perceived quality. Via [ #89](https://github.com/donmelton/other_video_transcoding/issues/89).
|
10
|
+
|
11
|
+
H.264 video:
|
12
|
+
|
13
|
+
Resolution | old | new
|
14
|
+
--- | --- | ---
|
15
|
+
1080p (Blu-ray video) | 8000 Kbps | 6000 Kbps
|
16
|
+
720p | 4000 Kbps | 3000 Kbps
|
17
|
+
480p (DVD video) | 2000 Kbps | 1500 Kbps
|
18
|
+
|
19
|
+
HEVC video:
|
20
|
+
|
21
|
+
Resolution | old | new
|
22
|
+
--- | --- | ---
|
23
|
+
1080p (Blu-ray video) | 6000 Kbps | 4000 Kbps
|
24
|
+
720p | 3000 Kbps | 2000 Kbps
|
25
|
+
480p (DVD video) | 1500 Kbps | 1000 Kbps
|
26
|
+
|
27
|
+
Dolby Digital Plus (Enhanced AC-3) audio:
|
28
|
+
|
29
|
+
Channels | old | new
|
30
|
+
--- | --- | ---
|
31
|
+
Surround | 640 Kbps | 384 Kbps
|
32
|
+
Stereo | 256 Kbps | 192 Kbps
|
33
|
+
Mono | 128 Kbps | 96 Kbps
|
34
|
+
|
35
|
+
Note: There are no changes to default target bitrates for Dolby Digital (AC-3) and AAC audio formats.
|
36
|
+
|
37
|
+
* Change the `--eac3` option in `other-transcode` to use Dolby Digital Plus format for _all_ transcoded audio instead of just surround output.
|
38
|
+
* Deprecate the `--all-eac3` option in `other-transcode` since the `--eac3` option now has the same behavior.
|
39
|
+
* Add a `--aac-stereo` option to `other-transcode`. This uses AAC format for transcoded stereo audio output so it can be paired with `--eac3` to get that option's old behavior.
|
40
|
+
* Add a `--8-bit-vc1` option. When the color depth is currently 10-bit, this option uses an 8-bit color depth _for video inputs in VC-1 format only_.
|
41
|
+
|
5
42
|
## [0.6.0](https://github.com/donmelton/other_video_transcoding/releases/tag/0.6.0)
|
6
43
|
|
7
44
|
Tuesday, December 22, 2020
|
data/LICENSE
CHANGED
data/bin/ask-ffmpeg-log
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# ask-ffmpeg-log
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2021 Don Melton
|
6
6
|
#
|
7
7
|
|
8
8
|
require 'abbrev'
|
@@ -16,8 +16,8 @@ module Transcoding
|
|
16
16
|
class Command
|
17
17
|
def about
|
18
18
|
<<-HERE
|
19
|
-
ask-ffmpeg-log 0.
|
20
|
-
Copyright (c) 2019-
|
19
|
+
ask-ffmpeg-log 0.7.0
|
20
|
+
Copyright (c) 2019-2021 Don Melton
|
21
21
|
HERE
|
22
22
|
end
|
23
23
|
|
data/bin/other-transcode
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# other-transcode
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2021 Don Melton
|
6
6
|
#
|
7
7
|
|
8
8
|
require 'English'
|
@@ -18,8 +18,8 @@ module Transcoding
|
|
18
18
|
class Command
|
19
19
|
def about
|
20
20
|
<<-HERE
|
21
|
-
other-transcode 0.
|
22
|
-
Copyright (c) 2019-
|
21
|
+
other-transcode 0.7.0
|
22
|
+
Copyright (c) 2019-2021 Don Melton
|
23
23
|
HERE
|
24
24
|
end
|
25
25
|
|
@@ -91,8 +91,9 @@ Video options:
|
|
91
91
|
--x264 use x264 software video encoder
|
92
92
|
--x265 use x265 " " "
|
93
93
|
--10-bit, --no-10-bit
|
94
|
-
use 10-bit
|
94
|
+
use 10-bit color depth (default: not used for H.264,
|
95
95
|
used for HEVC with Nvidia, Intel and x265 encoders)
|
96
|
+
--8-bit-vc1 use 8-bit color depth for VC-1 format only
|
96
97
|
--preset NAME apply video encoder preset
|
97
98
|
--decode vc1|all|none
|
98
99
|
set scope of automatic hardware decoder acceleration
|
@@ -253,13 +254,14 @@ Audio options:
|
|
253
254
|
|
254
255
|
def usage17
|
255
256
|
<<-HERE
|
256
|
-
--eac3 use
|
257
|
+
--eac3 use Dolby Digital Plus (E-AC-3) format for all audio
|
258
|
+
(default bitrates: 384 for surround, 192 for stereo)
|
257
259
|
HERE
|
258
260
|
end
|
259
261
|
|
260
262
|
def usage18
|
261
263
|
<<-HERE
|
262
|
-
--
|
264
|
+
--aac-stereo use AAC format for stereo audio
|
263
265
|
--limit-ac3-surround
|
264
266
|
don't copy surround audio in AC-3 format
|
265
267
|
when orginal bitrate is above transcoding bitrate
|
@@ -314,6 +316,7 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
314
316
|
@hevc = false
|
315
317
|
@encoder = nil
|
316
318
|
@ten_bit = nil
|
319
|
+
@eight_bit_vc1 = false
|
317
320
|
@preset = nil
|
318
321
|
@decode_scope = :vc1
|
319
322
|
@decode_method = nil
|
@@ -359,8 +362,8 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
359
362
|
:title => nil,
|
360
363
|
:width => :surround
|
361
364
|
}]
|
362
|
-
@surround_bitrate =
|
363
|
-
@stereo_bitrate =
|
365
|
+
@surround_bitrate = nil
|
366
|
+
@stereo_bitrate = nil
|
364
367
|
@mono_bitrate = nil
|
365
368
|
@surround_encoder = 'ac3'
|
366
369
|
@stereo_encoder = nil
|
@@ -502,6 +505,12 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
502
505
|
|
503
506
|
opts.on '--[no-]10-bit' do |arg|
|
504
507
|
@ten_bit = arg
|
508
|
+
@eight_bit_vc1 = false
|
509
|
+
@encoder = nil if @encoder == 'copy'
|
510
|
+
end
|
511
|
+
|
512
|
+
opts.on '--8-bit-vc1' do
|
513
|
+
@eight_bit_vc1 = true
|
505
514
|
@encoder = nil if @encoder == 'copy'
|
506
515
|
end
|
507
516
|
|
@@ -848,13 +857,21 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
848
857
|
|
849
858
|
opts.on '--eac3' do
|
850
859
|
@surround_encoder = 'eac3'
|
860
|
+
@stereo_encoder = 'eac3'
|
851
861
|
end
|
852
862
|
|
853
863
|
opts.on '--all-eac3' do
|
864
|
+
Kernel.warn '**********'
|
865
|
+
Kernel.warn 'Using deprecated option: --all-eac3'
|
866
|
+
Kernel.warn '**********'
|
854
867
|
@surround_encoder = 'eac3'
|
855
868
|
@stereo_encoder = 'eac3'
|
856
869
|
end
|
857
870
|
|
871
|
+
opts.on '--aac-stereo' do
|
872
|
+
@stereo_encoder = nil
|
873
|
+
end
|
874
|
+
|
858
875
|
opts.on '--limit-ac3-surround' do
|
859
876
|
@keep_ac3_surround = false
|
860
877
|
end
|
@@ -917,14 +934,31 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
917
934
|
def configure(path)
|
918
935
|
@audio_selections.uniq!
|
919
936
|
@subtitle_selections.uniq!
|
920
|
-
|
921
|
-
|
922
|
-
|
937
|
+
|
938
|
+
if @surround_encoder == 'eac3'
|
939
|
+
@surround_bitrate ||= 384
|
940
|
+
@surround_bitrate = [[@surround_bitrate, 192].max, 768].min
|
941
|
+
else
|
942
|
+
@surround_bitrate ||= 640
|
943
|
+
@surround_bitrate = [[@surround_bitrate, 256].max, 640].min
|
944
|
+
end
|
945
|
+
|
946
|
+
if @stereo_encoder == 'eac3'
|
947
|
+
@stereo_bitrate ||= 192
|
948
|
+
@stereo_bitrate = [[@stereo_bitrate, 96].max, 768].min
|
949
|
+
else
|
950
|
+
@stereo_bitrate ||= 256
|
951
|
+
@stereo_bitrate = [[@stereo_bitrate, 128].max, 320].min
|
952
|
+
end
|
923
953
|
|
924
954
|
if @mono_bitrate.nil?
|
925
955
|
@mono_bitrate = @stereo_bitrate / 2
|
926
956
|
else
|
927
|
-
|
957
|
+
if @stereo_encoder == 'eac3'
|
958
|
+
@mono_bitrate = [[@mono_bitrate, 48].max, 768].min
|
959
|
+
else
|
960
|
+
@mono_bitrate = [[@mono_bitrate, 64].max, 256].min
|
961
|
+
end
|
928
962
|
end
|
929
963
|
|
930
964
|
[
|
@@ -966,10 +1000,10 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
966
1000
|
end
|
967
1001
|
|
968
1002
|
@ten_bit = (@hevc and @encoder =~ /(nvenc|qsv|x265)$/ ? true : false) if @ten_bit.nil?
|
969
|
-
@target_2160p ||= @hevc ?
|
970
|
-
@target_1080p ||= @hevc ? 6000
|
971
|
-
@target_720p ||= @hevc ? 3000
|
972
|
-
@target_480p ||= @hevc ? 1500
|
1003
|
+
@target_2160p ||= @hevc ? 8000 : 12000
|
1004
|
+
@target_1080p ||= @hevc ? 4000 : 6000
|
1005
|
+
@target_720p ||= @hevc ? 2000 : 3000
|
1006
|
+
@target_480p ||= @hevc ? 1000 : 1500
|
973
1007
|
@decode_method ||= @encoder =~ /nvenc$/ ? 'cuda' : 'auto'
|
974
1008
|
|
975
1009
|
if @stereo_encoder.nil?
|
@@ -1721,7 +1755,8 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
1721
1755
|
]
|
1722
1756
|
end
|
1723
1757
|
|
1724
|
-
|
1758
|
+
ten_bit = (@ten_bit ? (@eight_bit_vc1 ? (video['codec_name'] != 'vc1') : true) : false)
|
1759
|
+
hdr = ((video.fetch('pix_fmt', 'yuv420p') == 'yuv420p10le') and ten_bit)
|
1725
1760
|
|
1726
1761
|
if hdr
|
1727
1762
|
color_primaries = 'bt2020'
|
@@ -1816,7 +1851,7 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
1816
1851
|
|
1817
1852
|
Kernel.warn text
|
1818
1853
|
encode_options += ['-c:v', @encoder]
|
1819
|
-
encode_options += ['-pix_fmt:v', (@encoder =~ /(nvenc|qsv)$/ ? 'p010le' : 'yuv420p10le')] if
|
1854
|
+
encode_options += ['-pix_fmt:v', (@encoder =~ /(nvenc|qsv)$/ ? 'p010le' : 'yuv420p10le')] if ten_bit
|
1820
1855
|
encode_options += ['-b:v', "#{bitrate}k"] unless @encoder == 'copy'
|
1821
1856
|
encode_options += ['-maxrate:v', "#{maxrate}k"] if maxrate > 0
|
1822
1857
|
encode_options += ['-bufsize:v', "#{bufsize}k"] if bufsize > 0
|
@@ -1889,7 +1924,7 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
1889
1924
|
encode_options += ['-x265-params:v', @x265_params] unless @x265_params.nil?
|
1890
1925
|
end
|
1891
1926
|
|
1892
|
-
unless
|
1927
|
+
unless ten_bit
|
1893
1928
|
encode_options += ['-profile:v', 'high'] if @encoder =~ /^(h264_nvenc|h264_amf|libx264)$/
|
1894
1929
|
end
|
1895
1930
|
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: other_video_transcoding
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Don Melton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: " Other Video Transcoding is a package of tools to transcode videos.\n"
|
14
14
|
email: don@blivet.com
|
@@ -33,6 +33,7 @@ files:
|
|
33
33
|
- other_video_transcoding-0.3.2.gem
|
34
34
|
- other_video_transcoding-0.4.0.gem
|
35
35
|
- other_video_transcoding-0.5.0.gem
|
36
|
+
- other_video_transcoding-0.6.0.gem
|
36
37
|
- other_video_transcoding.gemspec
|
37
38
|
homepage: https://github.com/donmelton/other_video_transcoding
|
38
39
|
licenses:
|