easyvideo_utils 0.3.1 → 0.4.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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/easyvideo_utils.rb +24 -15
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3bccc4208ba0387eed19fa49dadbf1e8ce9f1e6c23a03d2d0ffe06de13c24066
|
4
|
+
data.tar.gz: e96dae4b15d3bd87c639bdb18d4625621b1751ae61c205d0217ca9de6219a8e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be9541a058aa9092a65c377d07deda69804d71ce7481997766c09e5bfe0ba7312c109da1ed1d51c5117abae494eb7a9f8fb7d367b5c7ec872f40c17569e5b726
|
7
|
+
data.tar.gz: accc3485844c6680d13e24c286ff987301d2727c5159e6c475a1ad0c909eff965f6d92568b493da077b096da8d659e444d93b0a04a713fee5edd7ba97acb592d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/easyvideo_utils.rb
CHANGED
@@ -7,7 +7,14 @@ require 'subunit'
|
|
7
7
|
|
8
8
|
|
9
9
|
# requirements:
|
10
|
-
# `apt-get install mplayer ffmpeg vorbis-tools`exiftool
|
10
|
+
# `apt-get install mplayer ffmpeg vorbis-tools`exiftool libav-tools
|
11
|
+
|
12
|
+
# note: Although this gem tries to be full-proof it's dependent upon the
|
13
|
+
# command-line tools to do the heavy lifting, as a result is prone
|
14
|
+
# to nuisance factors.
|
15
|
+
# tip: instead of using transcode, try specifing the target encoding based on
|
16
|
+
# the extension type when using multiple
|
17
|
+
# operations e.g. EasyVideoUtils.new('vid2.avi', 'vid3.mp4').resize
|
11
18
|
|
12
19
|
|
13
20
|
module CommandHelper
|
@@ -42,12 +49,13 @@ class EasyVideoUtils
|
|
42
49
|
* create_poster # Video created from audio file + static image
|
43
50
|
* create_slideshow # Combines images to create a video. Defaults to 5 seconds per image
|
44
51
|
* extract_images # Extracts images at 1 FPS by default
|
52
|
+
* grab_image # grabs a single image at 1 second in by default
|
45
53
|
* play # plays the video using mplayer
|
46
54
|
* preview # plays the video using ffplay
|
47
55
|
* record # alias for capture
|
48
56
|
* remove_audio # removes the audio track from a video
|
49
57
|
* remove_video # removes the video track from a video. Output file would be an mp3.
|
50
|
-
* resize # resize to
|
58
|
+
* resize # resize to 320x240
|
51
59
|
* scale # alias for resize
|
52
60
|
* slowdown # slows a viedo down. Defaults to x2 (half-speed)
|
53
61
|
* speedup # speed a video up. Defaults to x2 (twice as fast)
|
@@ -165,6 +173,10 @@ class EasyVideoUtils
|
|
165
173
|
command = "ffmpeg -i #{@file_in} -r #{rate} -f image2 image-%2d#{ext}"
|
166
174
|
run command, show
|
167
175
|
end
|
176
|
+
|
177
|
+
def grab_image(start_time=1, show: false)
|
178
|
+
command = "avconv -i #{@file_in} -ss #{start_time.to_s} -frames:v 1 #{@file_out}"
|
179
|
+
end
|
168
180
|
|
169
181
|
def play(show: false)
|
170
182
|
command = "mplayer #{@file_out}"
|
@@ -189,12 +201,13 @@ class EasyVideoUtils
|
|
189
201
|
run command, show
|
190
202
|
end
|
191
203
|
|
192
|
-
# Resize
|
204
|
+
# Resize e.g. to 320x240
|
193
205
|
#
|
194
|
-
def resize(scale='
|
195
|
-
command = "
|
206
|
+
def resize(scale='320x240', show: false)
|
207
|
+
command = "avconv -i #{@file_in} -s #{scale} #{@file_out} -y"
|
196
208
|
run command, show
|
197
209
|
end
|
210
|
+
|
198
211
|
|
199
212
|
alias scale resize
|
200
213
|
|
@@ -240,19 +253,15 @@ class EasyVideoUtils
|
|
240
253
|
alias convert transcode
|
241
254
|
|
242
255
|
# Trim the start and end of the video
|
243
|
-
# times
|
256
|
+
# times can be expressed in human time format e.g. '1m 4s', '2m 30'
|
244
257
|
#
|
245
|
-
def trim(start_time,
|
258
|
+
def trim(start_time, duration, show: false)
|
246
259
|
|
247
|
-
t1
|
248
|
-
|
249
|
-
"%02d:%02d:%02d" % (s.sub(/m/,'\00s').split(/\D/).reverse + [0,0])\
|
250
|
-
.take(3).reverse
|
251
|
-
|
252
|
-
end
|
260
|
+
t1 = "%02d:%02d:%02d" % (start_time.to_s.sub(/m/,'\00s').split(/\D/)\
|
261
|
+
.reverse + [0,0]).take(3).reverse
|
253
262
|
|
254
|
-
command = "
|
255
|
-
|
263
|
+
command = "avconv -i #{@file_in} -ss #{t1} -t #{duration.to_s} " +
|
264
|
+
"-codec copy #{@file_out}"
|
256
265
|
run command, show
|
257
266
|
|
258
267
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easyvideo_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
iOODRzCT1NjcNTH5nzIOVNDgsjVdBcyabDtEoJ+ABRBRC3QbmGexUCnpCQVsGRJh
|
36
36
|
aGOV1YBw3DOVQYevaOX+Vxuw
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2019-
|
38
|
+
date: 2019-11-29 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: c32
|
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
requirements: []
|
106
|
-
rubygems_version: 3.0.
|
106
|
+
rubygems_version: 3.0.3
|
107
107
|
signing_key:
|
108
108
|
specification_version: 4
|
109
109
|
summary: A wrapper for ffmpeg to make basic video editing easier.
|
metadata.gz.sig
CHANGED
Binary file
|