0
我一直在寫一個移動流應用程序。 現在我發送問題QVideoFrame。我需要將它轉換爲char *進行發送,所以我用位()的方法,但它似乎是錯誤的。
這是代碼:
發送QVideoFrame通過QTcpSocket
void FilterRunnable::sendFrame(QVideoFrame *frame)
{
QByteArray block;
QDataStream stream(&block,QIODevice::WriteOnly);
frame->map(QAbstractVideoBuffer::ReadOnly);
stream << qint16(0) << (char*)frame->bits();
stream.device()->seek(0);
stream << qint16(block.size() - sizeof(qint16));
skt.write(block);
frame->unmap();
}
因此問題是,如何發送QVideoFrame throught與QTcpSocket?它實際上可能嗎?
您在哪個階段遇到問題?是在收到幀的時候嗎?你可以將它轉換成位,然後在本地成功返回嗎? –
我有一個QVideoFilterRunnable過濾每個QVideoFrame它顯示之前。這個過濾器不改變幀,它只是發送到服務器,所以過濾框後可以顯示。問題是發送bits()是不夠的,我不能使用bits()中的數據在服務器上構建Frame。 – Helldog
代碼在服務器上的外觀如何? –