VLC는 오픈 소스이며 sdk 를 lib 형태로 제공해 주기 때문에 쉽게 사용할 수 있다.


이를 이용하여 간단한 Player를 만들어 보았다.


사용 툴 : QT 4.2.2, vlc-2.2.5.1


순서


1. QT는 설치가 되어있다는 전제하에 vlc 를 다운로드 받는다


 - installer(exe)로 받는 것이 아니라 7-zip 으로 받아야 sdk가 포함된 버전을 다운받을 수 있다.

 - 코딩에 필요한 include 와 lib는 첨부에 올렸으니 다운을 받고 직접 다운받기를 원하는 사람은 밑의 사이트에서 다운받길..

  (추가로 dll과 plugins이 들어있는데 libvlc sdk 에서 제공하는 버전은 x86(32bit)이기때문에 x64(64bit) 버전에서는 실행이 안되는 문제가 발생한다. 64bit 에서 작업하기를 원하는 사람은 첨부파일을 다운받고 dll과 plugins for x64를 사용하면 된다.)

 - 다운로드 사이트

http://www.videolan.org/vlc/download-windows.html

 - 용량이 큰 관계로 분할압축.. (VLC.*)


2. 압축을 해제하고 QT 프로젝트를 생성한다.



 (include 폴더 안에 vlc폴더 안에 실제 헤더들이 존재하는데, 경로의 편의를 위해 필자는 vlc 폴더 안의 내용을 include로 옮겼다. 이후 경로가 다를 수 있다.)

 - 간단한 테스트를 위해 Widget으로 생성하였다.


3, libvlc lib와 include 추가한다.



 - .pro 파일에 아래와 같이 경로를 추가한다.(경로는 다운받은 위치에 맞게 수정하여 추가한다. 필자는 include 밑에서 경로를 수정하였다. 수정하지 않았으면 include 밑에 vlc 까지 써줘야 한다.

 - library 추가 시 -lvlc 를 사용하여야한다.


4. 코드를 작성한다.


 - 코드는 아래 사이트의 코드를 사용하였다, 코드를 자기에게 맞게 수정한다.

http://lvzuufx.blogspot.kr/2017/01/qt-libvlc-lvplayer.html

 - 첨부파일로도 올렸다. (VLCPlayer.zip)


5. Test



 - 영상은 Windows10에서 기본으로 제공하는 영상을 사용하였다.

 - 조금 더 깔끔한 UI 를 위해 기본으로 Widget에서 제공하는 UI는 삭제하였다.


< - Error - >


1. libvlc 파일을 다운 받은 곳을 환경변수 지정하던지 혹은 lib 디렉토리 안에 dll을 복사해서 넣어야한다. dll이 없을 시 "The program has unexpectedly finished." 에러를 볼 수 있음.. (다른 에러는 금방 해결했는데 이 에러는 최악...)


2. 위와 동일하게 plugins가 없다는 에러가 나오는데 위와 동일하게 경로를 추가하거나(위에서 경로를 추가했으면 문제될 일이 없다) lib 디렉토리 안에 넣으면 해결


참고자료 : http://lvzuufx.blogspot.kr/2017/01/qt-libvlc-lvplayer.html


소스코드 및 libvlc for x64 파일 첨부


-소스코드-

HelloWebcam.zip


-libvlc for x64

VLC.z01

VLC.z02

VLC.z03

VLC.z04

VLC.z05

VLC.z06

VLC.z07

VLC.z08

VLC.z09

VLC.z10

VLC.zip


모두 다운로드 후 VLC.zip 실행

'프로젝트 > QT' 카테고리의 다른 글

QT - libvlc 연동, Error  (0) 2017.05.22
QT - openCV3.0 이상 버전 연동, Error 정리  (0) 2017.05.22
블로그 이미지

Refrin

일상생활 끄적 IT 프로젝트 끄적

Tag , ,

댓글을 달아 주세요