movie_merge 0.0.4 → 0.0.5

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.
@@ -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: []