我在Linux上安裝了ffmpeg和ffmpeg-devel軟件包。從Oracle調用ffmpeg api
Oracle 11g已安裝並正在運行。
數據庫存儲媒體文件,爲了獲得更好的流媒體效果,我們需要將它們轉換爲AVI格式。
爲便於集成,我們希望在數據庫中進行這種轉換。
現在,最簡單的選擇是爲ffmpeg命令行實用程序編寫一個封裝器,並啓用PLSQL過程來調用它。
但是這需要以下步驟:
- 讀取視頻BLOB
- 寫入OS文件
- 呼叫ffmpeg的包裝給人由式(2)和輸出文件名
- 加載文件名輸出文件從3到PLSQL中的BLOB
我想盡可能寫一個C例程(使用Oracle Externa l庫函數),它將輸入作爲BLOB(OciLOBLocator)接受,調用相應的呈現LOB的libavformat函數,並將返回信息寫入LOB(再次是OciLOBLOcator),PLSQL層將其用作AVI文件。
這樣做的另一個好處是避免了從Oracle內部發布操作系統命令的不良影響。
我遇到的問題是給出的ffmpeg示例顯示了來自文件的數據處理,而我需要庫來處理LOB。
另一種方法是查看Oracle中的OrdVideo數據類型是否使用setformat和process來進行這種轉換。
邁克,謝謝你的迴應。是的,你是對的,這正是我想要做的。從數據庫中剔除操作系統命令會讓人們緊張,並且很難通過DBA警察。 我會查看該URL協議選項,並將在此處反饋我的發現。 – TenG
對這個問題仍然沒有有用的迴應。 – TenG
你仍然沒有在這裏反饋你的發現。這可能是你開創新局面的其中一件事。您是否嘗試過我的答案中概述的LOB/OciLOBLocator選項。我可能已經嘗試過了,但是,好吧......我並沒有真正安裝Oracle安裝。 –