Linuxにffmpegとffmpeg-develパッケージをインストールしました。
Oracle11gがインストールされて実行されています。
データベースにはメディアファイルが保存されており、ストリーミングを改善するには、それらをAVI形式に変換する必要があります。
統合を容易にするために、この変換をデータベースで実行します。
ここで、最も簡単なオプションは、ffmpegコマンドラインユーティリティのラッパーを記述し、PLSQLプロシージャがこれを呼び出すことができるようにすることです。
ただし、これには次の手順が必要です。
- ビデオBLOBを読む
- OSファイルに書き込む
- (2)のファイル名と出力ファイル名を指定してffmpegラッパーを呼び出します
- 出力ファイルを3からPLSQLのBLOBにロードします
可能であれば、入力をBLOB(OciLOBLocator)として受け入れ、LOBを提示する適切なlibavformat関数を呼び出し、リターンをLOB(ここでもOciLOBLOcator)に書き込むCルーチンを(Oracle外部ライブラリ機能を使用して)記述したいと思います。これは、PLSQLレイヤーがAVIファイルとして使用するものです。
これの他の利点は、Oracle内からOSコマンドを発行することによる望ましくない影響を回避できることです。
私が抱えている問題は、ffmpegの例ではファイルからのデータの処理が示されているのに対し、LOBを処理するにはライブラリが必要なことです。
別の方法は、OracleのOrdVideoデータ型がsetformatとprocessを使用してこの種の変換を行うかどうかを確認することです。