Qt+VLC编写的流媒体播放器
生活随笔
收集整理的這篇文章主要介紹了
Qt+VLC编写的流媒体播放器
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我是一名大四的學(xué)生,今年的畢業(yè)設(shè)計(jì)編寫了這個(gè)播放器,主要功能是播放音頻廣播和電視直播。現(xiàn)在畢業(yè)答辯已經(jīng)完成,我放出源碼和可執(zhí)行程序跟大家分享。注意:請(qǐng)勿將該項(xiàng)目用于任何學(xué)習(xí)交流以外的用途!
音頻界面:
視頻界面:
先嘮叨兩句,不想看的可以迅速下翻尋找下載地址 。
大學(xué)期間自學(xué)了Qt,經(jīng)常到Qt吧瀏覽。用Qt中的phonon和Multimedia編寫本地播放器非常方便,很多吧友都會(huì)寫播放器練手,我很早就想突破一下,變本地播放器為流媒體播放器。畢竟網(wǎng)絡(luò)的世界比我的電腦寬廣許多!直到我認(rèn)識(shí)了VLC,這個(gè)想法才得以實(shí)現(xiàn)。
VLC介紹:VLC是著名的開源播放器,其流媒體推送和播放功能非常強(qiáng)大。VLC的項(xiàng)目組把核心庫LibVLC提供出來,供其他程序員二次開發(fā)使用。對(duì)不了解的朋友做個(gè)比喻,LibVLC可以簡單的當(dāng)作和phonon、QtMultimedia是同一類的多媒體庫,但是功能上當(dāng)然不是一個(gè)量級(jí)的。
開發(fā)環(huán)境:
IDE:Qt Creator3.6.1
編程框架:Qt 5.6.0
編譯器:MinGW 4.9.2
流媒體庫:LibVLC2.2.2
我知道肯定有很多朋友跟我的開發(fā)環(huán)境有差異,比如Qt的版本、編譯器的不同等等,但是我機(jī)器上只有這個(gè)版本,恕無法提供其他版本的測(cè)試情況。但是有一點(diǎn)請(qǐng)注意:我曾經(jīng)在Qt5.2上進(jìn)行過編譯,編譯通過但程序是有明顯問題的,所以建議大家使用最新的Qt 5.6.0。
配置LibVLC:
LibVLC的SDK在文末的百度云鏈接中有。配置過程如下:
1.將整個(gè)SDK文件夾放到你喜愛的位置,并記下包含這個(gè)文件夾的路徑,比如D:\sdk。
2.在項(xiàng)目的工程文件(.pro)中加入以下內(nèi)容:
INCLUDEPATH += D:\sdk\include #這個(gè)是LibVLC的頭文件包含目錄,請(qǐng)自行修改。
LIBS += D:\sdk\lib\libvlc.lib #這兩行是LibVLC的庫文件路徑,請(qǐng)自行修改。
LIBS +=D:\sdk\lib\libvlccore.lib
3.在項(xiàng)目中加入#include <vlc/vlc.h>,就可以調(diào)用LibVLC了。
提示:這部分內(nèi)容可以參考大神雷霄驊在CSDN上的文章。網(wǎng)址為:
1. http://blog.csdn.net/leixiaohua1020/article/details/42363079
2. http://blog.csdn.net/leixiaohua1020/article/details/42363593
添加運(yùn)行庫:
libVLC是動(dòng)態(tài)編譯的,跟Qt類似。以上的操作只是在編程時(shí)引入LibVLC,編譯后的程序如要運(yùn)行,還須添加libVLC的動(dòng)態(tài)鏈接庫。要添加的文件為:libvlc.dll,libvlccore.dll,還要添加一個(gè)文件夾plugins。這些文件和文件夾需要放置在可執(zhí)行程序的目錄下,不熟悉的朋友可以類比一下Qt程序的發(fā)布,就能理解了。完整的程序(可執(zhí)行文件+Qt運(yùn)行庫+LibVLC運(yùn)行庫)在文末的百度云鏈接中有,大家可作參考。
已知問題:
1.程序bug:視頻模式下切換窗口再恢復(fù),控件會(huì)丟失焦點(diǎn),但是功能可以正常使用。希望大神們可以
指出bug的原因,非常感謝!
2.頻道地址的問題:現(xiàn)在網(wǎng)上音頻廣播和電視直播多如牛毛,但是地址大多不透明。在采集流媒體地
址的路上我步履維艱。而且大部分網(wǎng)站都做了處理,頻道地址是實(shí)時(shí)更換的。不得不說是個(gè)遺憾。
最后貼出源碼和可執(zhí)行程序的下載地址: http://pan.baidu.com/s/1i598w7N
音頻界面:
視頻界面:
先嘮叨兩句,不想看的可以迅速下翻尋找下載地址 。
大學(xué)期間自學(xué)了Qt,經(jīng)常到Qt吧瀏覽。用Qt中的phonon和Multimedia編寫本地播放器非常方便,很多吧友都會(huì)寫播放器練手,我很早就想突破一下,變本地播放器為流媒體播放器。畢竟網(wǎng)絡(luò)的世界比我的電腦寬廣許多!直到我認(rèn)識(shí)了VLC,這個(gè)想法才得以實(shí)現(xiàn)。
VLC介紹:VLC是著名的開源播放器,其流媒體推送和播放功能非常強(qiáng)大。VLC的項(xiàng)目組把核心庫LibVLC提供出來,供其他程序員二次開發(fā)使用。對(duì)不了解的朋友做個(gè)比喻,LibVLC可以簡單的當(dāng)作和phonon、QtMultimedia是同一類的多媒體庫,但是功能上當(dāng)然不是一個(gè)量級(jí)的。
開發(fā)環(huán)境:
IDE:Qt Creator3.6.1
編程框架:Qt 5.6.0
編譯器:MinGW 4.9.2
流媒體庫:LibVLC2.2.2
我知道肯定有很多朋友跟我的開發(fā)環(huán)境有差異,比如Qt的版本、編譯器的不同等等,但是我機(jī)器上只有這個(gè)版本,恕無法提供其他版本的測(cè)試情況。但是有一點(diǎn)請(qǐng)注意:我曾經(jīng)在Qt5.2上進(jìn)行過編譯,編譯通過但程序是有明顯問題的,所以建議大家使用最新的Qt 5.6.0。
配置LibVLC:
LibVLC的SDK在文末的百度云鏈接中有。配置過程如下:
1.將整個(gè)SDK文件夾放到你喜愛的位置,并記下包含這個(gè)文件夾的路徑,比如D:\sdk。
2.在項(xiàng)目的工程文件(.pro)中加入以下內(nèi)容:
INCLUDEPATH += D:\sdk\include #這個(gè)是LibVLC的頭文件包含目錄,請(qǐng)自行修改。
LIBS += D:\sdk\lib\libvlc.lib #這兩行是LibVLC的庫文件路徑,請(qǐng)自行修改。
LIBS +=D:\sdk\lib\libvlccore.lib
3.在項(xiàng)目中加入#include <vlc/vlc.h>,就可以調(diào)用LibVLC了。
提示:這部分內(nèi)容可以參考大神雷霄驊在CSDN上的文章。網(wǎng)址為:
1. http://blog.csdn.net/leixiaohua1020/article/details/42363079
2. http://blog.csdn.net/leixiaohua1020/article/details/42363593
添加運(yùn)行庫:
libVLC是動(dòng)態(tài)編譯的,跟Qt類似。以上的操作只是在編程時(shí)引入LibVLC,編譯后的程序如要運(yùn)行,還須添加libVLC的動(dòng)態(tài)鏈接庫。要添加的文件為:libvlc.dll,libvlccore.dll,還要添加一個(gè)文件夾plugins。這些文件和文件夾需要放置在可執(zhí)行程序的目錄下,不熟悉的朋友可以類比一下Qt程序的發(fā)布,就能理解了。完整的程序(可執(zhí)行文件+Qt運(yùn)行庫+LibVLC運(yùn)行庫)在文末的百度云鏈接中有,大家可作參考。
已知問題:
1.程序bug:視頻模式下切換窗口再恢復(fù),控件會(huì)丟失焦點(diǎn),但是功能可以正常使用。希望大神們可以
指出bug的原因,非常感謝!
2.頻道地址的問題:現(xiàn)在網(wǎng)上音頻廣播和電視直播多如牛毛,但是地址大多不透明。在采集流媒體地
址的路上我步履維艱。而且大部分網(wǎng)站都做了處理,頻道地址是實(shí)時(shí)更換的。不得不說是個(gè)遺憾。
最后貼出源碼和可執(zhí)行程序的下載地址: http://pan.baidu.com/s/1i598w7N
總結(jié)
以上是生活随笔為你收集整理的Qt+VLC编写的流媒体播放器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xp如何查看计算机配置文件,Window
- 下一篇: 美国总统,国务卿给做“广告”,黑莓手机想