有一种方法可以做到这一点:) 我刚刚为您写下了 av_register_all 所做的所有步骤。我认为它可能会让您更好地理解,因为仅注册编解码器可能还不够。最好自己看一下源代码:
http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/allformats_8c-source.html
1)硬件加速:
av_register_hwaccel(AVHWAccel*accel);
2) 编解码器/Dec,Enc,DecEnc, 分机。图书馆等……
avcodec_register(AVCodec*codec);
3) 解析器
av_register_codec_parser(AVCodecParser*parser);
4) 比特流过滤器
av_register_bitstream_filter(AVBitstreamFilter*bsf);
5) 注册复用器/解复用器
av_register_output_format(AVOutputFormat*ov);
av_register_input_format(AVInputFormat*if);
6) 如果是 RTP:
av_register_rtp_dynamic_payload_handlers();
av_register_rdt_dynamic_payload_handlers();
7) 协议
av_register_protocol2(URLProtocol*pr, int size);
希望有帮助吗?