Write silence audio data into file ffmpeg C++

别来无恙 提交于 2020-01-21 10:04:34

问题


I want to write silence/zeroed audio sampled data into mov media container file inside audio data. My audio data is G711 linear PCM-mulaw encoded data with one channel. Currently my code looks like:

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);

But this sounds noise like dot dot instead of silence. What's the problem?


回答1:


For µ-law audio the zero value is represented as 0xff, so change:

memset(&pSilentData->data[0], 0, iDataSize);

to:

memset(&pSilentData->data[0], 0xff, iDataSize);


来源:https://stackoverflow.com/questions/32006821/write-silence-audio-data-into-file-ffmpeg-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!