【发布时间】:2019-11-05 10:28:35
【问题描述】:
我想使用avformat_open_input() 为raw(LINEAR16,48000khz) 音频文件填充ffmpeg.formatCtx。
我尝试传递自己的AVInputFormat,但没有成功。
这是我以前打开文件的方式。
std::string fn = "file:" + this->file.path;
int r = avformat_open_input(&ffmpeg.formatCtx, fn.c_str(), nullptr, nullptr);
尝试使用av_find_input_format() 找到所需的格式,但没有成功到0。
没有输入格式的ffmpeg判断文件为mp3。
有没有方便的方法来处理这种情况?
【问题讨论】:
-
样本大小、类型、字节顺序、频率等的值不存储在原始音频流中,因此 ffmpeg 无法读取它们。您必须在编解码器上下文中手动设置它们。
标签: c++ audio ffmpeg libavformat