2014-01-30 329 views
1

下面給出了使用Qt播放視頻文件的代碼。我不想播放視頻,而是想從IP攝像機播放實時視頻流。另一種方法是在Qt中嵌入VLC播放器,並提供該項目的鏈接here。問題是我不知道如何在Qt中包含播放器。那麼我該如何繼續?使用Qt播放實時視頻流

#include <QApplication> 
#include <QtMultimediaWidgets/QVideoWidget> 
#include <QtMultimedia/QMediaPlayer> 
#include <QtMultimedia/QMediaPlaylist> 
#include <QFile> 
#include <QHBoxLayout> 
#include "DemoPlayer.h" 
int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 

    QWidget *widget=new QWidget; 
    widget->resize(400,300); 

    QMediaPlayer *player=new QMediaPlayer; 
    QVideoWidget *vw= new QVideoWidget; 
    QHBoxLayout *layout=new QHBoxLayout; 

    layout->addWidget(vw); 
    widget->setLayout(layout); 
    player->setVideoOutput(vw); 
    player->setMedia(QUrl::fromLocalFile("C:/Users/Administrator/Desktop/1minute.mp4")); 
    player->play(); 
    widget->show(); 
    qDebug()<<player->availableMetaData()<<player->currentMedia().canonicalUrl(); 

    return a.exec(); 
} 
+0

上面的代碼工作得很好....請你的問題有點更清晰 – Metoo

+0

現在@Metoo檢查的問題。 –

+1

你有沒有試過LibVLC https://wiki.videolan.org/LibVLC_SampleCode_Qt – Metoo

回答

4

請按照此代碼。您可以使用有效的窗口ID在另一個窗口小部件中嵌入窗口小部件。 How to show output video of other application in Qt? 可以使用qx11embedwidget和qx11embedwidgetcontainer QX11EmbedWidget and QX11EmbedContainer

+0

鏈接未打開。你確定它是一個有效的鏈接嗎? –

+0

只是檢查qx11EmbedWidget和QX11EmbedContainer ..你能打開堆棧溢出線程..? – Wagmare

+0

我可以打開線程,但無法打開答案中提供的鏈接。那就是問題所在。 –