libav - 找不到编解码器
libav - Codec not found
我正在关注 ffmpeg 文档中的音频编码示例:https://www.ffmpeg.org/doxygen/0.6/api-example_8c-source.html
但是我想解码 .wav
文件而不是 .mp2
文件
所以我在程序中更改了这一行:
codec = avcodec_find_encoder(AV_CODEC_ID_WAVPACK)
if(!codec){
fprintf(stderr,"codec not found\n");
exit(1)
}
但是我总是输入if
-> 好像打不开编解码器。
我已经安装了 wavpack
和 libva
以及 --enable-libwavpack
。
所以你的问题不清楚,你在谈论 .wav 解码和 wavpack 编码,我假设你的意思是你想使用 .wav 文件并将其编码为 wavpack/.wv(而不是认为 .wav 文件)。 wav 在任何方面都与 wavpack 相关;它不是)。
如果是这样,那么它不起作用的原因是您使用的 libav 没有 wavpack 支持。你可能安装了wavpack,但是libav在编译的时候没有找到,所以不支持。您可以考虑使用 ffmpeg,它有一个不依赖于 libwavpack 的内置 wavpack 编码器,或者弄清楚如何使用 libwavpack 支持编译 libav(如果您使用来自 Linux 分发,或者在 运行 配置时使用 --extra-cflags= 和 --extra-libs= 告诉 libav 这些位于何处。
我正在关注 ffmpeg 文档中的音频编码示例:https://www.ffmpeg.org/doxygen/0.6/api-example_8c-source.html
但是我想解码 .wav
文件而不是 .mp2
文件
所以我在程序中更改了这一行:
codec = avcodec_find_encoder(AV_CODEC_ID_WAVPACK)
if(!codec){
fprintf(stderr,"codec not found\n");
exit(1)
}
但是我总是输入if
-> 好像打不开编解码器。
我已经安装了 wavpack
和 libva
以及 --enable-libwavpack
。
所以你的问题不清楚,你在谈论 .wav 解码和 wavpack 编码,我假设你的意思是你想使用 .wav 文件并将其编码为 wavpack/.wv(而不是认为 .wav 文件)。 wav 在任何方面都与 wavpack 相关;它不是)。
如果是这样,那么它不起作用的原因是您使用的 libav 没有 wavpack 支持。你可能安装了wavpack,但是libav在编译的时候没有找到,所以不支持。您可以考虑使用 ffmpeg,它有一个不依赖于 libwavpack 的内置 wavpack 编码器,或者弄清楚如何使用 libwavpack 支持编译 libav(如果您使用来自 Linux 分发,或者在 运行 配置时使用 --extra-cflags= 和 --extra-libs= 告诉 libav 这些位于何处。