私はコア機能の一部としてffmpeg
を使用するPythonプロジェクトに取り組んでいます。基本的に私が使用ffmpeg
からの機能は以下の2つのコマンドに沸く:Pythonアプリケーション内でFFmpegを使用する:ffmpegツールまたはlibav *ライブラリ?
ffmpeg -i udp://<address:port> -qscale:v 2 -vf "fps=30" sttest%04d.jpg
ffmpeg -i udp://<address:port> -map data-re -codec copy -f data out.bin
かなりシンプルなものを。
私は、上記のffmpeg
機能を使用する自己完結型プログラムを作成しようとしています。これは、必要な依存関係を持つシステムに頼ることなく、特定のシステムに簡単にインストールできます。プログラムそのもの。
これを念頭に置いて、libav*
ライブラリを使用してプログラム内からこの機能を実行するのが最善でしょうか?または、ffmpeg
コマンドラインツールのラッパー(ffmpy
)を使用するとよいでしょうか?それぞれの欠点に関する私の現在の考え方は、ライブラリの使用がベストプラクティスかもしれないが、それらを使用する方法を習得するのは非常に複雑すぎるようである(そして、私が学んだことのないCを、上記の2つの基本的なことをする。図書館は全体的に私にとっては少しブラックボックスであり、非常に多くの文書を持っていません。しかし、ffmpeg
のラッパーを使用する際の問題は、本質的にサブプロセスを呼び出すことに依存していることにあります。なぜ私はサブプロセスにそれほど意識的に反対しているのか分かりませんが。
Cがわからない場合は、コマンドラインユーティリティに固執してください。 – halfelf