我使用的FFmpeg很好,因为如果我使用AV_CODEC_ID_PCM_U8和其他一些带有avcodec_find_encoder和avcodec_find_decoder的CODEC,它就可以工作。
有人知道为什么finder编码器函数总是用AV_CODEC_ID_OPUS返回NULL吗?
答案 0 :(得分:2)
你需要检查三件事:
fmpeg
是否使用opus decodec编译? ffmpeg -decoders | grep libopus
说什么?av_register_all
吗?默认情况下不编译libopus:
ffmpeg-2.1.3> ./configure --help | grep opus
--enable-libopus enable Opus decoding via libopus [no]
因此您需要指定--enable-libopus
(当然还有工具链中的libopus)
答案 1 :(得分:0)
一旦你的ffmpeg lib有--enable-libopus
,你也可以使用
avcodec_find_decoder_by_name("libopus")
和avcodec_find_encoder_by_name("libopus")