아둥스토리

[FFmpeg #3] C++에서 ffmpeg 라이브러리 사용하기 본문

프로그래밍/FFmpeg

[FFmpeg #3] C++에서 ffmpeg 라이브러리 사용하기

아둥이 2017. 2. 7. 11:55

라이브러리 및 exe 파일 다운로드 : https://ffmpeg.zeranoe.com/builds/

Test version : ffmpeg-20170130-cba4f0e-win32-dev, ffmpeg-20170130-cba4f0e-win32-shared



▶ visual studio 2012에서 FFmpeg 라이브러리 사용하기


[라이브러리 다운로드]

 

 위 참조 사이트에서 각자의 환경에 맞는 라이브러리를 다운로드합니다. 저는 개발을 위한 것이므로 dev 버전과 shared 버전 두 가지를 다운로드 받았습니다. 실행파일을 통한 FFmpeg의 사용은 이전 포스팅을 참조해주세요.^^

 

 우선 dev버전과 shared 버전을 다운로드 한 뒤, 사용편의를 위해 내부의 폴더 중 몇 가지만 뽑아서 FFmpeg 폴더를 생성해서 모아둡니다. dev 버전에서는 include, lib를, shared 버전에서는 bin를 생성해두었던 FFmpeg 폴더로 복사해줍니다. 해당 FFmpeg 폴더는 개발 시 참조를 위해 통째로 프로젝트 경로에 복사해줍니다. 

 

 그리고 Visual Studio 버전이 2013 이전 버전이라면 inttypes.h를 추가해야 합니다. 저의 경우는 2012 버전이므로 아까 복사해두었던 ffmpeg\include\libavutil 밑에 추가해주었습니다. (inttypes.h 파일 다운로드 : https://code.google.com/p/msinttypes/)



[Project Setting]


Configuration Properties - VC++ Directories - Include Directories 에 다운받은 ffmpeg의 include 경로 및 include의 하위 경로를 넣어줍니다. 이 때, $(IncludePath)는 꼭 맨앞에 있어야 합니다. 

 

Configuration Properties - VC++ Directories - Library Directories 에 다운받은 ffmpeg의 lib 경로를 넣어줍니다. 




다음은, Configuration Properties - Linker - Input 으로 이동합니다. Addtional Dependencies 에 lib 파일들을 나열해줍니다.




마지막으로, Configuration Properties - Debugging 으로 이동합니다. Environment 에 아래와 같이, bin 경로를 적어줍니다.


ex) PATH=%PATH%;ffmpeg\bin



[Coding]


extern "C" {
#include <libavformat/avformat.h>
}

///> Library Link On Windows System
#pragma comment( lib, "ffmpeg\\lib\\avformat.lib" )
#pragma comment( lib, "ffmpeg\\lib\\avutil.lib" )



위 처럼 필요한 lib를 포함시켜주고, Initialize를 위해 최초에 av_register_all(); 를 한번 적어줍니다. 



그럼 FFmpeg 를 사용하기위한 사전 준비는 끝! ^^


제공하는 라이브러리를 이용해서 FFmpeg 를 이용한 구현을 내용으로 다음 포스팅 작성하겠습니다.



'프로그래밍 > FFmpeg' 카테고리의 다른 글

[FFmpeg #2] exe를 이용한 동영상 썸네일 추출하기  (0) 2017.02.07
[FFmpeg #1] 정의  (0) 2017.01.09
Comments