2012-06-20 76 views
8

我想記錄屏幕(通過每秒捕獲15個屏幕截圖)。這部分我知道該怎麼做。但我不知道如何將它寫入一些流行的視頻格式。我發現的最佳選擇是將幀寫入分離的PNG文件,並使用命令行Mencoder將其轉換爲多種輸出格式。但也許有人有另一個想法?編程屏幕記錄器 - 輸出問題

要求:

  • 必須是多平臺解決方案(我用免費帕斯卡爾/拉撒路)。 Windows,Linux,MacOS
  • 爲什麼會存在一些圖書館?
  • 可能是複雜的命令行應用程序,也爲我記錄屏幕,但我必須有可能編輯幀之前轉換整個原始數據流行的視頻格式
  • 所有材料,可以給我一些想法,讚賞。 API,圖書館,任何東西,甚至在其他語言比FPC(我會嘗試重寫或找到一些等效)
  • 我認爲也寫幀到視頻RAW格式,然後使用Mencoder(他可以處理它)或其他解決方案,但可以「找不到視頻RAW數據

問候

+0

[ffmpeg](http://ffmpeg.org/)是跨平臺的,根據LGPL或GPL許可,最近更新。 – Argalatyr

+0

它看起來像Mencoder項目。所以我有輸出編碼的解決方案。但是如何爲這些編碼器準備輸入?我正在尋找與系列PNG文件不同的東西 – Dibo

+0

[docs](http://ffmpeg.org/faq.html#How-do-I-encode-single-pictures-into-movies_003f)描述了圖像編碼幀到MPEG。這不會做你想要的嗎? – Argalatyr

回答

4

Argalatyr已經提到的ffmpeg的任何API /文件。

有兩種方法,你可以得到那個工作:

  1. 通過產卵一個新的進程。您只需準備正確的輸入(例如可以是一系列jpeg圖像)以及正確的命令行參數。之後,您只需調用ffmpeg.exe並等待它完成。

  2. ffmpeg利用一些dll的實際工作。你可以在你的Delphi應用程序中直接使用這些DLL。這需要更多的工作,因爲它更低級,但最終它會更好地控制發生的情況以及在處理過程中向用戶顯示的內容。

這裏有一些解決方案來看看:

+1

+1很棒的建議。 – Argalatyr

+0

謝謝大家! DLL解決方案看起來有希我檢查了一下 – Dibo

+0

@Wouter:你現在可能想編輯你的答案,現在有人已經刪除了我的(以前的)答案,只不過是評論。對我來說似乎不公平,但他們是休息時間。 – Argalatyr

-1

有一個Delphi組件here一些早期的討論。這是一個非常簡單的組件,有時會產生一些奇怪的電影。也許是一個開始。

+0

您是否看到OP的第一個要求? 「跨平臺」 – Argalatyr