other_video_transcoding 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.
|