video_converter 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@
2
2
 
3
3
  module VideoConverter
4
4
  class Base
5
- attr_accessor :input_array, :output_array, :log, :uid
5
+ attr_accessor :input_array, :output_array, :log, :uid, :clear_tmp
6
6
 
7
7
  def initialize params
8
8
  self.uid = params[:uid] || (Socket.gethostname + object_id.to_s)
@@ -15,6 +15,7 @@ module VideoConverter
15
15
  self.log = params[:log]
16
16
  FileUtils.mkdir_p File.dirname(log)
17
17
  end
18
+ self.clear_tmp = params[:clear_tmp].nil? ? true : params[:clear_tmp]
18
19
  end
19
20
 
20
21
  def run
@@ -23,6 +24,7 @@ module VideoConverter
23
24
  process.pid = `cat /proc/self/stat`.split[3]
24
25
  actions = []
25
26
  actions = [:convert, :segment]
27
+ actions << :clear if clear_tmp
26
28
  actions.each do |action|
27
29
  process.status = action.to_s
28
30
  process.progress = 0
@@ -55,5 +57,13 @@ module VideoConverter
55
57
  end
56
58
  LiveSegmenter.new(params).run
57
59
  end
60
+
61
+ def clear
62
+ output_array.outputs.each do |output|
63
+ FileUtils.rm(Dir.glob(File.join(output.work_dir, '*.log')))
64
+ FileUtils.rm(Dir.glob(File.join(output.work_dir, '*.log.mbtree')))
65
+ FileUtils.rm(File.join(output.work_dir, output.filename.sub(/\.m3u8$/, '.ts'))) if output.type == :segmented
66
+ end
67
+ end
58
68
  end
59
69
  end
@@ -1,3 +1,3 @@
1
1
  module VideoConverter
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
@@ -62,6 +62,11 @@ class VideoConverterTest < Test::Unit::TestCase
62
62
  assert File.read(playlist).include?('r200.m3u8')
63
63
  assert File.read(playlist).include?('r300.m3u8')
64
64
  end
65
+ should 'clear tmp files' do
66
+ [200, 300, 500, 700].each do |q|
67
+ assert !File.exists?(File.join(@work_dir, "r#{q}.ts"))
68
+ end
69
+ end
65
70
  end
66
71
 
67
72
  context 'only segment some files' do
@@ -78,7 +83,7 @@ class VideoConverterTest < Test::Unit::TestCase
78
83
  {:path => @input4, :type => :segmented, :filename => '4.m3u8', :copy_video => true},
79
84
  {:type => :playlist, :streams => [{:path => '1.m3u8'}, {:path => '2.m3u8'}], :filename => 'playlist1.m3u8'},
80
85
  {:type => :playlist, :streams => [{:path => '3.m3u8'}, {:path => '4.m3u8'}], :filename => 'playlist2.m3u8'}
81
- ])
86
+ ], :clear_tmp => false)
82
87
  @res = @c2.run
83
88
  @work_dir = File.join(VideoConverter::Output.work_dir, @c2.uid)
84
89
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: video_converter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-24 00:00:00.000000000 Z
12
+ date: 2013-04-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -120,7 +120,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
120
120
  version: '0'
121
121
  segments:
122
122
  - 0
123
- hash: -2760051856794272205
123
+ hash: -4434238993143068739
124
124
  required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  none: false
126
126
  requirements:
@@ -129,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  version: '0'
130
130
  segments:
131
131
  - 0
132
- hash: -2760051856794272205
132
+ hash: -4434238993143068739
133
133
  requirements:
134
134
  - ffmpeg, version 1.2 or greated configured with libx264 and libfaac
135
135
  - live_segmenter to convert to hls