Class: FFSplitter::FFMpeg
- Inherits:
-
Object
- Object
- FFSplitter::FFMpeg
- Defined in:
- lib/ffsplitter/ffmpeg.rb
Instance Attribute Summary collapse
-
#filename ⇒ Object
Returns the value of attribute filename.
-
#output_directory ⇒ Object
Returns the value of attribute output_directory.
-
#runner ⇒ Object
Returns the value of attribute runner.
Instance Method Summary collapse
- #chapter_command(chapter) ⇒ Object
- #encode(chapters) ⇒ Object
-
#initialize(filename, output_directory = nil) ⇒ FFMpeg
constructor
A new instance of FFMpeg.
- #read_metadata ⇒ Object
Constructor Details
#initialize(filename, output_directory = nil) ⇒ FFMpeg
Returns a new instance of FFMpeg.
5 6 7 8 9 |
# File 'lib/ffsplitter/ffmpeg.rb', line 5 def initialize(filename, output_directory=nil) @filename = filename @output_directory = output_directory @runner = CommandRunner end |
Instance Attribute Details
#filename ⇒ Object
Returns the value of attribute filename.
3 4 5 |
# File 'lib/ffsplitter/ffmpeg.rb', line 3 def filename @filename end |
#output_directory ⇒ Object
Returns the value of attribute output_directory.
3 4 5 |
# File 'lib/ffsplitter/ffmpeg.rb', line 3 def output_directory @output_directory end |
#runner ⇒ Object
Returns the value of attribute runner.
3 4 5 |
# File 'lib/ffsplitter/ffmpeg.rb', line 3 def runner @runner end |
Instance Method Details
#chapter_command(chapter) ⇒ Object
20 21 22 23 |
# File 'lib/ffsplitter/ffmpeg.rb', line 20 def chapter_command(chapter) output_file = File.(chapter.filename, output_directory) "-i '#{filename}' -ss #{chapter.start_time} -to #{chapter.end_time} -c copy '#{output_file}.mp4'" end |
#encode(chapters) ⇒ Object
11 12 13 14 |
# File 'lib/ffsplitter/ffmpeg.rb', line 11 def encode(chapters) commands = chapters.collect { |c| chapter_command(c) } runner.run("ffmpeg #{commands.join(" ")}") end |
#read_metadata ⇒ Object
16 17 18 |
# File 'lib/ffsplitter/ffmpeg.rb', line 16 def runner.run("ffmpeg -i '#{filename}' -v quiet -f ffmetadata -") end |