cutcut 1.2.2 → 1.3.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 +6 -0
- data/README.md +7 -2
- data/bin/cutcut +4 -2
- data/cutcut.gemspec +1 -1
- data/lib/cutcut/media.rb +2 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ae337b09ec1288623bbf294f99b29fb62aeffdf
|
4
|
+
data.tar.gz: fce49362ed35c9db79429989c20f7a0baab19004
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3362d0c71ca3730ae848760230385163444facc53bd8d630fc09d4305eda176e8f410cdccd0518cbc18bbe765f025b6d3f89df85c488b16d4c349552022ac09
|
7
|
+
data.tar.gz: beee37468252d1e12ec4b402c75a3ea75d328a724fa1e8940e2883f4a1de3983ee6fc26b51d35c2263a5c08b7578db16e7a52e28d057ec941e788c2694063a11
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -15,6 +15,7 @@
|
|
15
15
|
media = CutCut::Media.new(input: 'path_to_file.mp4')
|
16
16
|
media.convert(scale: '1280:720')
|
17
17
|
media.convert(scale: '1280:720', copy_metadata: true)
|
18
|
+
media.convert(scale: '1280:720', copy_metadata: true, quality: 25)
|
18
19
|
media.convert(speed: 2)
|
19
20
|
media.extract_screenshots
|
20
21
|
|
@@ -28,9 +29,13 @@ cutcut --help
|
|
28
29
|
Usage: cutcut [options]
|
29
30
|
--convert Convert all videos in a folder
|
30
31
|
--copy-metadata Copy original video metadata
|
31
|
-
--scale SCALE_RESOLUTION
|
32
|
-
--timelapse-fps FPS Timelapse FPS
|
33
32
|
--extract-screenshots NUMBER Screenshots per second
|
33
|
+
--input INPUT Input
|
34
|
+
--quality CRF CRF between 0 and 51, 0 lossless. Default to 20
|
35
|
+
--remove-audio Video speed
|
36
|
+
--scale SCALE_RESOLUTION Resolution to scale eg: 1280:720
|
37
|
+
--speed NUMBER Video speed
|
38
|
+
--timelapse-fps FPS Timelapse FPS
|
34
39
|
```
|
35
40
|
|
36
41
|
## License
|
data/bin/cutcut
CHANGED
@@ -10,6 +10,7 @@ OptionParser.new do |opt|
|
|
10
10
|
opt.on('--copy-metadata', 'Copy original video metadata') { options[:copy_metadata] = true }
|
11
11
|
opt.on('--extract-screenshots NUMBER', 'Screenshots per second') { |e| options[:extract_screenshots] = e }
|
12
12
|
opt.on('--input INPUT', 'Input') { |e| options[:input] = e }
|
13
|
+
opt.on('--quality CRF', 'CRF between 0 and 51, 0 lossless. Default to 20') { |e| options[:quality] = e }
|
13
14
|
opt.on('--remove-audio', 'Video speed') { options[:remove_audio] = true }
|
14
15
|
opt.on('--scale SCALE_RESOLUTION', 'Resolution to scale eg: 1280:720') { |e| options[:scale] = e }
|
15
16
|
opt.on('--speed NUMBER', 'Video speed') { |e| options[:speed] = e }
|
@@ -31,7 +32,8 @@ files.each do |file|
|
|
31
32
|
scale = options[:scale] || '1920:1080'
|
32
33
|
speed = options[:speed]
|
33
34
|
remove_audio = options[:remove_audio]
|
34
|
-
|
35
|
+
crf = options[:quality]
|
36
|
+
media.convert(copy_metadata: options[:copy_metadata], scale: scale, speed: speed, remove_audio: remove_audio, crf: crf)
|
35
37
|
media.extract_screenshots(fps: options[:extract_screenshots], copy_metadata: true) if options[:extract_screenshots]
|
36
38
|
progressbar.increment
|
37
39
|
end
|
@@ -39,7 +41,7 @@ end
|
|
39
41
|
folders.each do |folder|
|
40
42
|
timelapse = CutCut::Timelapse.new(input: Regexp.escape(folder), output: Regexp.escape(File.join(options[:input_dir], File.basename(folder).gsub(/\s+/, '_') + '.mp4')))
|
41
43
|
scale = options[:scale] || '1920:1080'
|
42
|
-
timelapse.convert(fps: options[:timelapse_fps] || 30, scale: scale)
|
44
|
+
timelapse.convert(fps: options[:timelapse_fps] || 30, scale: scale, remove_audio: true)
|
43
45
|
progressbar.increment
|
44
46
|
end
|
45
47
|
|
data/cutcut.gemspec
CHANGED
data/lib/cutcut/media.rb
CHANGED
@@ -23,7 +23,8 @@ module CutCut
|
|
23
23
|
scale = options[:scale]
|
24
24
|
speed = "-filter:v \"setpts=#{options[:speed]}*PTS\"" if options[:speed]
|
25
25
|
remove_audio = options[:remove_audio] == true ? '-an' : nil
|
26
|
-
|
26
|
+
crf = options[:crf] || 20
|
27
|
+
"-movflags +faststart -vf scale=#{scale} -c:v libx264 -crf #{crf} -preset ultrafast #{speed} #{remove_audio}"
|
27
28
|
end
|
28
29
|
|
29
30
|
def extract_screenshots(options = {})
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cutcut
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jhimy Fernandes Villar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|