Video streaming 从QBuffer播放yuv视频
我想用qtav播放yuv数据。我从文件和tcp套接字播放,但从QBUFFER没有成功。你能帮我吗Video streaming 从QBuffer播放yuv视频,video-streaming,h.264,yuv,qtav,Video Streaming,H.264,Yuv,Qtav,我想用qtav播放yuv数据。我从文件和tcp套接字播放,但从QBUFFER没有成功。你能帮我吗 MY CODE : QtAV::AVPlayer* m_player_; m_player_live1 = new AVPlayer(this); QtAV::VideoOutput* m_renderer_live1; m_renderer_live1 = new VideoOutput(VideoRendererId_Widget); QVar
MY CODE :
QtAV::AVPlayer* m_player_;
m_player_live1 = new AVPlayer(this);
QtAV::VideoOutput* m_renderer_live1;
m_renderer_live1 = new VideoOutput(VideoRendererId_Widget);
QVariantHash fmt_opt;
fmt_opt["format_whitelist"] = "rawvideo";
fmt_opt["video_size"] = "352x288";
fmt_opt["pixel_format"] = "yuv420p";
fmt_opt["framerate"] = 25;
m_player->setOptionsForFormat(fmt_opt);
m_player=>setBufferMode(BufferPackets);
buffr = new QBuffer();
if (buffr->open(QIODevice::ReadWrite))
{
qDebug() << " buffer open";
}
m_player_->setIODevice(buffr);
// WRITE DECODE DATA AND DATASIZE FROM CALLBACK DATA
buffr->write((const char*)pFrmHdrDec->data, pFrmHdrDec->data_size);
我的代码:
QtAV::AVPlayer*m_player;
m_player_live1=新的AVPlayer(此);
QtAV::VideoOutput*m_renderer_live1;
m_renderer_live1=新的视频输出(VideorenderId_小部件);
QVariantHash fmt_opt;
fmt_opt[“格式_白名单”]=“原始视频”;
fmt_opt[“视频大小”]=“352x288”;
fmt_opt[“像素_格式”]=“yuv420p”;
fmt_opt[“帧率”]=25;
m_播放器->设置格式选项(fmt_选项);
m_player=>setBufferMode(缓冲数据包);
buffer=新的QBuffer();
如果(buffer->open(QIODevice::ReadWrite))
{
qDebug()setIODevice(buffer);
//从回调数据写入解码数据和数据大小
BUFF->write((常量字符*)pFrmHdrDec->数据,pFrmHdrDec->数据大小);