簡體   English   中英

使用 ffmpeg 將 PCM-ALAW 數據轉換為音頻文件

[英]Converting PCM-ALAW data to an audio file using ffmpeg

在我的項目中,我處理接收到的帶有負載的 RTP 數據包,並將所有負載提取到單獨的緩沖區中。 此有效載荷是 - PCM ALAW(類型 8)。 我如何實現一個將作為參數的類 - 文件名和帶有原始數據的緩沖區來創建音頻文件。 為了將原始數據編碼為音頻文件,我究竟需要經過哪些步驟? 作為一個例子,我使用了這個例子。

這聽起來太復雜了。 “PCM ALAW”有點誤導,但很明顯 G.711 aLaw 編碼的意思。 這是一個微不足道的“壓縮”,它將每個 16 位 PCM 樣本映射到一個 8 位值。 所以一個簡單的查找就解決了這個問題。

甚至還有一個可用的 aLaw 編碼的免費實現 只需將每個樣本轉換為 16 位 PCM,在它前面填充一個標准的 Microsoft WAVE 標頭,然后調用結果.WAV

您需要根據 RTP 類型 8 填寫一些 WAV 標頭。主要是“單聲道,8000 Hz,每個樣本 16 位”。 標題的一個小問題是,您只能在知道有多少樣本后才能編寫完整的標題。 您可以在收到 RTP 數據包時更新標頭,但這有點 I/O 密集型。 每 10 包左右執行一次可能會更好。

暫無
暫無

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

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