ehbrs_ruby_utils 0.4.0 → 0.5.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5190ccf9f17c01b8b59b4dc45cb9e711a8f059a755eb8cdb8e3367a6778fcf53
|
4
|
+
data.tar.gz: d9289e10d539ce6c9a5b714d23df7b70ac9b496327559f6eac767f9e864dead7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c87878872a7ae1a224ac658b01c97085ca2b05f38c77dc28d60ab57b150d427af90f5b71defcba1726ab025dc019e8b0d27802a45120386bc7372888773ccc5b
|
7
|
+
data.tar.gz: 7e2e43b0755743b29c00bd9e5dbb39f7168a91122abfc926fcc4107a68acb329dad5ee9e8711ced986a62c190a3efcb694bdd32ff7f5c9a332b3d47d709bd693
|
@@ -1,11 +1,39 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'ehbrs_ruby_utils/executables'
|
5
|
+
require 'ehbrs_ruby_utils/videos/stream'
|
6
|
+
require 'json'
|
4
7
|
|
5
8
|
module EhbrsRubyUtils
|
6
9
|
module Videos
|
7
|
-
|
8
|
-
|
10
|
+
class Container
|
11
|
+
enable_simple_cache
|
12
|
+
common_constructor :path do
|
13
|
+
self.path = path.to_pathname
|
14
|
+
end
|
15
|
+
|
16
|
+
::EhbrsRubyUtils::Videos::Stream.lists.codec_type.each_value do |stream_type|
|
17
|
+
define_method stream_type.to_s.pluralize do
|
18
|
+
streams.select { |stream| stream.codec_type == stream_type }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def probe_data_uncached
|
25
|
+
::JSON.parse(
|
26
|
+
::EhbrsRubyUtils::Executables.ffprobe.command(
|
27
|
+
'-hide_banner', '-print_format', 'json', '-show_format', '-show_streams', path
|
28
|
+
).execute!
|
29
|
+
).deep_symbolize_keys.freeze
|
30
|
+
end
|
31
|
+
|
32
|
+
def streams_uncached
|
33
|
+
probe_data.fetch(:streams).map do |stream_ffprobe_data|
|
34
|
+
::EhbrsRubyUtils::Videos::Stream.new(stream_ffprobe_data)
|
35
|
+
end
|
36
|
+
end
|
9
37
|
end
|
10
38
|
end
|
11
39
|
end
|
@@ -8,13 +8,19 @@ module EhbrsRubyUtils
|
|
8
8
|
enable_simple_cache
|
9
9
|
enable_listable
|
10
10
|
|
11
|
-
lists.add_symbol :codec_type, :audio, :video, :subtitle, :
|
11
|
+
lists.add_symbol :codec_type, :audio, :video, :subtitle, :data
|
12
12
|
|
13
13
|
common_constructor :ffprobe_data do
|
14
14
|
self.ffprobe_data = ffprobe_data.symbolize_keys.freeze
|
15
15
|
self.class.lists.codec_type.value_validate!(codec_type)
|
16
16
|
end
|
17
17
|
|
18
|
+
lists.codec_type.each_value do |v|
|
19
|
+
define_method "#{v}?" do
|
20
|
+
codec_type == v
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
18
24
|
def to_s
|
19
25
|
"#{index}|#{codec_type}|#{codec_name}|#{language}"
|
20
26
|
end
|
@@ -34,7 +40,7 @@ module EhbrsRubyUtils
|
|
34
40
|
end
|
35
41
|
|
36
42
|
def tags
|
37
|
-
ffprobe_data
|
43
|
+
ffprobe_data[:tags].if_present({}, &:symbolize_keys)
|
38
44
|
end
|
39
45
|
|
40
46
|
def language
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ehbrs_ruby_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo H. Bogoni
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eac_ruby_utils
|
@@ -55,8 +55,6 @@ files:
|
|
55
55
|
- lib/ehbrs_ruby_utils/version.rb
|
56
56
|
- lib/ehbrs_ruby_utils/videos.rb
|
57
57
|
- lib/ehbrs_ruby_utils/videos/container.rb
|
58
|
-
- lib/ehbrs_ruby_utils/videos/container/file.rb
|
59
|
-
- lib/ehbrs_ruby_utils/videos/container/info.rb
|
60
58
|
- lib/ehbrs_ruby_utils/videos/convert_job.rb
|
61
59
|
- lib/ehbrs_ruby_utils/videos/quality.rb
|
62
60
|
- lib/ehbrs_ruby_utils/videos/resolution.rb
|
@@ -1,44 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'json'
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
5
|
-
require 'ehbrs_ruby_utils/executables'
|
6
|
-
require 'ehbrs_ruby_utils/videos/container/info'
|
7
|
-
require 'ehbrs_ruby_utils/videos/stream'
|
8
|
-
|
9
|
-
module EhbrsRubyUtils
|
10
|
-
module Videos
|
11
|
-
module Container
|
12
|
-
class File
|
13
|
-
enable_simple_cache
|
14
|
-
common_constructor :path do
|
15
|
-
self.path = path.to_pathname
|
16
|
-
end
|
17
|
-
|
18
|
-
::EhbrsRubyUtils::Videos::Stream.lists.codec_type.each_value do |stream_type|
|
19
|
-
define_method stream_type.to_s.pluralize do
|
20
|
-
streams.select { |stream| stream.codec_type == stream_type }
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
private
|
25
|
-
|
26
|
-
def info_uncached
|
27
|
-
::EhbrsRubyUtils::Videos::Container::Info.new(
|
28
|
-
::JSON.parse(
|
29
|
-
::EhbrsRubyUtils::Executables.ffprobe.command(
|
30
|
-
'-hide_banner', '-print_format', 'json', '-show_format', '-show_streams', path
|
31
|
-
).execute!
|
32
|
-
)
|
33
|
-
)
|
34
|
-
end
|
35
|
-
|
36
|
-
def streams_uncached
|
37
|
-
info.ffprobe_data.fetch(:streams).map do |stream_ffprobe_data|
|
38
|
-
::EhbrsRubyUtils::Videos::Stream.new(stream_ffprobe_data)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
require 'ehbrs_ruby_utils/videos/container/info'
|
5
|
-
|
6
|
-
module EhbrsRubyUtils
|
7
|
-
module Videos
|
8
|
-
module Container
|
9
|
-
class Info
|
10
|
-
enable_simple_cache
|
11
|
-
common_constructor :ffprobe_data do
|
12
|
-
self.ffprobe_data = ffprobe_data.with_indifferent_access.freeze
|
13
|
-
end
|
14
|
-
|
15
|
-
def to_h
|
16
|
-
ffprobe_data
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|