rtranscoder 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,7 +1,16 @@
1
+ == 0.1.0 / 2008-01-27
2
+
3
+ * Many bug fixes.
4
+ * FFmpeg.thumbnail now returns an Array of the output thumbnail paths.
5
+ * Properly encode MEncoder codec-specific options using ':' as an option
6
+ separator.
7
+ * Completed full MPlayer and MEncoder support.
8
+ * Updated code to use RProgram 0.1.3.
9
+
1
10
  == 0.0.9 / 2008-01-17
2
11
 
3
12
  * Initial release.
4
- * Supports FFmpeg
5
- * Supports MPlayer
6
- * Supports MEncoder
13
+ * Supports FFmpeg
14
+ * Supports MPlayer
15
+ * Supports MEncoder
7
16
 
data/Manifest.txt CHANGED
@@ -11,8 +11,9 @@ lib/rtranscoder/extensions/float.rb
11
11
  lib/rtranscoder/ffmpeg.rb
12
12
  lib/rtranscoder/ffmpeg/ffmpeg.rb
13
13
  lib/rtranscoder/ffmpeg/ffmpeg_task.rb
14
- lib/rtranscoder/ffmpeg/extensions.rb
15
- lib/rtranscoder/ffmpeg/extensions/integer.rb
14
+ lib/rtranscoder/ffmpeg/rtranscoder.rb
15
+ lib/rtranscoder/mplayer.rb
16
+ lib/rtranscoder/mencoder.rb
16
17
  lib/rtranscoder/mplayer/mplayer_common_task.rb
17
18
  lib/rtranscoder/mplayer/mplayer.rb
18
19
  lib/rtranscoder/mplayer/mplayer_task.rb
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ Hoe.new('rtranscoder', RTranscoder::VERSION) do |p|
12
12
  p.description = p.paragraphs_of('README.txt', 2..5).join("\n\n")
13
13
  p.url = p.paragraphs_of('README.txt', 0).first.split(/\n/)[1..-1]
14
14
  p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
15
- p.extra_deps = [['rprogram', '>=0.1.0']]
15
+ p.extra_deps = [['rprogram', '>=0.1.3']]
16
16
  end
17
17
 
18
18
  # vim: syntax=Ruby
@@ -9,9 +9,9 @@ include RTranscoder
9
9
  #
10
10
  FFmpeg.encode do |ffmpeg|
11
11
  ffmpeg.input = 'video.avi'
12
- ffmpeg.audio_sampling_rate = 22050 # Hz
12
+ ffmpeg.audio_sampling_rate = 22.050.kHz
13
13
  ffmpeg.audio_bitrate = 32 # kbit/s
14
- ffmpeg.video_frame_dimension = '320x240'
14
+ ffmpeg.video_frame_size = '320x240'
15
15
  ffmpeg.output_format = :flv
16
16
  ffmpeg.output = 'video.flv'
17
17
  end
@@ -5,7 +5,7 @@ include RTranscoder
5
5
  #
6
6
  # Extracts a frame at 00:00:03.
7
7
  # Equivlanent to:
8
- # $ ffmpeg -i video.flv -an -ss 00:00:03 -t 00:00:01 -r 1 -y -s 320x240 \
8
+ # $ ffmpeg -i video.flv -an -ss 00:00:03 -t 00:00:01 -r 1 -y -s 320x240
9
9
  # video_thumbnail.jpg
10
10
  #
11
11
  FFmpeg.encode do |ffmpeg|
@@ -13,9 +13,9 @@ FFmpeg.encode do |ffmpeg|
13
13
  ffmpeg.disable_audio = true
14
14
  ffmpeg.record_start_time = '00:00:03'
15
15
  ffmpeg.record_for = '00:00:01'
16
- ffmpeg.record_fps = 1
17
- ffmpeg.overwrite_file = true
18
- ffmpeg.output_dimension = '320x240'
16
+ ffmpeg.fps = 1
17
+ ffmpeg.overwrite_output_files = true
18
+ ffmpeg.video_frame_size = '320x240'
19
19
  ffmpeg.output = 'video_thumbnail%d.jpg'
20
20
  end
21
21
 
@@ -25,5 +25,6 @@ end
25
25
  RTranscoder.thumbnail(:video => 'video.flv',
26
26
  :start => '00:00:03',
27
27
  :length => '00:00:01',
28
- :dimension => '320x240',
28
+ :width => 320,
29
+ :height => 240,
29
30
  :image => 'thumb%d.jpg')
@@ -21,14 +21,14 @@ module RTranscoder
21
21
  # See FFmpeg#encode.
22
22
  #
23
23
  def self.encode(options={},&block)
24
- self.create.encode(options,&block)
24
+ self.find.encode(options,&block)
25
25
  end
26
26
 
27
27
  #
28
28
  # See FFmpeg#thumbnail.
29
29
  #
30
30
  def self.thumbnail(options={})
31
- self.create.thumbnail(options)
31
+ self.find.thumbnail(options)
32
32
  end
33
33
 
34
34
  #
@@ -46,21 +46,32 @@ module RTranscoder
46
46
  # <tt>:video</tt>:: The input video file.
47
47
  # <tt>:start</tt>:: The start timestamp of the thumbnail.
48
48
  # <tt>:length</tt>:: The duration time of the thumbnail.
49
+ # <tt>:frames</tt>:: Number of video frames to record.
49
50
  # <tt>:fps</tt>:: The FPS to use, defaults to 1.
50
- # <tt>:dimension</tt>:: The dimension of the thumbnail.
51
+ # <tt>:width</tt>:: The width of the thumbnail.
52
+ # <tt>:height</tt>:: The height of the thumbnail.
51
53
  # <tt>:image</tt>:: The output thumbnail image.
52
54
  #
53
55
  def thumbnail(options={})
56
+ image = File.expand_path(options[:image])
57
+
54
58
  encode do |ffmpeg|
55
59
  ffmpeg.input = options[:video]
56
- ffmpeg.disable_audio = true
57
60
  ffmpeg.record_start_time = options[:start]
58
61
  ffmpeg.record_for = options[:length]
59
- ffmpeg.record_fps = (options[:fps] || 1)
60
- ffmpeg.overwrite_file = true
61
- ffmpeg.output_dimension = options[:dimension]
62
- ffmpeg.output = options[:image]
62
+ ffmpeg.video_frames = options[:frames]
63
+ ffmpeg.fps = (options[:fps] || 1)
64
+ ffmpeg.video_frame_size = "#{options[:width]}x#{options[:height]}"
65
+ ffmpeg.disable_audio = true
66
+ ffmpeg.overwrite_output_files = true
67
+ ffmpeg.output = image
63
68
  end
69
+
70
+ image_search = image.split('%d').map { |part|
71
+ Regexp.escape(part)
72
+ }.join('*')
73
+
74
+ return Dir[image_search]
64
75
  end
65
76
 
66
77
  end
@@ -27,7 +27,7 @@ module RTranscoder
27
27
  # Video options
28
28
  long_option :flag => '-vframes', :name => :video_frames
29
29
  short_option :flag => '-r', :name => :fps
30
- short_option :flag => '-s', :name => :video_frame_dimension
30
+ short_option :flag => '-s', :name => :video_frame_size
31
31
  long_option :flag => '-aspect', :name => :aspect_ratio
32
32
  long_option :flag => '-croptop', :name => :crop_top
33
33
  long_option :flag => '-cropbottom', :name => :crop_bottom
@@ -0,0 +1,10 @@
1
+ require 'rtranscoder/ffmpeg/ffmpeg'
2
+
3
+ module RTranscoder
4
+ #
5
+ # See FFmpeg.thumbnail.
6
+ #
7
+ def RTranscoder.thumbnail(options={})
8
+ FFmpeg.thumbnail(options)
9
+ end
10
+ end
@@ -0,0 +1 @@
1
+ require 'rtranscoder/mplayer/mencoder'
@@ -0,0 +1,2 @@
1
+ require 'rtranscoder/mplayer/mplayer'
2
+ require 'rtranscoder/mplayer/mencoder'
@@ -1,4 +1,4 @@
1
- require 'rtranscoder/mencoder/mencoder_task'
1
+ require 'rtranscoder/mplayer/mencoder_task'
2
2
  require 'rtranscoder/extensions'
3
3
 
4
4
  require 'rprogram/program'
@@ -20,7 +20,7 @@ module RTranscoder
20
20
  # See MEncoder#encode.
21
21
  #
22
22
  def self.encode(options={},&block)
23
- self.create.encode(options,&block)
23
+ self.find.encode(options,&block)
24
24
  end
25
25
 
26
26
  #
@@ -3,28 +3,7 @@ require 'rtranscoder/mplayer/mplayer_common_task'
3
3
  module RTranscoder
4
4
  class MEncoderTask < MPlayerCommonTask
5
5
 
6
- # Decoding/Filtering options
7
- long_option :flag => '-ac', :name => :audio_codecs # TODO: add formating
8
- long_option :flag => '-af-adv', :name => :advanced_audio_filtering # TODO: add formating
9
- long_option :flag => '-afm', :name => :audio_codec_families # TODO: add formating
10
- long_option :flag => '-aspect', :name => :aspect_ratio
11
- long_option :flag => '-noaspect', :name => :disable_aspect_ratio
12
- long_option :flag => '-field-dominance'
13
- long_option :flag => '-flip'
14
- long_option :flag => '-lavdopts', :name => :libavcodec # TODO: add formating
15
- long_option :flag => '-noslices', :name => :disable_slices
16
- long_option :flag => '-nosound', :name => :disable_sound
17
- long_option :flag => '-novideo', :name => :disable_video
18
- long_option :flag => '-pp', :name => :dll_postprocess_level
19
- long_option :flag => '-pphelp', :name => :postprocess_help
20
- long_option :flag => '-ssf', :name => :software_scaler
21
- long_option :flag => '-stereo'
22
- long_option :flag => '-sws', :name => :software_scaler_algorithm
23
- long_option :flag => '-vc', :name => :video_codecs
24
- long_option :flag => '-vfm', :name => :video_codec_families
25
- long_option :flag => '-xvidopts', :name => :xvid_decoding
26
-
27
- # General encoding options
6
+ # General Encoding options
28
7
  long_option :flag => '-audio-delay'
29
8
  long_option :flag => '-audio-density'
30
9
  long_option :flag => '-audio-preload'
@@ -32,7 +11,7 @@ module RTranscoder
32
11
  long_option :flag => '-ffourcc', :name => :video_fourcc
33
12
  long_option :flag => '-force-avi-aspect'
34
13
  long_option :flag => '-hr-edl-seek', :name => :hires_edl_seek
35
- long_option :flag => '-info' # TODO: add formating
14
+ sub_options :flag => '-info'
36
15
  long_option :flag => '-noautoexpand', :name => :disable_auto_expand
37
16
  long_option :flag => '-noencodedups', :name => :ignore_duplicate_frames
38
17
  long_option :flag => '-noodml', :name => :disable_open_dml_index
@@ -48,11 +27,13 @@ module RTranscoder
48
27
  long_option :flag => '-vobsuboutid', :name => :vob_output_subtitle_language
49
28
  long_option :flag => '-vobsuboutindex', :name => :vob_output_subtitle_index
50
29
 
30
+ protected
31
+
51
32
  def self.codec_options(name)
52
- long_option :flag => "-#{name}opts" # TODO: add formating
33
+ long_option :flag => "-#{name}opts", :name => name, :separator => ':', :sub_options => true
53
34
  end
54
35
 
55
- # Codec specific encoding options
36
+ # Codec Specific Encoding options
56
37
  codec_options :lavc
57
38
  codec_options :xvidenc
58
39
  codec_options :lame
@@ -65,7 +46,8 @@ module RTranscoder
65
46
  codec_options :mpeg
66
47
  codec_options :lavf
67
48
 
68
- non_option :leading => true, :name => :input
49
+ non_option :tailing => true, :name => :input
50
+ non_option :tailing => true, :name => :output_file
69
51
  non_option :tailing => true, :name => :smb_output
70
52
 
71
53
  end
@@ -20,7 +20,7 @@ module RTranscoder
20
20
  # See MPlayer#play.
21
21
  #
22
22
  def self.play(options={},&block)
23
- self.create.play(options,&block)
23
+ self.find.play(options,&block)
24
24
  end
25
25
 
26
26
  #
@@ -3,6 +3,16 @@ require 'rprogram/task'
3
3
  module RTranscoder
4
4
  class MPlayerCommonTask < RProgram::Task
5
5
 
6
+ protected
7
+
8
+ def self.sub_options(opts={})
9
+ long_option :flag => opts[:flag], :name => opts[:name], :separator => ':', :sub_options => true
10
+ end
11
+
12
+ def self.priority_list(opts={})
13
+ long_option :flag => opts[:flag], :name => opts[:name], :separator => ','
14
+ end
15
+
6
16
  # General options
7
17
  long_option :flag => '-codecs-file'
8
18
  long_option :flag => '-include'
@@ -31,7 +41,7 @@ module RTranscoder
31
41
  long_option :flag => '-nocache'
32
42
  long_option :flag => '-cache-min', :name => :cache_minimum
33
43
  long_option :flag => '-cache-seek-min', :name => :cache_seek_minimum
34
- long_option :flag => '-cdda'
44
+ sub_options :flag => '-cdda'
35
45
  long_option :flag => '-cdrom-device'
36
46
  long_option :flag => '-channels'
37
47
  long_option :flag => '-chapter'
@@ -54,8 +64,8 @@ module RTranscoder
54
64
  long_option :flag => '-noidx', :name => :skip_index
55
65
  long_option :flag => '-ipv4-only-proxy'
56
66
  long_option :flag => '-loadidx', :name => :load_index
57
- long_option :flag => '-mc' # TODO: add formating
58
- long_option :flag => '-mf' # TODO: add formating
67
+ long_option :flag => '-mc'
68
+ sub_options :flag => '-mf'
59
69
  long_option :flag => '-ni', :name => :non_interleaved_avi_parser
60
70
  long_option :flag => '-nobps', :name => :disable_bps
61
71
  long_option :flag => '-noextbased', :name => :disable_ext_based_demuxer
@@ -63,10 +73,10 @@ module RTranscoder
63
73
  long_option :flag => '-prefer-ipv4'
64
74
  long_option :flag => '-prefer-ipv6'
65
75
  long_option :flag => '-psprobe', :name => :probe_into_stream
66
- long_option :flag => '-pvr' # TODO: add formating
67
- long_option :flag => '-radio' # TODO: add formating
68
- long_option :flag => '-rawaudio', :name => :raw_audio # TODO: add formating
69
- long_option :flag => '-rawvideo', :name => :raw_video # TODO: add formating
76
+ sub_options :flag => '-pvr'
77
+ sub_options :flag => '-radio'
78
+ sub_options :flag => '-rawaudio', :name => :raw_audio
79
+ sub_options :flag => '-rawvideo', :name => :raw_video
70
80
  long_option :flag => '-rtsp-port'
71
81
  long_option :flag => '-rtsp-destination'
72
82
  long_option :flag => '-rtsp-stream-over-tcp'
@@ -78,12 +88,44 @@ module RTranscoder
78
88
  long_option :flag => '-tskeepbroken', :name => :ignore_broken_ts_packets
79
89
  long_option :flag => '-tsprobe', :name => :probe_into_ts_stream
80
90
  long_option :flag => '-tsprog', :name => :ts_program
81
- long_option :flag => '-tv' # TODO: add formating
82
- long_option :flag => '-tvscan', :name => :tv_scan # TODO: add formating
91
+ sub_options :flag => '-tv'
92
+ sub_options :flag => '-tvscan', :name => :tv_scan
83
93
  long_option :flag => '-user', :name => :http_username
84
94
  long_option :flag => '-user-agent', :name => :http_user_agent
85
95
  long_option :flag => '-vid', :name => :video_channel
86
96
  long_option :flag => '-vivo', :name => :vivo_audio_parameters
87
97
 
98
+ # Decoding/Filtering options
99
+ priority_list :flag => '-ac', :name => :audio_codecs
100
+ sub_options :flag => '-af-adv', :name => :advanced_audio_filtering
101
+ priority_list :flag => '-afm', :name => :audio_codec_families
102
+ long_option :flag => '-aspect', :name => :aspect_ratio
103
+ long_option :flag => '-noaspect', :name => :disable_aspect_ratio
104
+ long_option :flag => '-field-dominance'
105
+ long_option :flag => '-flip'
106
+ sub_options :flag => '-lavdopts', :name => :libavcodec
107
+ long_option :flag => '-noslices', :name => :disable_slices
108
+ long_option :flag => '-nosound', :name => :disable_sound
109
+ long_option :flag => '-novideo', :name => :disable_video
110
+ long_option :flag => '-pp', :name => :dll_postprocess_level
111
+ long_option :flag => '-pphelp', :name => :postprocess_help
112
+ long_option :flag => '-ssf', :name => :software_scaler
113
+ long_option :flag => '-stereo'
114
+ long_option :flag => '-sws', :name => :software_scaler_algorithm
115
+ priority_list :flag => '-vc', :name => :video_codecs
116
+ priority_list :flag => '-vfm', :name => :video_codec_families
117
+ sub_options :flag => '-xvidopts', :name => :xvid_decoding
118
+ long_option :flag => '-zoom'
119
+
120
+ # Audio Filters
121
+ sub_options :flag => '-af', :name => :audio_filters
122
+
123
+ # Video Filters
124
+ sub_options :flag => '-vf', :name => :video_filters
125
+ long_option :flag => '-vf-add', :name => :append_video_filters, :separator => ','
126
+ long_option :flag => '-vf-pre', :name => :prepend_video_filters, :separator => ','
127
+ long_option :flag => '-vf-del', :name => :delete_video_filters, :separator => ','
128
+ long_option :flag => '-vf-clr', :name => :clear_video_filters
129
+
88
130
  end
89
131
  end
@@ -3,7 +3,7 @@ require 'rtranscoder/mplayer/mplayer_common_task'
3
3
  module RTranscoder
4
4
  class MPlayerTask < MPlayerCommonTask
5
5
 
6
- # Player Options
6
+ # Player options
7
7
  long_option :flag => '-autoq', :name => :auto_quality
8
8
  long_option :flag => '-autosync', :name => :auto_sync
9
9
  long_option :flag => '-benchmark'
@@ -48,5 +48,68 @@ module RTranscoder
48
48
  long_option :flag => '-softsleep', :name => :soft_sleep
49
49
  long_option :flag => '-sstep', :name => :skip_step
50
50
 
51
+ # Audio Output options
52
+ long_option :flag => '-format', :name => :audio_format
53
+ long_option :flag => '-mixer', :name => :audio_mixer
54
+ long_option :flag => '-mixer-channel', :name => :audio_mixer_channel
55
+ long_option :flag => '-softvol', :name => :audio_software_mixer
56
+ long_option :flag => '-volstep', :name => :audio_volume_step
57
+
58
+ # Audio Output Drivers
59
+ priority_list :flag => '-ao', :name => :audio_options
60
+
61
+ # Video Output options
62
+ long_option :flag => '-adapter', :name => :video_adapter
63
+ long_option :flag => '-bpp', :name => :video_bpp
64
+ long_option :flag => '-border', :name => :video_border
65
+ long_option :flag => '-brightness', :name => :video_brightness
66
+ long_option :flag => '-contrast', :name => :video_contrast
67
+ long_option :flag => '-display', :name => :x11_display
68
+ long_option :flag => '-dr', :name => :enable_direct_rendering
69
+ sub_options :flag => '-dxr2', :name => :dxr2_options
70
+ long_option :flag => '-fbmode', :name => :frame_buffer
71
+ long_option :flag => '-fbmodeconfig', :name => :override_frame_buffer
72
+ long_option :flag => '-fs', :name => :fullscreen
73
+ long_option :flag => '-fstype', :name => :fs_type
74
+ long_option :flag => '-geometry'
75
+ long_option :flag => '-guiwid', :name => :gui_window
76
+ long_option :flag => '-hue'
77
+ long_option :flag => '-monitor-dotclock'
78
+ long_option :flag => '-monitor-hfreq'
79
+ long_option :flag => '-monitor-vfreq'
80
+ long_option :flag => '-monitoraspect', :name => :monitor_aspect
81
+ long_option :flag => '-monitorpixelaspect', :name => :monitor_pixel_aspect
82
+ long_option :flag => '-nodouble', :name => :disable_double_buffer
83
+ long_option :flag => '-nograbpointer', :name => :disable_pointer_grabbing
84
+ long_option :flag => '-nokeepaspect', :name => :disable_keep_aspect
85
+ long_option :flag => '-ontop', :name => :always_on_top
86
+ long_option :flag => '-panscan', :name => :pan_and_scan
87
+ long_option :flag => '-panscanrange', :name => :pan_and_scan_range
88
+ long_option :flag => '-refreshrate', :name => :refresh_rate
89
+ long_option :flag => '-rootwin', :name => :root_window
90
+ long_option :flag => '-saturation', :name => :video_saturation
91
+ long_option :flag => '-screenh', :name => :vertical_resolution
92
+ long_option :flag => '-screenw', :name => :horizontal_resolution
93
+ long_option :flag => 'stop-xscreensaver', :name => :disable_xscreensaver
94
+ long_option :flag => '-vm', :name => :video_mode
95
+ long_option :flag => '-vsync', :name => :video_sync
96
+ long_option :flag => '-wid', :name => :window
97
+ long_option :flag => '-xineramascreen', :name => :xinerama_screen
98
+ long_option :flag => '-zrbw', :name => :zr_black_and_white
99
+ long_option :flag => '-zrcrop', :name => :zr_video
100
+ long_option :flag => '-zrdev', :name => :zr_output
101
+ long_option :flag => '-zrfd', :name => :zr_force_decimation
102
+ long_option :flag => '-zrhdec', :name => :zr_horizontal_decimation
103
+ long_option :flag => '-zrhelp', :name => :zr_help
104
+ long_option :flag => '-zrquality', :name => :zr_quality
105
+ long_option :flag => '-zrvdec', :name => :zr_vertical_decimation
106
+ long_option :flag => '-zrxdoff', :name => :zr_x_offset
107
+ long_option :flag => '-zrydoff', :name => :zr_y_offset
108
+
109
+ # Video Output Driver options
110
+ priority_list :flag => '-vo', :name => :video_output
111
+
112
+ non_option :tailing => true, :name => :media
113
+
51
114
  end
52
115
  end
@@ -1,3 +1,3 @@
1
1
  module RTranscoder
2
- VERSION = '0.0.9'
2
+ VERSION = '0.1.0'
3
3
  end
metadata CHANGED
@@ -1,45 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.4
3
+ specification_version: 1
2
4
  name: rtranscoder
3
5
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
6
+ version: 0.1.0
7
+ date: 2008-01-27 00:00:00 -08:00
8
+ summary: A Rubyful interface to various transcoding utilities using the RProgram library.
9
+ require_paths:
10
+ - lib
11
+ email: postmodern.mod3@gmail.com
12
+ homepage: " by Hal Brodigan"
13
+ rubyforge_project: rtranscoder
14
+ description: "No more must one have to provide a shell command in order to run ffmpeg or mencoder for one's transcoding needs. RTranscoder and RProgram have mapped all the command-line options of various transcoding utilities to Ruby classes and methods for your convenience. == FEATURES/PROBLEMS: * Supports FFmpeg. * Supports MPlayer. * Supports MEncoder. == REQUIREMENTS: * RProgram"
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
5
25
  platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
6
29
  authors:
7
30
  - Hal Brodigan
8
- autorequire:
9
- bindir: bin
10
- cert_chain: []
11
-
12
- date: 2008-01-17 00:00:00 -08:00
13
- default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rprogram
17
- version_requirement:
18
- version_requirements: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 0.1.0
23
- version:
24
- - !ruby/object:Gem::Dependency
25
- name: hoe
26
- version_requirement:
27
- version_requirements: !ruby/object:Gem::Requirement
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- version: 1.4.0
32
- version:
33
- description: "No more must one have to provide a shell command in order to run ffmpeg or mencoder for one's transcoding needs. RTranscoder and RProgram have mapped all the command-line options of various transcoding utilities to Ruby classes and methods for your convenience. == FEATURES/PROBLEMS: * Supports FFmpeg. * Supports MPlayer. * Supports MEncoder. == REQUIREMENTS: * RProgram"
34
- email: postmodern.mod3@gmail.com
35
- executables: []
36
-
37
- extensions: []
38
-
39
- extra_rdoc_files:
40
- - History.txt
41
- - Manifest.txt
42
- - README.txt
43
31
  files:
44
32
  - History.txt
45
33
  - Manifest.txt
@@ -54,40 +42,46 @@ files:
54
42
  - lib/rtranscoder/ffmpeg.rb
55
43
  - lib/rtranscoder/ffmpeg/ffmpeg.rb
56
44
  - lib/rtranscoder/ffmpeg/ffmpeg_task.rb
57
- - lib/rtranscoder/ffmpeg/extensions.rb
58
- - lib/rtranscoder/ffmpeg/extensions/integer.rb
45
+ - lib/rtranscoder/ffmpeg/rtranscoder.rb
46
+ - lib/rtranscoder/mplayer.rb
47
+ - lib/rtranscoder/mencoder.rb
59
48
  - lib/rtranscoder/mplayer/mplayer_common_task.rb
60
49
  - lib/rtranscoder/mplayer/mplayer.rb
61
50
  - lib/rtranscoder/mplayer/mplayer_task.rb
62
51
  - lib/rtranscoder/mplayer/mencoder.rb
63
52
  - lib/rtranscoder/mplayer/mencoder_task.rb
64
53
  - test/test_rtranscoder.rb
65
- has_rdoc: true
66
- homepage: " by Hal Brodigan"
67
- post_install_message:
54
+ test_files:
55
+ - test/test_rtranscoder.rb
68
56
  rdoc_options:
69
57
  - --main
70
58
  - README.txt
71
- require_paths:
72
- - lib
73
- required_ruby_version: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- version: "0"
78
- version:
79
- required_rubygems_version: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: "0"
84
- version:
59
+ extra_rdoc_files:
60
+ - History.txt
61
+ - Manifest.txt
62
+ - README.txt
63
+ executables: []
64
+
65
+ extensions: []
66
+
85
67
  requirements: []
86
68
 
87
- rubyforge_project: rtranscoder
88
- rubygems_version: 1.0.1
89
- signing_key:
90
- specification_version: 2
91
- summary: A Rubyful interface to various transcoding utilities using the RProgram library.
92
- test_files:
93
- - test/test_rtranscoder.rb
69
+ dependencies:
70
+ - !ruby/object:Gem::Dependency
71
+ name: rprogram
72
+ version_requirement:
73
+ version_requirements: !ruby/object:Gem::Version::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: 0.1.3
78
+ version:
79
+ - !ruby/object:Gem::Dependency
80
+ name: hoe
81
+ version_requirement:
82
+ version_requirements: !ruby/object:Gem::Version::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: 1.4.0
87
+ version:
@@ -1 +0,0 @@
1
- require 'rtranscoder/ffmpeg/extensions/integer'
@@ -1,12 +0,0 @@
1
- class Integer
2
-
3
- #
4
- # Returns an FFmpeg dimension +String+ of +self+ by the specified _height_.
5
- #
6
- # 640.by(480) # => "640x480"
7
- #
8
- def by(height)
9
- "#{self}x#{height}"
10
- end
11
-
12
- end