So, heute hab ich mich mal intensiver mit dem Projekt "Folien und Videos hochladen" beschäftigt.
Nach ein paar Recherchen auf rubyforge.org bin ich zuerst auf das Tool flvtool2 und dann auf rvideo gestoßen. Es geht darum, dass man die Videos in .mov, .mpg usw. auf den Server hochlädt und dieser sie dann in .flv umwandelt. So kann man dann die Videos ohne Probleme mit dem Flash-Player im Browser anschauen. Mit rvideo hat man die Möglichkeit auf ffmpeg zuzugreifen.
Das Programm ermöglicht einem Videos in verschiedene Formate zu transcodieren. Mit relativ wenig Ruby-Code kann man dann z.B. aus einer .mpg eine .flv-Datei basteln. Ein Problem hat mich fast zur Verzweiflung gebracht. Nach der Transcodierung hatte die .flv-Datei keinen Sound... nicht wirklich optimal :-). Nach langer Fehlersuche habe ich plötzlich gemerkt, dass meine ffmpeg-Version nicht mehr auf dem aktuellen Stand ist! So konnte auch nicht lame eingebunden werden und damit keine mp3 in die flv-Datei. Naja, jetzt gehts und ich bin zufrieden ^^.
Hier noch der Code:
require 'rubygems'
require 'rvideo'
#file = RVideo::Inspector.new(:file => "lions.mpg")
#print file.audio_codec
#print file.video_codec
transcoder = RVideo::Transcoder.new
recipe = "ffmpeg -i lions.mpg -s 640x480 -s"
recipe += " 640x480 -y test2.flv"
#recipe += "\nflvtool2 -U test2.flv"
begin
transcoder.execute(recipe, {:input_file => "lions.mpg",
:output_file => "test2.flv", :resolution => "640x480"})
rescue TranscoderError => e
puts "Unable to transcode file: #{e.class} - #{e.message}"
end
Comments (1)
Hallo,
danke für den Beitrag. Ich hab jedoch folgendes Problem:
C:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:477:in `const_missing': uninitialized constant VideoTranscoding::TranscoderError (NameError)
from P:/video_transcoding/VideoTranscoding/lib/video_transcoding.rb:18:in `tc'
from P:/video_transcoding/VideoTranscoding/lib/video_transcoding.rb:25
Woran kann das liegen ?
Posted by Philipp | February 27, 2008 5:05 PM
Posted on February 27, 2008 17:05