2013-05-12 70 views
9

我想知道是否有可能使用ffmpeg將視頻或音頻文件的音頻通道繪製爲圖像,或者是否有其他工具可以在Win2k8 x64上執行此操作。在用戶上傳視頻或音頻文件後,我將此作爲編碼過程的一部分。ffmpeg - 我可以將音頻通道作爲圖像嗎?

我使用ColdFusion 10來處理上傳並調用cfexecute來運行ffmpeg。

我需要的圖像看起來像這樣(不水平線):

enter image description here

+1

實用程序['wav2png'](https://github.com/beschulz/wav2png)似乎正是爲此目的而設計的。你插入一個WAV文件,並獲得一個PNG圖像。但它僅限於Linux和OS X. – slhck 2013-05-12 19:29:52

+0

顯然wave2png可能會在Windows上編譯。我的C++世界遍佈全球。我想知道有沒有人有這樣的運氣。但是,它確實需要.wav文件,它可能可以使用ffmpeg創建。不確定。 – Redtopia 2013-05-16 05:23:29

+2

你可以通過'ffmpeg -i input output.wav'從任何輸入中獲得一個WAV文件。 – slhck 2013-05-16 08:57:40

回答

10

你可以做到這一點編程變得非常容易。

研究FFmpeg的基礎知識。我建議你編譯this sample。它解釋瞭如何打開視頻/音頻,識別數據流並循環數據包。

一旦你有數據包(在這種情況下,你只對音頻數據包感興趣)。您將解碼它(本文檔的第87行)並獲取音頻的原始數據。這是波形本身(音頻的模擬「位圖」)。你也可以研究this sample。第二個例子是如何編寫視頻/音頻文件。您不想編寫任何視頻,但使用此示例,如果您看到函數get_audio_frame()和write_audio_frame(),則可以輕鬆瞭解音頻原始數據包的工作方式。

你需要有一些關於創建位圖的知識。任何平臺都有一個簡單的方法來做到這一點。

所以,你的答案是:是的,它可能會用FFMPEG做到這一點!但是你要爲了得到你想要什麼樣的代碼一點點......

UPDATE:此

對不起,也有內置功能:

,您可以用這些過濾器...或

showspectrum,showwaves,avectorscope

下面是一些前關於如何使用它的大量:FFmpeg Filters - 12.22 showwaves

+1

謝謝!偉大的觀點和良好的聯繫! – Redtopia 2013-06-06 14:21:51

相關問題