對於Ruby和編程而言,我還是比較新的,不到一年的經驗。這是紅寶石1.9.3和FFmpeg的Ubuntu最新ffmpeg。我使用的文件是基本的.avi,一些v210 .mov,其他quicktime/finalcutpro類型的文件。使用Ruby運行FFprobe的問題
我想寫一個自動化的探測工具,當我開始測試並處理大量媒體文件時,這將幫助減輕手動工作負載。基本上,腳本通過一個目錄並探測每個文件,提取我需要的信息,並將其寫入csv。
目前,每當我運行它,命令行上的實際捕獲失敗。
def prober(file)
@the_file = file
stdout,stderr,status = Open3.capture3("ffprobe -v quiet -print_format json - show_format -show_streams #{@the_file}")
STDERR.puts stderr
if status.success?
out = stdout
else
STDERR.puts "There was a problem, please try again."
end
@raw_output = JSON.parse(out)
end
我不知道這是否是值得做的,我怎麼運行的命令(我真的不完全理解I/O流),或ffprobe東西。當它確實通過探針時,它返回@raw_output爲nil,這會導致JSON解析嘔吐,或者我的其他分裂和解析元數據的方法在nil上失敗。
任何幫助都會很好,我一直堅持這一段時間。謝謝!如果需要澄清,我可以提供更多代碼。