VLC-Qt 入門指南

2021-02-15 高效程式設計師

VLC-Qt 是一個結合了 Qt 應用程式和 libVLC 的免費開源庫,它包含了用於媒體播放的核心類,以及用於更快速地進行媒體播放器開發的一些 GUI 類。

官網地址:https://vlc-qt.tano.si/

Github 地址:https://github.com/vlc-qt

示例地址:https://github.com/vlc-qt/examples

由於 VLC-Qt 集成了整個 libVLC,因此具備 libVLC 的所有特性,例如:libVLC 實例和 player、單個文件和列表播放、音頻和視頻控制、元數據管理。

如果想快速創建一個功能齊全的跨平臺多媒體播放器,這個庫非常合適!

主要組成

VLC-Qt 主要包含三大部分:

連接到 libVLC 並控制播放。核心類使我們能夠完全控制 libVLC 及其所有特性,它能讓我們完全控制播放。Widgets 和 QML 類只是簡化了與核心的通信,但是沒有引入任何新特性。

整個 libVLC 庫被完全封裝到了 C++/Qt 中,它仍然可以同時支持多個實例和/或播放器。還可以訪問 libVLC 對象,以獲得所有包裝的功能。

媒體播放器通常需要一個 UI,Widgets 部分包含了幾個簡單的、預先製作的窗口部件 ,可以將其用作基類:video widget、seek widget、volume slider、audio 和 video controllers。

VLC-Qt 還包含了 QML 部分,它提供了使用 OpenGL 的簡單視頻播放。

下載 SDK


要使用 VLC-Qt,首先需要下載它。可以自己編譯,也可以使用官網上編譯好的版本。

進入 VLC-Qt 官網,點擊右側導航中的【Download】,然後尋找自己需要的版本。由於我的開發環境是 VS 2015,這裡沒有對應的版本,所以需要點擊「GitHub Repository」選擇其他版本:

進入發布頁面,選擇 VLC-Qt 1.1.0,並下載其中的 VLC-Qt_1.1.0_win64_msvc2015.7z:

下載完成之後,解壓到 VLC-Qt-SDK(下面會用到),它裡面有三個子文件夾:

基本使用

VLC-Qt 的使用很簡單,可以打開最上面的示例地址,來學習如何使用。

下載示例程序,打開 simple-player.pro,並將 src.pro 中的 VLC-Qt 相關配置改為自己的路徑:


VLC_Qt_SDK_PATH = $$PWD/../../../VLC-Qt-SDK

CONFIG(debug, debug|release) {
    LIBS += -L$$VLC_Qt_SDK_PATH/lib -lVLCQtCored -lVLCQtWidgetsd
} else {
    LIBS += -L$$VLC_Qt_SDK_PATH/lib -lVLCQtCore -lVLCQtWidgets
}

INCLUDEPATH += $$VLC_Qt_SDK_PATH/include

其中,VLC_Qt_SDK_PATH 為 VLC-Qt 解壓縮之後的路徑,這裡既可以使用相對路徑,也可使用絕對路徑。

配置完成之後,就可以正常地編譯程序了。

最終效果

運行可執行程序,此時記得將依賴的 .dll 和 plugins 拷貝至可執行程序所在目錄。

點擊「Open local File」按鈕,嘗試播放一個本地視頻:

同樣地,也可以點擊「Open URL」按鈕,嘗試播放一個 RTSP 視頻流:

如果找不到合適的 RTSP 地址,可以使用 RTSP_Video_Streaming_URLs(參考:https://g33ktricks.blogspot.com/p/the-rtsp-real-time-streaming-protocol.html) 裡面的地址進行測試。

談天 · 說地 · 侃代碼 · 開車

長按識別二維碼,解鎖更多精彩內容

相關焦點

  • Qt快速入門系列教程(一):環境搭建
    筆者環境是:Windows 10 + Qt 5.10.0(包含QtCreator 4.5.0)1、下載       Qt官網主頁提供了最新版Qt的下載,不過我們更傾向於去資源下載頁面(https://download.qt.io/official_releases/qt/5.10/5.10.0/)進行下載,這裡羅列了所有可用版本
  • libVLC 播放控制
    *m_instance          {nullptr};    libvlc_media_player_t *m_player        {nullptr};    libvlc_media_t *m_media                {nullptr};    libvlc_event_manager_t *m_eventManager {nullptr
  • 最簡單的 libVLC 播放器
    /libVLC.pri)工作流程在使用 VLC API 之前,需要先將 vlc/vlc.h 頭文件包含進來:#include <vlc/vlc.h>#include <iostream>using namespace std;int main()
  • Qt5軟體開發-第1章 QT入門(上)
    本書主要是針對傳統 C++ 部件開發介紹,在本書的最後章節會介紹QML編程入門。1.3 QT下載Qt Creator官網下載地址:https://www.qt.io/download/QT所有版本下載地址:http://download.qt.io/archive/qt/Qt Creator是跨平臺的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收購後推出的一款新的輕量級集成開發環境
  • Ubuntu 16.04下安裝VLC並解決sudo apt-get build-dep vlc失敗問題
    1、安裝vlc編譯中的一些工具2、獲取源碼wget ftp://ftp.videolan.org/pub/videolan/vlc/2.0.6/vlc-2.0.6.tar.xz(這個支持ubuntu 13.04,ubuntu 14.04LTS安裝時,make不成功)wget http://download.videolan.org/pub/videolan
  • Ubuntu 16.04下編譯安裝VLC
    1、安裝vlc編譯中的一些工具sudo apt-get install git libtool build-essential pkg-config autoconf2、獲取源碼wget ftp://ftp.videolan.org/pub/videolan/vlc/2.0.6/vlc-2.0.6.tar.xz(這個支持ubuntu 13.04
  • 將 libVLC 視頻渲染到 QWidget 中
    ( libvlc_media_player_t *p_mi, void *drawable );其中,p_mi 就是我們的媒體播放器,而 drawable 是一個可繪製的窗口句柄(即:最終要顯示視頻的那個窗口)。
  • 如何解決 VLC 視頻嵌入字幕中遇到的錯誤
    在本指南中,我想介紹幾個你可能會在創作自己的媒體時會遇到的典型問題,主要是使用字幕方面,然後上傳到媒體共享門戶網站,特別是 Youtube 中,以及如何解決這些問題。跟我來。背景故事我選擇的視頻編輯軟體是 Kdenlive,當我創建那愚蠢的 Frankenstein[5] 片段時開始使用這個軟體,從那以後它一直是我的忠實夥伴。
  • Qt快速入門系列教程(三):發布程序
    我們可以在Qt安裝路徑下找到該文件,我這裡是在D:\soft_work\qt\5.10.0\mingw53_32\bin中,將其複製到debug目錄裡面,然後還會提示缺少其他幾個dll文件,如圖所示。
  • 自定義基於 VLC 的視頻播放器
    64位系統一起使用,所以這裡使用了32位的庫x86)2,下載一個 VLC 播放器,安裝,然後在安裝目錄裡能找到需要的類庫,如圖:我們只需要 libvlc.dll、libvlccore.dll 和 plugins 目錄,所以可以忽略其它文件。
  • Qt實用技能6-程序發布指南
    ,windeployqt.exe是我們今天主要討論的工具。我們前面提過的windeployqt.exe,是Qt提供的命令行工具,能幫助我們自動把需要的dll或資源複製過來。這種命令行在啟動時已經設置好了QT的環境變量,可以直接輸入windeployqt.exe也可以用普通的命令行,使用windeployqt.exe時帶上絕對路徑即可。濤哥一般用普通的命令行,因為絕對路徑不易出錯。
  • Qt 6.0 正式發布!
    Qt 6.0 源碼下載地址:https://download.qt.io/archive/qt/6.0/6.0.0/使用Qt安裝器框架安裝Qt 6.0:https://download.qt.io/official_releases
  • Qt值得學習嗎?詳解Qt的幾種開發方式
    qt值得學習嗎?嵌入式要學的東西真的很多,我們可能會說不寫界面的話就不用學qt了?我不贊同。Qt的實現主要是採用p-impl手法,實現接口與實現分離,它有很好的消息循環機制,有的對象與線程的相關性,它也有藉助moc生成反射元信息,這種設計方法至今仍然非常適用。qt內核部分其實是完全和界面無關的,你完全可以拋開Qt GUI部分來學習和使用Qt。
  • vlc_for_android(基於git-3.0.0)快速集成並播放電視節目直播
    今天是djstava關於他編譯vlc-android源碼移植,並播放電視節目直播案例。說實話,很多人連vlc-android編譯出庫文件出來都要折騰好久。這篇文章對你絕對有借鑑意義。前言最近老有朋友在問vlc for android的移植問題,網絡上有一些帖子也有談到,但是大部分都是基於老版本,況且vlc的更新也很頻繁,接口也經常變動,給大家造成了很大的困擾。
  • (二十四)小眾但好用:免費開源跨平臺的播放器 VLC
    order=popular-all-time&q=vlc%20skins大概 500 多個各式皮膚,總有一款符合你的口味,因為是國外的網站,如果打不開,可以通過某種方法,你懂的。當然,我也為你準備了下載量最高的 5 個皮膚,公眾號回復「vlc皮膚」既可下載。下載後解壓,得到 vlt 文件。
  • 修復 「VLC is Unable to Open the MRL」 錯誤 | Linux 中國
    進入 VLC 媒體播放器的官方 Github 倉庫頁面的這個頁面,並使用 Ctrl+S 保存文件:現在,你需要做的是用此下載文件替換 lib/vlc/lua/playlist 目錄中的 youtube.luac(注意 luac 中的 「c」)。
  • Fedora 22 用戶如何安裝 VLC media player
    很簡單幾個步驟:1.直接使用root用戶su -2.下載安裝包:rpmfusion-nonfree-release-22.noarch.rpmrpmfusion-free-release-22.noarch.rpm雙擊下載的安裝包3.輸入下面的命令安裝vlcdnf
  • Qt 5.15 LTS發布,Qt 6要來了
    另一方面,還添加了一個新的 qmlformat 工具,它可以幫助根據 QML 編碼樣式指南格式化 QML 文件。同時確保 Qt 中用於 MCU 的 QML 和 Qt 5.15 兼容。更詳細的信息與下載地址可以查看發布公告:https://www.qt.io/blog/qt-5.15-released
  • Qt入門之基礎篇 ( 一 ) :Qt5下載與安裝
    快到Qt官網 https://www.qt.io/download附贈百度雲下載地址:http://pan.baidu.com/s/1pLEYta7  (ps:這個Qt在XP和win7均能正常使用的!)