将静音音频数据写入文件ffmpeg C++
Write silence audio data into file ffmpeg C++
我想将 silence/zeroed 音频采样数据写入音频数据内的 mov
媒体容器文件。我的音频数据是一个通道的 G711 线性 PCM-mulaw 编码数据。目前我的代码如下:
AVFrame* pSilentData = av_frame_alloc();
memset(&pSilentData->data[0], 0, iDataSize);
pkt.data = (uint8_t*) pSilentData;
pkt.size = iDataSize;
// ...
av_freep(&pSilentData->data[0]);
av_frame_free(&pSilentData);
但这听起来像 点点点点 的噪音而不是沉默。有什么问题?
对于 µ-law 音频,零值表示为 0xff
,因此更改:
memset(&pSilentData->data[0], 0, iDataSize);
至:
memset(&pSilentData->data[0], 0xff, iDataSize);
我想将 silence/zeroed 音频采样数据写入音频数据内的 mov
媒体容器文件。我的音频数据是一个通道的 G711 线性 PCM-mulaw 编码数据。目前我的代码如下:
AVFrame* pSilentData = av_frame_alloc();
memset(&pSilentData->data[0], 0, iDataSize);
pkt.data = (uint8_t*) pSilentData;
pkt.size = iDataSize;
// ...
av_freep(&pSilentData->data[0]);
av_frame_free(&pSilentData);
但这听起来像 点点点点 的噪音而不是沉默。有什么问题?
对于 µ-law 音频,零值表示为 0xff
,因此更改:
memset(&pSilentData->data[0], 0, iDataSize);
至:
memset(&pSilentData->data[0], 0xff, iDataSize);