我正在关注ffmpeg docu:https://www.ffmpeg.org/doxygen/0.6/api-example_8c-source.html
中的音频编码示例但我想要解码.mp2
文件而不是.wav
文件
所以我在我的程序中改变了这一行:
codec = avcodec_find_encoder(AV_CODEC_ID_WAVPACK)
if(!codec){
fprintf(stderr,"codec not found\n");
exit(1)
}
但我总是输入if
- >好像我无法打开编解码器。
我已将wavpack
和libva
与--enable-libwavpack
安装在一起。
答案 0 :(得分:1)
所以你的问题不清楚,你在谈论.wav解码和wavpack编码,我假设你的意思是你想使用.wav文件并将其编码为wavpack / .wv(而不是认为.wav是以任何方式与wavpack相关;它不是。)
如果是这种情况,那么它不起作用的原因是因为你在没有wavpack支持的情况下使用了libav。您可能已经安装了wavpack,但是libav在编译时没有找到它,因此它不支持它。您可以考虑使用ffmpeg,它具有不依赖于libwavpack的内置wavpack编码器,或者弄清楚如何使用libwavpack支持编译libav(如果您使用Linux中的预构建二进制文件,可能需要安装开发人员包)分发,或者在运行configure时使用--extra-cflags =和--extra-libs =告诉libav这些位置。