분류 전체보기 (10)
프로그래밍 (9)
사진 (0)
Top10 LIST (1)
ColorSwitch 00 01 02
자 이제 FFMPEG을 윈도우즈에서 사용할 준비가 완료되었습니다. 후후후
이제 비주얼 스튜디오를 이용하여 프로그램을 만들어야 겠죠 +_+
저는 VS Dot Net 2003에서 만들었습니다.
프로그램은 졸업 논문의 부분으로 부가기능으로 해놔서 공개하기가 좀 ㅡㅡㅋ

여기서는 자신의 프로젝트에 생성된 dll 사용 방법과 extern 방법 그리고 사용시 발생하는 오류중에 몇가지 생각나는데로 해결 방법만을 살짝 적어볼랍니다 ^^

고고싱~

1.      Visual Studio dll 사용 방법

     생성된 솔루션을 열고 목록에서 프로젝트->프로젝트명의속성

     C/C++ 항목 -> 일반에서 추가 디렉토리 C:\msys\local\include

     링커 항목 -> 일반에서 추가 라이브러리 디렉토리 c:\msys/local\bin

     링커 항목 ->입력에서 추가 종속성 avutil,avcodec,avformat lib 추가 (참고. 보통 avutil.lib, avcodec.lib, avformat.lib로 생된다고 하나 lib dll의 이름이 뒤에 버전이 붙을 수 도 있으니 확인 후 입력)

     이 후 필요한 헤더 파일 및 동적 링크는 알아서 추가 시켜야 함.

2.      프로젝트 예

#include <math.h>

#include <ffmpeg/inttypes.h>

#include <stdint.h>

 

extern "C" __declspec(dllimport) void av_free(void *);

extern "C" __declspec(dllimport) int avcodec_close(struct AVCodecContext *);

extern "C" __declspec(dllimport) int avcodec_encode_audio(struct AVCodecContext *avctx, uint8_t *buf, int buf_size, const short *samples);

extern "C" __declspec(dllimport) int avcodec_open(struct AVCodecContext *avctx, struct AVCodec *codec);

extern "C" __declspec(dllimport) AVCodecContext *avcodec_alloc_context(void);

extern "C" __declspec(dllimport) AVCodec *avcodec_find_encoder(enum CodecID id);

extern "C" __declspec(dllimport) int avcodec_decode_audio(struct AVCodecContext *avctx, int16_t *samples,int *frame_size_ptr, uint8_t *buf, int buf_size);

extern "C" __declspec(dllimport) AVCodec *avcodec_find_decoder(enum CodecID id);

extern "C" __declspec(dllimport) int avcodec_encode_video(struct AVCodecContext *avctx, uint8_t *buf, int buf_size, const struct AVFrame *pict);

extern "C" __declspec(dllimport) AVFrame *avcodec_alloc_frame(void);

extern "C" __declspec(dllimport) int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, uint8_t *buf, int buf_size);

extern "C" __declspec(dllimport) void avcod  ec_register_all(void);

extern "C" __declspec(dllimport) void avcodec_init(void);

 

#include <ffmpeg/avcodec.h>

#include <ffmpeg/avformat.h>

#include <ffmpeg/avutil.h>

#define INBUF_SIZE 4096

è  이런 식으로 사용 각 함수 사용 가능 해 짐.

 

환경에 따른 많은 오류가 발생한다

오류에 따른 몇가지 처리는 다음과 같이 하면 해결 가능

1.      각 케스팅 타입은 전통 C 타입으로 한다.(void *의 반환 타입 에러)

2.      #define AV_NOPTS_VALUE INT54_C(0x8000000000000000)에러 메시지는

#define __STDC_CONSTANT_MACROS를 추가 하여 준다.

3.      Inttypes.h 파일 요구는 위의 과정에서 확인한다.

4.      Enum 에러는 정수 형태로 대입이 불가능 하므로 enum CodecID 에서의 CodecID를 통하여 해당 정수를 캐스팅 해 준다.

5.      Snprintf _snprintf로 변경 해 준다.


제가 프로젝트를 작성하면서 제작한 메뉴얼을 4단계로 나누어서 이렇게 올려보았습니다 ^^; 막막한 프로그래밍에 한줄기 빛이 되시길 희망합니다 ^^ 그럼 다들 즐프~

신고
    이전 댓글 더보기
  1. Nigeria Directory 2012.03.28 03:47 신고 수정/삭제 댓글에댓글달기

    Due to Nigeria Directory today I can to detect the firm I look for in minutes.

  2. debt management company 2012.04.04 23:40 신고 수정/삭제 댓글에댓글달기

    This debt management company will handle your present debt position directly.

  3. Yosemite cabins 2012.04.11 02:57 신고 수정/삭제 댓글에댓글달기

    Whenever my friends and I are dead beat cuz of spending lots of time in the large metropolis, we rent Yosemite cabins for several days so as to pick ourselves up.

  4. Junior Golf Tour 2012.04.12 01:56 신고 수정/삭제 댓글에댓글달기

    The Rocky Mountain Junior Golf Tour struggles to supply younger golf players with good tournaments conducted in a prudent mode.

  5. Chimney Sweep Des Moines 2012.04.12 02:07 신고 수정/삭제 댓글에댓글달기

    The Chimney Sweep Des Moines specialists will do all of your required servicing, thereby preventing you from the detriments of a chimney fire.

  6. Denver Carpet Cleaning 2012.04.12 02:19 신고 수정/삭제 댓글에댓글달기

    Denver Carpet Cleaning experts will do everything in their power to get rid of blood splotches straight away.

  7. Colorado junior golf association 2012.04.12 03:41 신고 수정/삭제 댓글에댓글달기

    Colorado junior golf association offers each and every sharer to take part in effectively organized tourneys.

  8. Denver Air Duct Cleaning 2012.04.12 03:41 신고 수정/삭제 댓글에댓글달기

    Denver Air Duct Cleaning duty won’t take much of your time and is effectively sanitary and routine procedure.

  9. Chimney Cleaning Des Moines 2012.04.12 03:42 신고 수정/삭제 댓글에댓글달기

    The Chimney Cleaning Des Moines craftsmen are in place to take the crucial measures to reduce the chimney emergencies presently.

  10. Colorado springs 2012.04.12 05:46 신고 수정/삭제 댓글에댓글달기

    Colorado springs carpet restoration organization will happily make your nappy floor coverings coruscate like new ones.

  11. Air Duct Cleaning Des Moines 2012.04.12 06:15 신고 수정/삭제 댓글에댓글달기

    This Air Duct Cleaning Des Moines will help you destroy all the aeronautical germs which are slipping all around the building.

  12. Denver chimney sweep 2012.04.13 03:05 신고 수정/삭제 댓글에댓글달기

    Denver chimney sweep will make your cozy furnace area a safe corner for meditation and rest.

  13. Carpet cleaning Phoenix 2012.04.13 03:05 신고 수정/삭제 댓글에댓글달기

    The Carpet cleaning Phoenix organization will help you to effortlessly get rid of ingrained dust and dirt improving good life circumstances.

  14. carpet cleaning Phoenix AZ 2012.04.13 04:41 신고 수정/삭제 댓글에댓글달기

    The out-of-doors games you enjoy require professional services of carpet cleaning Phoenix AZ company in order to stimulate the investment you made in your dwelling.

  15. Travel planning 2012.04.24 04:35 신고 수정/삭제 댓글에댓글달기

    Travel planning will be less problematic due to information you can find on this website.

  16. song contest 2012.04.24 23:34 신고 수정/삭제 댓글에댓글달기

    Thank you for the chance of competing in the online song contest as it's the best way for the begginers of making sure their skills.

  17. satellite Internet 2012.04.28 22:55 신고 수정/삭제 댓글에댓글달기

    I am more than satisfied with the rates for the satellite Internet offered by this provider.

  18. heating 2012.05.09 00:13 신고 수정/삭제 댓글에댓글달기

    I've cooperated with a lot of companies that propose heating or air conditioning services, and may tell with the whole confidence that on this web page you'll find the most reasonable options.

  19. office supplies 2012.05.14 23:01 신고 수정/삭제 댓글에댓글달기

    If you do not have a clue where to order office supplies, visit this website. They offer not only affordable rates but immediate delivery, as well.

  20. body detoxification and rejuvenation 2012.05.14 23:02 신고 수정/삭제 댓글에댓글달기

    I'm planning to have my R and R in India and for certain visit your center. I have heard a lot about your body detoxification and rejuvenation cure and desire to undergo it too.










articles
recent replies
  • I'm planning..
        by body detoxification and rejuvenation 2012
recent trackbacks
notice
Admin : New post
BLOG main image
프로그래밍 정보 공유를 목적으로 하는 블로그입니다.
4 29,768
  rss skin by  m22m
tistory 티스토리 가입하기!

티스토리 툴바