Ruby とプログラミングの初心者で、経験は 1 年未満です。これは ruby 1.9.3 であり、FFmpeg の Ubuntu 用の最新の ffmpeg です。私が使用しているファイルは、基本的な .avi、一部の v210 .mov、その他の quicktime/finalcutpro タイプのファイルです。
大量のメディア ファイルのテストと処理を開始するときに、手作業の負荷を軽減するのに役立つ自動プローブ ツールを作成しようとしています。基本的に、スクリプトはディレクトリを通過し、各ファイルをプローブして、必要な情報を抽出し、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 で失敗します。
どんな助けでも素晴らしいでしょう、私はしばらくこれにこだわっています。ありがとう!明確にするために必要な場合は、さらにコードを提供できます。