VLC サーバーからブロードキャストを受信するアプリケーションに取り組んでいます。解決策はありますが、これは私のニーズに合わないため、別の解決策が必要です。
私の質問は、QTcpSocket を QByteArray としてビデオを受信し、QMediaPlayer で再生する方法があるということです。以下の記事を見つけましたが、実際にはうまくいきませんでした。
これが私がやろうとしてきたことです。ポートを「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 で何らかの結果を確認できるはずです。
正しく行う方法を教えてください。