而不是调用av_register_all(),是否有一个选择使用单个解码器的例子?我想我必须调用avcodec_register(),av_register_codec_parser()等...
问题是,应该调用哪些函数,因为如果我不使用av_register_all(),av_open_input_file()将失败-2.
mmo*_*ent 10
有办法做到这一点:)我刚刚写下了av_register_all所做的所有步骤.我认为这可能会让你更好地理解,因为仅仅注册编解码器可能还不够.最好是自己看看源代码:
http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/allformats_8c-source.html
1)硬件加速:
av_register_hwaccel(AVHWAccel*accel);
Run Code Online (Sandbox Code Playgroud)
2)Codecs/Dec,Enc,DecEnc,ext.图书馆等....
avcodec_register(AVCodec*codec);
Run Code Online (Sandbox Code Playgroud)
3)解析器
av_register_codec_parser(AVCodecParser*parser);
Run Code Online (Sandbox Code Playgroud)
4)比特流过滤器
av_register_bitstream_filter(AVBitstreamFilter*bsf);
Run Code Online (Sandbox Code Playgroud)
5)注册Mux/Demuxers
av_register_output_format(AVOutputFormat*ov);
av_register_input_format(AVInputFormat*if);
Run Code Online (Sandbox Code Playgroud)
6)如果RTP:
av_register_rtp_dynamic_payload_handlers();
av_register_rdt_dynamic_payload_handlers();
Run Code Online (Sandbox Code Playgroud)
7)协议
av_register_protocol2(URLProtocol*pr, int size);
Run Code Online (Sandbox Code Playgroud)
希望有帮助吗?
| 归档时间: |
|
| 查看次数: |
5916 次 |
| 最近记录: |