2009-08-19 36 views
0

我是計算機工程專業的最後一名學生。作爲我最後一年的項目,我決定爲Linux創建一個多媒體編碼器,可能是跨平臺的。爲Linux創建GUI CLI

我的問題是:我怎樣才能創建一個ffmpeg的GUI(即如何我可以通過命令行參數從GUI)?

我試圖使用Qt跨平臺開發。

+0

相關http://stackoverflow.com/questions/1353032/developing-for-linux – warren 2009-08-30 04:11:04

回答

0

紅帽人使用PythonpyGTK來編寫他們的CLI GUI。

博客上發佈:http://www.oreillynet.com/onlamp/blog/2008/02/red_hats_emerging_technology_g.html

+0

嗯,我不知道蟒蛇。 但我可以去4 java,Qt(C++)等 你可以建議我其他工具也爲此目的。 – varunmagical 2009-08-19 10:32:52

+1

Python會比Java更容易包裝C程序。這很容易學習 - 語法最初是基於教學語言。與使用JNI將ffmpeg連接到應用程序相比,您可能花費更少的時間學習Python; - } – ConcernedOfTunbridgeWells 2009-08-19 10:40:53

3

的Tcl/Tk的設計嵌入腳本到C程序和可能是最容易的任何語言的使用要做到這一點。它有幾種做這種嵌入的機制。該API使用argv將其改裝爲命令行C程序非常容易,因爲它具有將原生Tcl數據結構轉換爲char**或從char**轉換而來的要求。它也有稱爲Tk的GUI工具包,它有點基本但很容易使用,比你想象的要靈活得多。

在你的情況,你會在Tcl中可能使用的兩種機制的地方,你只需要調用主從您的TCL程序,傳遞參數的嵌入。另一個是用合適的命令行參數分解進程並等待它完成。 Tcl很容易完成。

我不知道任何QT綁定Tcl的,但它是非常便攜和Tk可以爲主題thesedays所以它看起來並不像一個老式的1990年花片應用。

this posting到話題進行更深入的討論。

+1

我喜歡tcl/tk解決方案,沒有更簡單的方法來編寫跨平臺GUI。而且,tcl可能比大多數其他語言更容易產生一個進程並獲得它的輸出。這裏有一個如何做到這一點的例子:http://stackoverflow.com/questions/166231/tcl-tk-examples – 2009-08-19 11:09:16

+0

我也是。 OP的問題聽起來像是Tcl/Tk的應用。有趣的是,我的團隊使用C和Tcl/Tk來完成我們最後一年的軟件工程項目。它在C中有一箇中心引擎,在Tcl/Tk中有一個UI包裝器。工作過一種享受。 – ConcernedOfTunbridgeWells 2009-08-19 12:57:07

2

你想從你的應用程序中調用的ffmpeg?如果是這樣,看看QProcess。您甚至可以從ffmpeg進程捕獲stdout和stderr流,並使用該信息(例如)驅動進度條或顯示錯誤。

如果您實際上想要將一個GUI應用程序嵌入到另一個GUI應用程序中,那就更困難了,尤其是以獨立於平臺的方式進行操作。