![](/img/trans.png)
[英]How to encode series of images into VP8 using WebM VP8 Encoder API? (C/C++)
[英]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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.