簡體   English   中英

如何將像素從緩沖區編碼為h.264或VP8

[英]How to encode pixels from buffer to h.264 or VP8

我有一個應用程序(qt c ++)從USB設備讀取數據,然后將該數據解碼為存儲在uchar數組中的24位RGB像素。

幀速率約為10 FPS。 幀大小為128x4096。

問題是:如何將這些幀實時編碼為VP8或h.264視頻?

不允許外部進程,所有內容都需要在我的應用程序中運行。

ffmpeg是一個選項,但是如何將其包含到我的項目中並使用它呢? 至少可以說文檔很不好。 此外,x264可能是一個選項,但與ffmpeg相同。 而且價格也相當昂貴,單位價格為1美元,最低價格為10000美元。

簡單的指南會有所幫助,但我懷疑是否存在一個。

應用程序應在Windows和Linux中運行。

VP8 SDK的問題在於示例僅編碼為IVF。 由於安全漏洞(緩沖區溢出),該編解碼器似乎已被Microsoft關閉。 當您甚至無法檢查結果時,甚至很難獲得VP8項目設置。 它至少使用了BSD許可計划,並且據稱不受專利保護。 VP8 SDK包含一些用於轉換格式的例程,但它們被埋在源代碼樹中。

未提及的選項是Intel Media SDK,但是將您鎖定到Windows。

還有Theora和Dirac。

X264具有編碼器,但是要獲得商業許可證會很昂貴。 GPLv2源代碼不是“免費的”。 我不在乎他們試圖讓您相信什么。 還有一個名為“ Revel-真正簡單的視頻編碼庫”的項目。 這是獲取MPEG-4第2部分文件編碼的途徑。 H264是MPEG-4第10部分。H264也稱為AVC。 Revel也是GPL認證的。

Ffmpeg是一個包羅萬象的實用程序,它嘗試圍繞各種編碼器/解碼器創建包裝器。 如果將x264編碼器與其一起使用,它將變成GPLv2。

VP8 SDK包含文檔甚至一些示例代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM