2017-10-11 15 views
0

このサイトで激しい検索をしたところ、私は に適合するものは何も見つかりませんでした。私は のAndroid 5.1デバイスに小さなビデオストリーミングクライアントを書きたいと思っています。次のコードが使用されています:シンプルなQtビデオストリーミングアプリケーションと音声のみ、ビデオ無し(白い画面)

QApplication a(argc, argv); 

QWidget *widget=new QWidget; 
widget->resize(320,200); 

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

layout->addWidget(vw); 
widget->setLayout(layout); 
player->setVideoOutput(vw); 
player->setMedia(QUrl("rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov")); 
player->play(); 
widget->show(); 

問題は、サウンドは機能しますが、私は白い画面しか表示されません。 サウンドは再生されていますが、ビデオは再生されません。

アンドロイドデバイスのVLCプレーヤーがビデオ を正しく再生しています。私もアンドロイドスタジオの小さなプレーヤーを使用しました。ビデオは再生されますが、ビデオは再生されます(しかし、それは私にとっては役に立ちません)。

私は、

+0

あなたのAndroidデバイスのQtライブラリには、正しいコーデック(H.264)がありません。 – PiedPiper

+0

こんにちは、wthereは、サポートするコーデックのアンドロイドプラットフォームのqtキットをチェックすることができます? – Harold

答えて

0

MOVやh.264/h.265などの特定のフォーマット/コーデックをクロスプラットフォームの方法で再生したい場合は、QtAV(http://www.qtav.org/)のような外部ライブラリを使用することをお勧めします。 VLC Qtラッパー(https://github.com/RSATom/QmlVlcDemo

+0

ありがとうございます、私は現在qmlvlcdemoを見ていますが、コンパイラにvlc.h(現在のステータス)がありません。私は現在、どのパッケージを使用しなければならないか調査中です... – Harold

+0

zipファイルとしてダウンロードしましたか? githubはgitサブモジュールでzipを埋めていないので、リポジトリをクローンする必要があります –

+0

いいえ、私はzipファイルを使用しました。今、私はリポジトリをクローンし、qmakeの後にインクルードQmlVlcが存在しません。 QmlVlcリポジトリもクローンし、デモの.proファイルにパスを追加しました。その後、vlc.hが見つからないというエラーが表示されます。 – Harold

0

私は、Androidデバイスdo not supportのQuickTimeフォーマット(MOV)が問題であると信じています。

反対側のVLCメディアプレーヤーis well-known正しく再生できるようにMOVビデオ。

MP4またはWebMなどの別の形式のビデオをテストして、プログラムの動作を確認してください。


私はかつてQtにオーディオ/ビデオをストリーミングするためのデスクトップソフトウェアを開発し、私はGStreamerフレームワークで動作するように喜びを持っていました。

多くの機能のうち、MOVビデオを他の形式に変換することができます。

チュートリアルGStreamer for Androidと、Qtのよく実装されたGSstreamerバインディングのセットQtGstreamerを確認することができます。

+0

こんにちは、gstreamerへのヒントをありがとうございます。私はまた、gstreamerフレームワークに出くわし、試してみましょう。最初は、クロスプラットフォーム開発のためにlibaryを使用する必要があります。 x86とx86_64(binとdev)のインストーラをダウンロードして調査します。私は報告します... – Harold

+0

まず、あなたのアプリで他のフォーマットが再生されていることを確認してください@Harold – payloc

関連する問題