ffsplitter 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6d4ad8bf3edad0c10ae7ec2685cf584be0da92a7
4
- data.tar.gz: 0fd0abeeda6ef1a19ab1259a2df30607408dd3ed
3
+ metadata.gz: 75ccb4a65d9a207ef81daa79288ea34b9826a404
4
+ data.tar.gz: f91bfe2e5ded7782bbe6ebe35655409ec8fc7aea
5
5
  SHA512:
6
- metadata.gz: 46c56309791d5044077134f9474110de033fd4172bae0399cde69b22a32eb263b88851f4c9920868f2a2a43d77e95c6e16d93e7dc91f3c6e31a727241803d325
7
- data.tar.gz: 8232ed457d56989507dbcb2a360d0dc1714ff52429624b6e41f6b797cb125fd9a42f62adfd556150d38f9f0db69438489b70fd480dfc4b7ec84bd6e4acdd2f39
6
+ metadata.gz: 340c7b9e80b5e1e7de02a89d84ad1adaa4cb8b98fd1fea1b1bc1aceebdfafb95f2b5028b50ae8685287074268883defd63c68df99910850c57bd6c35d3f9857b
7
+ data.tar.gz: 980a74e9f398eee31e6fa8f696bb85a90ec9b41f37d851f6c520953367f60637c595c94103adb5aa0ca4558f46664ec83691a2b1312be00c492304f9f91f4b90
data/README.md CHANGED
@@ -7,10 +7,15 @@
7
7
 
8
8
  ## Usage
9
9
 
10
- * Given the video file `my-video.mp4`
11
- * And `my-video.mp4` has embedded chapter markers
12
- * When I execute `ffsplitter my-video.mp4`
13
- * Then `.mp4` files will be created for each chapter
10
+ `ffsplitter my-video.mp4`
11
+
12
+ or
13
+
14
+ `ffsplitter my-video.mp4 output-directory/`
15
+
16
+ ## Testing
17
+
18
+ `bundle exec rspec`
14
19
 
15
20
  ## Contributing
16
21
 
@@ -8,18 +8,18 @@ module FFSplitter
8
8
  @runner = CommandRunner
9
9
  end
10
10
 
11
- def encode(chapters)
12
- commands = chapters.collect { |c| chapter_command(c) }
13
- runner.run("ffmpeg #{commands.join(" ")}")
14
- end
15
-
16
11
  def read_metadata
17
12
  runner.run("ffmpeg -i '#{filename}' -v quiet -f ffmetadata -")
18
13
  end
19
14
 
15
+ def encode(chapters)
16
+ commands = chapters.collect { |c| chapter_command(c) }
17
+ runner.run("ffmpeg #{commands.join(' ')}")
18
+ end
19
+
20
20
  def chapter_command(chapter)
21
21
  output_file = File.expand_path(chapter.filename, output_directory)
22
- "-i '#{filename}' -ss #{chapter.start_time} -to #{chapter.end_time} -c copy '#{output_file}.mp4'"
22
+ "-i '#{filename}' -ss #{chapter.start_time} -to #{chapter.end_time} -c copy -movflags faststart '#{output_file}.mp4'"
23
23
  end
24
24
  end
25
- end
25
+ end
@@ -5,7 +5,8 @@ module FFSplitter
5
5
  end
6
6
 
7
7
  def self.split(codec)
8
- chapter_list = MetadataParser.parse(codec.read_metadata)
8
+ metadata = codec.read_metadata
9
+ chapter_list = MetadataParser.parse(metadata)
9
10
  codec.encode(chapter_list)
10
11
  end
11
12
  end
@@ -1,3 +1,3 @@
1
1
  module FFSplitter
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
data/spec/ffmpeg_spec.rb CHANGED
@@ -45,6 +45,7 @@ module FFSplitter
45
45
  expect(command).to match("-ss 10.0")
46
46
  expect(command).to match("-to 20.0")
47
47
  expect(command).to match("-c copy")
48
+ expect(command).to match("-movflags faststart")
48
49
  expect(command).to match("#{File.expand_path(chapter.filename)}")
49
50
  end
50
51
  end
@@ -64,4 +65,4 @@ module FFSplitter
64
65
  end
65
66
  end
66
67
  end
67
- end
68
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffsplitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Rockwood
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-21 00:00:00.000000000 Z
11
+ date: 2014-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: virtus
@@ -116,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  requirements: []
118
118
  rubyforge_project:
119
- rubygems_version: 2.0.3
119
+ rubygems_version: 2.1.11
120
120
  signing_key:
121
121
  specification_version: 4
122
122
  summary: ffsplitter will split a video file by its chapters