other_video_transcoding 0.7.0 → 0.8.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 +13 -0
- data/bin/ask-ffmpeg-log +1 -1
- data/bin/other-transcode +28 -25
- data/other_video_transcoding-0.7.0.gem +0 -0
- data/other_video_transcoding.gemspec +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b33c51af021fb92ec9d41e7b4b95e92740b9c15832f276a471d6ecd8a92abe4
|
4
|
+
data.tar.gz: c3e030f58c77f2cce69cd02a3563428f4a0f6dbed0b6216928f4c40c6b2f3d73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f5e7f4135a53ed651720e0803f605a52768cb12758fcb9c13c15c4d8cc59ec94340f02aab11d9c3db9b390bf296c51b9fb7f49c8314bbf4906352252dbc4942
|
7
|
+
data.tar.gz: 8df50e3a3be13cb47483fd5b0ce9b2c9e97b3b4fe6755e5843e450bf177709df070e82e2ba18ab79c76d5f30172d588b9407b6aec25757ffcb0fd6e45e180881
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,19 @@
|
|
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.8.0](https://github.com/donmelton/other_video_transcoding/releases/tag/0.8.0)
|
6
|
+
|
7
|
+
Saturday, February 13, 2021
|
8
|
+
|
9
|
+
* Modify `other-transcode` to:
|
10
|
+
* No longer automatically deinterlace video with a frame rate of 29.97 FPS.
|
11
|
+
* No longer change the frame rate of any video in MPEG-2 format which was automatically deinterlaced.
|
12
|
+
* Only automatically deinterlace non-progressive video.
|
13
|
+
* Apply any automatic or explicit deinterlacing to all frames of the video, not just the interlaced frames.
|
14
|
+
* Force a constant frame rate for any video in MPEG-2 format at 29.97 FPS.
|
15
|
+
* Add a `--yadif-params` option to `other-transcode` to allow customization of the `yadif` filter used for deinterlacing.
|
16
|
+
* Remove the deprecated `--all-eac3` option of `other-transcode`.
|
17
|
+
|
5
18
|
## [0.7.0](https://github.com/donmelton/other_video_transcoding/releases/tag/0.7.0)
|
6
19
|
|
7
20
|
Monday, January 4, 2021
|
data/bin/ask-ffmpeg-log
CHANGED
data/bin/other-transcode
CHANGED
@@ -18,7 +18,7 @@ module Transcoding
|
|
18
18
|
class Command
|
19
19
|
def about
|
20
20
|
<<-HERE
|
21
|
-
other-transcode 0.
|
21
|
+
other-transcode 0.8.0
|
22
22
|
Copyright (c) 2019-2021 Don Melton
|
23
23
|
HERE
|
24
24
|
end
|
@@ -128,7 +128,7 @@ Video options:
|
|
128
128
|
--deinterlace reduce interlace artifacts without changing frame rate
|
129
129
|
(applied automatically for some inputs)
|
130
130
|
--rate FPS force constant video frame rate
|
131
|
-
(
|
131
|
+
(disables automatic deinterlacing)
|
132
132
|
--detelecine drop duplicate frames to restore original frame rate
|
133
133
|
(disables any deinterlacing and forced frame rate)
|
134
134
|
--no-filters disable any automatic adjustments via filters
|
@@ -137,6 +137,8 @@ Video options:
|
|
137
137
|
|
138
138
|
def usage10
|
139
139
|
<<-HERE
|
140
|
+
--yadif-params KEY=VALUE[:KEY=VALUE]...
|
141
|
+
override yadif deinterlace filter configuration
|
140
142
|
--rc-maxrate FACTOR, --rc-bufsize FACTOR
|
141
143
|
set ratecontrol maximum rate and/or buffer size
|
142
144
|
as multiple of video bitrate target
|
@@ -333,6 +335,7 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
333
335
|
@rate = nil
|
334
336
|
@detelecine = false
|
335
337
|
@enable_filters = true
|
338
|
+
@yadif_params = nil
|
336
339
|
@maxrate = nil
|
337
340
|
@bufsize = nil
|
338
341
|
@vt_allow_sw = false
|
@@ -633,6 +636,14 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
633
636
|
@enable_filters = false
|
634
637
|
end
|
635
638
|
|
639
|
+
opts.on '--yadif-params ARG' do |arg|
|
640
|
+
arg.split ':' do |param|
|
641
|
+
fail UsageError, "invalid argument: #{arg}" unless param =~ /^[\w\-]+=[\w\-\.,]+$/
|
642
|
+
end
|
643
|
+
|
644
|
+
@yadif_params = arg
|
645
|
+
end
|
646
|
+
|
636
647
|
opts.on '--rc-maxrate ARG', Float do |arg|
|
637
648
|
@maxrate = arg
|
638
649
|
@encoder = nil if @encoder == 'copy'
|
@@ -860,14 +871,6 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
860
871
|
@stereo_encoder = 'eac3'
|
861
872
|
end
|
862
873
|
|
863
|
-
opts.on '--all-eac3' do
|
864
|
-
Kernel.warn '**********'
|
865
|
-
Kernel.warn 'Using deprecated option: --all-eac3'
|
866
|
-
Kernel.warn '**********'
|
867
|
-
@surround_encoder = 'eac3'
|
868
|
-
@stereo_encoder = 'eac3'
|
869
|
-
end
|
870
|
-
|
871
874
|
opts.on '--aac-stereo' do
|
872
875
|
@stereo_encoder = nil
|
873
876
|
end
|
@@ -1604,28 +1607,22 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
1604
1607
|
end
|
1605
1608
|
|
1606
1609
|
deinterlace = @deinterlace
|
1607
|
-
rate = @rate
|
1608
|
-
|
1609
|
-
if @enable_filters
|
1610
|
-
if video['avg_frame_rate'] == '30000/1001' or video.fetch('field_order', 'progressive') != 'progressive'
|
1611
|
-
deinterlace = true
|
1612
1610
|
|
1613
|
-
|
1614
|
-
|
1615
|
-
end
|
1616
|
-
end
|
1611
|
+
if @enable_filters and video.fetch('field_order', 'progressive') != 'progressive'
|
1612
|
+
deinterlace = true
|
1617
1613
|
end
|
1618
1614
|
|
1619
1615
|
frame_rate_filter = nil
|
1620
1616
|
|
1621
|
-
if deinterlace
|
1622
|
-
frame_rate_filter = 'yadif
|
1617
|
+
if deinterlace and @encoder != 'copy'
|
1618
|
+
frame_rate_filter = 'yadif'
|
1619
|
+
frame_rate_filter += "=#{@yadif_params}" unless @yadif_params.nil?
|
1623
1620
|
end
|
1624
1621
|
|
1625
|
-
unless rate.nil?
|
1622
|
+
unless @rate.nil?
|
1626
1623
|
frame_rate_filter = '' if frame_rate_filter.nil?
|
1627
1624
|
frame_rate_filter += ',' unless frame_rate_filter.empty?
|
1628
|
-
frame_rate_filter += "fps=#{rate}"
|
1625
|
+
frame_rate_filter += "fps=#{@rate}"
|
1629
1626
|
end
|
1630
1627
|
|
1631
1628
|
if @detelecine
|
@@ -1727,9 +1724,15 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
1727
1724
|
conversion_filter = nil
|
1728
1725
|
end
|
1729
1726
|
|
1727
|
+
encode_options = []
|
1728
|
+
|
1730
1729
|
if @encoder == 'copy'
|
1731
1730
|
filter = ''
|
1732
1731
|
else
|
1732
|
+
if video['codec_name'] == 'mpeg2video' and video['avg_frame_rate'] == '30000/1001'
|
1733
|
+
encode_options += ['-vsync', 'cfr']
|
1734
|
+
end
|
1735
|
+
|
1733
1736
|
filter = overlay_filter.nil? ? '' : overlay_filter
|
1734
1737
|
filter += frame_rate_filter.nil? ? '' : ",#{frame_rate_filter}"
|
1735
1738
|
filter += crop_filter.nil? ? '' : ",#{crop_filter}"
|
@@ -1739,7 +1742,7 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
1739
1742
|
end
|
1740
1743
|
|
1741
1744
|
if overlay_filter.nil?
|
1742
|
-
encode_options
|
1745
|
+
encode_options += [
|
1743
1746
|
'-map', "0:#{video['index']}"
|
1744
1747
|
]
|
1745
1748
|
|
@@ -1749,7 +1752,7 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`.
|
|
1749
1752
|
]
|
1750
1753
|
end
|
1751
1754
|
else
|
1752
|
-
encode_options
|
1755
|
+
encode_options += [
|
1753
1756
|
'-filter_complex', "[0:#{video['index']}]#{filter}[v]",
|
1754
1757
|
'-map', '[v]'
|
1755
1758
|
]
|
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.8.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: 2021-
|
11
|
+
date: 2021-02-13 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
|
@@ -34,6 +34,7 @@ files:
|
|
34
34
|
- other_video_transcoding-0.4.0.gem
|
35
35
|
- other_video_transcoding-0.5.0.gem
|
36
36
|
- other_video_transcoding-0.6.0.gem
|
37
|
+
- other_video_transcoding-0.7.0.gem
|
37
38
|
- other_video_transcoding.gemspec
|
38
39
|
homepage: https://github.com/donmelton/other_video_transcoding
|
39
40
|
licenses:
|
@@ -54,7 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
54
55
|
- !ruby/object:Gem::Version
|
55
56
|
version: '0'
|
56
57
|
requirements: []
|
57
|
-
rubygems_version: 3.1.
|
58
|
+
rubygems_version: 3.1.4
|
58
59
|
signing_key:
|
59
60
|
specification_version: 4
|
60
61
|
summary: Other tools to transcode videos.
|