代码之家  ›  专栏  ›  技术社区  ›  IIIIIIIIIIIIIIIIIIIIII Debojit Saikia

libav-未找到Codec

  •  0
  • IIIIIIIIIIIIIIIIIIIIII Debojit Saikia  · 技术社区  · 9 年前

    我遵循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 .

    1 回复  |  直到 9 年前
        1
  •  1
  •   Ronald S. Bultje    9 年前

    所以你的问题不清楚,你在谈论.wav解码和wavpack编码,我假设你是想使用.wav文件并将其编码为wavpack/。wv(与认为.wav在任何方面都与wavpack相关相反;事实并非如此)。

    如果是这种情况,那么它不起作用的原因是因为您使用的是没有wavpack支持的libav。您可能已经安装了wavpack,但libav在编译时找不到它,因此它不支持它。您可以考虑使用ffmpeg,它有一个内置的wavpack编码器,不依赖于libwavpack,或者考虑如何使用libwavpacksupport编译libav(如果您使用的是Linux发行版中预先构建的二进制文件,可能需要安装开发人员包,或者在运行configure时使用--extra-cflags=和--extra-libs=告诉libav这些文件的位置)。