2009-06-17 28 views
3

我試圖做的是採取了「輸入」的視頻文件(我可以把它的任何文件類型將使這個最簡單的),然後,通過我的代碼,添加文本到視頻文件。添加文本到視頻和保存輸出

因此,例如,它會採取 'Sample1.mpg' 輸出 'Sample2.mpg'。它不會顯示視頻(我已經發現了一些教程,談論文本疊加在視頻播放;但實際上沒有修改的視頻文件

基本上,我想能夠說, 。「從1秒到200,畫出‘嗨媽媽’在這個字體位置0,0」,並有保存在outputed視頻只要運行輸出的視頻信號,與任何一名球員,你會最終看到文本;因爲它會是視頻文件的一部分。

我聽說像,「DirectShow的!」索賠,但我真的歡迎任何稍微更具體。

回答

1

您可以使用名爲AviSynth的

鏈接一個非常強大的腳本語言: http://avisynth.org/

它與任何文件,你可以玩,它使用的DirectShow。

只要安裝它,它基本上安裝VFW編解碼器,但很容易。 打開記事本,輸入

DirectShowSource("C:\dir\filename.extension") 
Subtitle("Put Your text here") 

另存爲 「任何名稱。AVS

而且THAT'S IT。現在任何AVI能力的應用程序中打開它(你甚至可以命名,如果你想它AVI格式!),然後重新編碼視頻,或做處理。非常容易和自動。它也適用於圖片。

對於字幕的完整參考()功能,請到這裏: http://avisynth.org/mediawiki/Subtitle

當然

,如果你掌握了它,就像打印記錄的每一幀上的系統日期(對於安全非常有用的AviSynth能做的奇蹟凸輪)或者甚至複雜的處理等的頂線降噪,銳化和許多其它任務,通過外部pugins。

外部普金參考: http://avisynth.org/mediawiki/External_plugins

輕鬆下載插件: http://avisynth.org/warpenterprises/

這是因爲它得到簡單。兩行代碼,你有一個可打開的,可搜索,加工,可轉換完全兼容,小於1 KB AVI

0

退房的Adobe Premier API我不是。當然,我如果有.NET庫,或者必須進行互操作。

1

我會(在字幕上,即時當你打開你的應用程序中的AVS加)建議您閱讀更多這個:

Options for predictable frame capture in .NET application

,然後使用

Graphics g = Graphics.FromImage(bitmap); 

要獲得幀到.NET,然後在看看使用此:

GraphicsPath path = new GraphicsPath(); 
path.AddString("Yadda", font.FontFamily, (int)font.Style, font.Size, rect, format); 

然後使用

g.FillPath(..path..) 

附圖添加到該幀。

如何將其粘貼回MPG?我想你會回到使用頂部鏈接中引用的代碼/項目。

它只是在我看來是一個提取BMP幀的情況下,使用.NET繪圖添加東西,然後重新插入。看看如何在.NET中創建CAPTCHA可能會有所幫助。

祝你好運!