vlc

來源:微信公衆号「程式設計學習基地」
目錄
- 簡介
- qt配置vlc環境
- simple_libvlc_qt_player
- 項目位址
簡介
- VLC 是一款***、開源的跨平台多媒體播放器及架構,可播放大多數多媒體檔案,以及 DVD、音頻 CD、VCD 及各類流媒體協定。
- 由于VLC是完全開源的,是以我們可以獲得所有的項目源碼,并在此基礎上進行二次開發
VLC的官網:http://www.videolan.org/
VLC源碼下載下傳位址:http://download.videolan.org/pub/videolan/vlc/2.2.4/
測試代碼參考雷神的部落格:http://blog.csdn.net/leixiaohua1020/article/details/42363079
qt配置vlc環境
qt環境搭建教程
下載下傳vlc源碼
點選下載下傳位址選擇
win64/win32
,我選的是
win64
,下載下傳.7z結尾的,我下載下傳的是
vlc-2.2.4-win64.7z
下載下傳解壓之後是下面這個樣子
解壓後找到sdk檔案夾,這個檔案夾非常重要
simple_libvlc_qt_player
第一次送出代碼,最簡單的libvlc播放器
- 建立控制台項目(參考qt環境搭建教程)
- 配置
檔案.pro
在底部添加如下代碼
win32{
INCLUDEPATH += $$PWD/sdk/include
LIBS += -L$$PWD/sdk/lib -llibvlc -llibvlccore
}else{
INCLUDEPATH += /usr/local/include
LIBS += -L/usr/local/lib -lvlc -lvlccore
}
- 配置sdk
将解壓後的sdk檔案夾複制到main.cpp檔案夾下即可
測試代碼見
simple_libvlc_qt_player
運作結果播放
cuc_ieschool.flv
這個視訊
- 測試代碼
#include <QCoreApplication>
#include <Windows.h>
#include "vlc/vlc.h"
using namespace std;
int main(int argc, char* argv[])
{
libvlc_instance_t* inst;
libvlc_media_player_t* mp;
libvlc_media_t* m;
libvlc_time_t length;
int width;
int height;
int wait_time = 5000;
const char* version;
version = libvlc_get_version();
printf("version: %s\n", version);
inst = libvlc_new(NULL, NULL);
char filename[1024] = "../simple_libvlc_qt_player/cuc_ieschool.flv";
//m = libvlc_media_new_location (inst,"rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov" );
m = libvlc_media_new_path (inst,filename);
mp = libvlc_media_player_new_from_media(m);
libvlc_media_release(m);
libvlc_media_player_play(mp);
//wait until the tracks are created
_sleep(wait_time);
length = libvlc_media_player_get_length(mp);
width = libvlc_video_get_width(mp);
height = libvlc_video_get_height(mp);
printf("Stream Duration: %ds\n", length / 1000);
printf("Resolution: %d x %d\n", width, height);
//Let it play
_sleep(length - wait_time);
// Stop playing
libvlc_media_player_stop(mp);
libvlc_media_player_release(mp);
libvlc_release(inst);
return 0;
}
- 程式釋出
在 simple_libvlc_qt_player
檔案夾下有一個release檔案夾将裡面的動态連結庫放到打包的程式目錄下即可釋出
項目位址
GitHub項目位址:https://github.com/ADeRoy/libvlc_qt_demo
如果幫助到你,可以給個star