FFmpegから動画のフレームレートやら時間, 解像度などの情報を取得するにはどうしたらいいかなんですが, 調べても入力動画だけを指定して実行したときのエラー出力にある情報を切り出してくるような方法しか見つかりませんでした。
仕方なくその方法で取得しようと思ったんですがFFmpegの吐き出している動画情報はエラー出力の方に吐き出されているようでPythonでエラー出力どうやるのか知らなかったのでメモしておきます。
popen2をimportして, 下記のようにpopen2.popen3を使うと標準エラー出力の文字列を取得できるようです。
stdout, stdin, stderr = popen2.popen3('ffmpeg -i video.avi')
stderrにエラー出力がfileオブジェクトとして格納されます。
FFmpegの動画情報を取得して表示する例は次のようになります。
あとはここから必要な文字列を頑張って切り出せば情報が取得できます。
なんかもっと簡単な方法ないのでしょうか。
仕方なくその方法で取得しようと思ったんですがFFmpegの吐き出している動画情報はエラー出力の方に吐き出されているようでPythonでエラー出力どうやるのか知らなかったのでメモしておきます。
popen2をimportして, 下記のようにpopen2.popen3を使うと標準エラー出力の文字列を取得できるようです。
stdout, stdin, stderr = popen2.popen3('ffmpeg -i video.avi')
stderrにエラー出力がfileオブジェクトとして格納されます。
FFmpegの動画情報を取得して表示する例は次のようになります。
import popen2
stdout, stdin, stderr = popen2.popen3('ffmpeg -i video.avi');
for line in stderr:
print(line);
あとはここから必要な文字列を頑張って切り出せば情報が取得できます。
なんかもっと簡単な方法ないのでしょうか。