我想提取一個圖像(第一幀)在qt中形成一個視頻文件。我使用ffmpeg應用程序來提取框架,它給出我需要的extact結果,但ffmpeg是一個獨立的應用程序,它重載了過程。所以我想把它作爲靜態鏈接。是否有可能使靜態鏈接到ffmpeg,是否有任何statick庫可用於從視頻中提取幀或有任何其他方式從視頻中提取幀?我不想使用Qt聲子,因爲它實際上打開了一個聲子對話框,然後進行scrrenshot。我想提取過程應該發生在後臺。如何從qt中的視頻文件中提取圖像?
由於提前
我想提取一個圖像(第一幀)在qt中形成一個視頻文件。我使用ffmpeg應用程序來提取框架,它給出我需要的extact結果,但ffmpeg是一個獨立的應用程序,它重載了過程。所以我想把它作爲靜態鏈接。是否有可能使靜態鏈接到ffmpeg,是否有任何statick庫可用於從視頻中提取幀或有任何其他方式從視頻中提取幀?我不想使用Qt聲子,因爲它實際上打開了一個聲子對話框,然後進行scrrenshot。我想提取過程應該發生在後臺。如何從qt中的視頻文件中提取圖像?
由於提前
你有兩個選擇:要麼通過ffmpeg
API,或通過ffmpeg
可執行文件。基本上
可執行方法:快速和骯髒的,不是說不好,如果做得正確,但不是很靈活
呼叫ffmpeg的可執行通過QProcess,然後從磁盤中讀取處理的數據。您需要從您自己的參數中構建ffmpeg命令行參數;能夠捕獲結果(失敗\成功)和。
API方法:長期的,乾淨的,但要求對工作顯著量在年初
個人而言,我會建議與可執行的方法來堅持,除非你不介意服用一個星期來學習ffmpeg API
。
OpenCV有一個內置videocapture API,它實際上包裝avcodec,更容易與 - 如果你不想混亂avcodec。編輯:Data conversion。