【发布时间】:2016-02-02 02:32:54
【问题描述】:
我想知道如何使用 FFmpeg 库从 ALAC 媒体文件中获取额外数据,而无需手动解析文件?
我最初设置的是:
avformat_open_input(&formatContext, pszFileName, 0, 0);
avformat_find_stream_info(formatContext, NULL);
av_find_best_stream(formatContext, AVMEDIA_TYPE_AUDIO, -1, -1, &codec, 0);
codecContext = avcodec_alloc_context3(codec);
目前我能够检测并找到 ALAC 编解码器,但它无法打开返回 AVERROR_INVALIDDATA 的编解码器,这是由于未设置 extradata 和 extradata_size。
avcodec_open2(codecContext, codec, NULL);
FFmpeg 文档指出,某些编解码器需要将 extradata 和 extradata_size 设置为编解码器的规范。但是这些数据不应该由 avformat_find_stream_info 设置吗?
【问题讨论】: