簡體   English   中英

如何將 webm 文件解碼為原始 pcm?

[英]how can I decode webm file to raw pcm?

整體流程如下。 客戶端以某種格式(webm 或 wav)錄制一段時間(例如 5 秒)的語音,然后使用 websocket 將其發送到服務器。

服務器收到幾個數據包(每個數據包大小為 4096 字節),並將每個數據包發送到 opus 解碼器。 但 opus 解碼器返回無效數據包錯誤。

服務器在 ubuntu 中使用 c++(使用 libwebsocket 和 libopus 庫)編碼。

誰能幫我怎么辦? 一般程序或一些示例代碼都可以,但很難找到信息或社區。

謝謝

opus 解碼器可能需要一個 Ogg Opus 容器文件。 如果您使用 WebM,您可以提取編碼的音頻頁面並將它們傳遞給不依賴於 Ogg 容器的原始 Opus 解碼器。 您還可以看到ffmpeg項目如何將 WebM Opus 文件解碼為 PCM

客戶端可以發送 Ogg Opus 文件而不是 WebM Opus 文件嗎? 有一個用 C 編寫的基於塊的解碼器,可以非常快速地解碼 Ogg Opus 文件。 它適用於 WebAssembly,但 C 代碼不依賴於 WASM。 參見opus_chunk_decoder.c

https://github.com/AnthumChris/opus-stream-decoder/tree/master/src

暫無
暫無

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

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