[Qt] VLC-QT 라이브러리 Qt Creator 적용 및 영상재생 simple-player 예제 빌드

yeonji·2023년 5월 26일
0

Qt 5.14.2 (MSVC 2017)

Visual Studio 2019

VLC SDK v3.0.17

https://www.videolan.org/developers/vlc.html

Get VLC Source Code 'releases' > 3.0.17 > win64/ > vlc-3.0.17-win64.7z 다운로드(https://get.videolan.org/vlc/3.0.17/win64/)

SDK 적용

(1) qt 디렉토리에 vlc sdk 복사

  • libvlc.dll
  • libvlccore.dll
  • plugins 디렉토리
$(QTDIR)\bin

(2) sdk\include\vlc 디렉토리를 5.14.2\msvc2017_64\include 로 복사

(3) sdk\lib 라이브러리 4개를 5.14.2\msvc2017_64\lib 로 복사

  • libvlc.lib
  • libvlccore.lib
  • vlc.lib
  • vlccore.lib

VLC-QT v1.1.1

https://vlc-qt.tano.si/

Download > GitHub Repository > VLC-Qt 1.1.1 > Source code(zip) 다운로드

CMake VLC-QT

(1) 소스코드 경로, 빌드경로 세팅

\vlc-qt-1.1.1
\build (새폴더)

(2) Cmake configure

Visual Studio 16 2019

(3) CMAKE_INSTALL_PREFIX

\vlc-qt_x64

(4) Add new Entry VLC_PLUGIN_PATH

$(QTDIR)\bin\plugins

(5) Add new Entry CMAKE_DEBUG_POSTFIX

string "d"

(6) Qt5Core_DIR

$(QTDIR)\lib\cmake\Qt5Core

-- Configure 선택

(7) Qt5Quick_DIR

$(QTDIR)\lib\cmake\Qt5Quick

(8) Qt5Widgets_DIR

$(QTDIR)\lib\cmake\Qt5Widgets

(9) Qt5QuickTest_DIR

$(QTDIR)\lib\cmake\Qt5QuickTest

(10) LIBVLC

  • LIBVLCCORE_LIBRARY
$(QTDIR)\lib\libvlccore.lib
  • LIBVLC_INCLUDE_DIR
$(QTDIR)\include\vlc
  • LIBVLC_LIBRARY
$(QTDIR)\lib/libvlc.lib

(11) Generate
Configuring done

Cmake 파일 수정

build\cmake_install.cmake

line 45,46
include -> bin 수정

VLC-Qt.sln실행 및 링크

아래 4개 솔루션 속성에서 /SAFESEH:NO 추가

Properties > linker > command line
  • Core
  • PLuginQml
  • Qml
  • Widgets

ALL_BUILD 빌드

Relase x64

(1) C2065: 'libvlc_media_read_cb': 선언되지 않은 식별자입니다.

  • libvlc_media.h 상위폴더 열기
$(QTDIR)\include\vlc\libvlc_media.h
  • "vlc.h"에 typedef __int64 ssize_t; 추가(line:39)

  • 솔루션 정리, ALL_BUILD 프로젝트 정리 후 다시 빌드

(2) C3861: 'poll': 식별자를 찾을 수 없습니다.

  • # define poll(u,n,t) vlc_poll(u, n, t) vlc_poll 함수 앞으로 옮김

  • 솔루션 정리, ALL_BUILD 프로젝트 정리 후 다시 빌드

INSTALL 빌드

바이너리, 라이브러리 준비완료

vlc-qt_x64(CMAKE_INSTALL_PREFIX) 폴더확인

vlc-qt example 다운로드

https://github.com/vlc-qt/examples

Qt Creator 5.0.2

simple-player 프로젝트

(1) 프로젝트 import
(2) library 경로 수정 및 빌드(Release)

VLC_INSTALL_PATH = [vlc-qt_x64 디렉토리 경로]
LIBS       += -L$$VLC_INSTALL_PATH/lib -lVLCQtCore -lVLCQtWidgets
INCLUDEPATH += $$VLC_INSTALL_PATH/include
DEPENDPATH += $$VLC_INSTALL_PATH/vlc-qt_x64

build>run qmake

(3) vlc-qt_x64\bin 경로의 dll 파일 5개를 빌드 디렉토리로 복사 후 다시빌드

(4) Qt dll 3개 실행폴더에 복사

  • Qt5Core.dll
  • Qt5Gui.dll
  • Qt5Widgets.dll
$(QTDIR)\bin

해결> Qt5 Widgets.dll이(가) 없어 코드 실행을 진행할 수 없습니다. 프로그램을 다시 설치하면 이 문제가 해결될 수 있습니다.

(5) Qt platforms, plugins 실행폴더에 복사

  • platforms 폴더 복사
$(QTDIR)\plugins\platforms
  • plugins 폴더
$(QTDIR)\bin\plugins

해결> This application failed to start because no qt platform plugin could be initialized. Reinstaling the application may fix this problem.

(6) 다시 빌드

*참고 영상
https://www.youtube.com/watch?v=qmJ69J_XPOM

profile
한 줄 소개

0개의 댓글