movie_merge 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 23576023b74ea072e816515f15761ca8d30edd26
4
+ data.tar.gz: cd57a130eafc0b8c39f831ae16d239188938237e
5
+ SHA512:
6
+ metadata.gz: 82cd9aa9289f22b9aa2cd902e2542a91edf12656a50df19ef7d4f49596301a388330bc9ae2475b9282348bff758422c0dde140d6e2ef87f69ed5d4dc6375a7e0
7
+ data.tar.gz: 09b70d21dde93eca7948052aa9dd29cf3c59c0d1e3fa055311ac9a4ef26e66b0b376bb55a031a407fb8fa7314199cc5d42250fd058c52a4fc52162a8758a7c39
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MovieMerge
2
2
 
3
- Joins multiple video files together using the `cat` command and ffmpeg.
3
+ Joins multiple video files together using the `cat` command and ffmpeg. Currently only `avi` files are supported.
4
4
 
5
5
  ```
6
6
  moviemerge INPUT-1 .. INPUT-N
@@ -10,4 +10,5 @@ Options (all are optional):
10
10
  -t, [--target=TARGET]
11
11
  -d, [--dry-run]
12
12
  -h, [--help]
13
- ```
13
+ -v, [--version]
14
+ ```
@@ -3,5 +3,5 @@
3
3
  lib = File.expand_path('../../lib', __FILE__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'movie_merge'
6
- ARGV.unshift("join")
6
+ ARGV.unshift('join')
7
7
  MovieMerge::Cli.start
@@ -1,7 +1,8 @@
1
1
  require "thor"
2
+ require "shellwords"
2
3
 
3
4
  module MovieMerge
4
- class Cli < ::Thor
5
+ class Cli < ::Thor
5
6
  include Thor::Actions
6
7
 
7
8
  desc "INPUT-1 .. INPUT-N", "Combines multiple video files into a single video file."
@@ -46,12 +47,13 @@ module MovieMerge
46
47
  file_type = file_types.first
47
48
 
48
49
  # Build the target and temp file names.
49
- target = options[:target] || "moviemerged-x#{sources.size}.#{file_type}"
50
- temp = ".#{target}"
50
+ tname = "moviemerged-x#{sources.size}.#{file_type}"
51
+ target = options[:target] || tname
52
+ temp = ".#{tname}"
51
53
 
52
54
  # Ensure each of the input files actually exist.
53
55
  sources.each do |source|
54
- source_exists = File.exists?(File.join(cwd, source))
56
+ source_exists = File.exists?(source)
55
57
  return say("Source file not found; cannot continue (#{source})", :red) unless source_exists
56
58
  end
57
59
 
@@ -65,7 +67,7 @@ module MovieMerge
65
67
 
66
68
  # Concatenate the input files and output to a temp file.
67
69
  say("Concatenating files.", :green)
68
- `cat #{sources.join(' ')} > #{temp}`
70
+ `cat #{sources.map { |s| Shellwords.escape(s) }.join(' ')} > #{Shellwords.escape(temp)}`
69
71
 
70
72
  unless $?.success?
71
73
  `rm -f #{temp}`
@@ -74,7 +76,7 @@ module MovieMerge
74
76
 
75
77
  # Reindex the temp file using ffmpeg.
76
78
  say("Reindexing combined output at framerate of #{framerate}.", :green)
77
- `ffmpeg -i #{temp} -r #{framerate} -sameq #{target} 2>&1`
79
+ `ffmpeg -i #{Shellwords.escape(temp)} -r #{framerate} -qscale 0 #{Shellwords.escape(target)} 2>&1`
78
80
 
79
81
  unless $?.success?
80
82
  `rm -f #{temp}`
@@ -83,7 +85,7 @@ module MovieMerge
83
85
 
84
86
  # Remove the temp file.
85
87
  say("Cleaning up temp files.", :green)
86
- `rm -f #{temp}`
88
+ `rm -f #{Shellwords.escape(temp)}`
87
89
  say("Unable to remove temp file: #{temp}", :red) unless $?.success?
88
90
 
89
91
  # Done!
@@ -1,3 +1,3 @@
1
1
  module MovieMerge
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: movie_merge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
5
- prerelease:
4
+ version: 0.0.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Mike Fulcher
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-01-08 00:00:00.000000000 Z
11
+ date: 2013-07-11 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: thor
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - '='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - '='
28
25
  - !ruby/object:Gem::Version
@@ -48,26 +45,25 @@ files:
48
45
  - movie_merge.gemspec
49
46
  homepage: https://github.com/6twenty/movie_merge
50
47
  licenses: []
48
+ metadata: {}
51
49
  post_install_message:
52
50
  rdoc_options: []
53
51
  require_paths:
54
52
  - lib
55
53
  required_ruby_version: !ruby/object:Gem::Requirement
56
- none: false
57
54
  requirements:
58
- - - ! '>='
55
+ - - '>='
59
56
  - !ruby/object:Gem::Version
60
57
  version: '0'
61
58
  required_rubygems_version: !ruby/object:Gem::Requirement
62
- none: false
63
59
  requirements:
64
- - - ! '>='
60
+ - - '>='
65
61
  - !ruby/object:Gem::Version
66
62
  version: '0'
67
63
  requirements: []
68
64
  rubyforge_project:
69
- rubygems_version: 1.8.24
65
+ rubygems_version: 2.0.3
70
66
  signing_key:
71
- specification_version: 3
67
+ specification_version: 4
72
68
  summary: Automates joining multiple video files using the `cat` command and ffmpeg.
73
69
  test_files: []