2011-02-16 4 views
7

av_register_all()을 호출하는 대신 사용할 단일 디코더를 선택하는 예제가 있습니까? av_open_input_file()가 실패하기 때문에 -2 내가 (av_register_all를 사용하지 않는 경우 나는, 어떤 기능을 정확하게 호출해야 ...av_register_all()과 avcodec_register()

질문은, 내가 avcodec_register(), av_register_codec_parser() 등을 호출해야 할 것 같아요).

답변

10

이렇게하는 방법이 있습니다. 나는 방금 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) If RTP :

av_register_rtp_dynamic_payload_handlers(); 
av_register_rdt_dynamic_payload_handlers(); 

7) 도움이

av_register_protocol2(URLProtocol*pr, int size); 

희망 프로토콜?