1

VLC サーバーからブロードキャストを受信するアプリケーションに取り組んでいます。解決策はありますが、これは私のニーズに合わないため、別の解決策が必要です。

私の質問は、QTcpSocket を QByteArray としてビデオを受信し、QMediaPlayer で再生する方法があるということです。以下の記事を見つけましたが、実際にはうまくいきませんでした。

BYTE* ストリームから Qt でビデオを再生しますか?

これが私がやろうとしてきたことです。ポートを「8080」に設定して、HTTPでVLCでストリームを開始します。テストしたのは、接続が発生することですが、QTcpSocketのreadReady()信号が決して出力されないため、VLCからデータを取得しないようです。read/readAll を使用してデータを読み取ることはできますが。

tcpSocket = new QTcpSocket();
tcpSocket->connectToHost("157.181.196.59", 8080);

QByteArray data = tcpSocket->readAll();
QBuffer buffer(&data);
player->setMedia(QMediaContent(), &buffer);
player->play();    

それがどのように機能するかはわかっていますが、このコードで想像したように、videoWidget で何らかの結果を確認できるはずです。

正しく行う方法を教えてください。

4

0 に答える 0