使用Qt多媒体和小工具播放网络流媒体视频
Playing a network streaming video using Qt MultiMedia and Widgets
我正在尝试构建一个简单的qt应用程序,它将播放实时视频流。流媒体视频未在我的应用程序中播放。我已经使用qt播放了一个本地文件,但我无法播放实时视频流。我找到了这些链接,但它们对我没有帮助:-
使用Qt 播放实时视频流
Qt流IP摄像机视频
这是代码:-
#include <QApplication>
#include <QtMultimediaWidgets/QVideoWidget>
#include <QtMultimedia/QMediaPlayer>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMediaPlayer *player = new QMediaPlayer;
QMediaContent *mc=new QMediaContent(QUrl("http://192.168.42.129:8080/video"));
player->setMedia(*mc);
player->setVolume(50);
QVideoWidget *videoWidget = new QVideoWidget;
videoWidget->resize(700,700);
videoWidget->show();
player->setVideoOutput(videoWidget);
player->play();
qDebug()<<player->availableMetaData()<<player->currentMedia().canonicalUrl();
qDebug()<<player->errorString();
return a.exec();
}
我正在使用安卓手机中的一个应用程序来流式传输视频。流式视频正在VLC媒体播放器、Opera浏览器、Mozilla浏览器上播放。我尝试过不同的格式,比如MOV、MKV、WEBM(应用程序说我手机中的硬件渲染器不支持MP4)。请帮忙,卡住了一段时间。
EDIT-我不想使用像libVLC这样的任何其他库,因为我注意到流媒体视频在vlc媒体播放器中滞后。它可能存在一些性能问题。
我想出了一个办法。我无法使用QMultedia小部件。我不得不使用像libvlc或vlc-qt这样的外部库。它们有很好的API,通常没有性能问题(正如我之前所想的那样)。它们很容易与Qt(及其小部件)集成。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 我的神经网络不起作用 [XOR 问题]
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- SFML纹理像播放器
- 通过网络、跨平台传递std::变体是否安全
- 如何在MNIST上提高网络运行的准确性
- Active Directory:从网络服务帐户下运行的Windows服务调用ADsOpenObject时失败
- 根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 如何收听Windows当前正在播放的声音?
- 神经网络不学习.卡在50%
- 如何绑定 C++ gRPC 客户端的网络接口
- GStreamer在开始任何播放之前进行搜索
- (SFML)按下键时,播放器构造函数未使用正确的动画进行更新
- 在本地网络中通过OpenCV(C++)实时流式传输图像
- 在不知道套接字的情况下关闭网络连接
- 使用Qt多媒体和小工具播放网络流媒体视频
- 要掌握的有关实现网络播放器的技术
- 当通过网络(远程屏幕播放应用程序)传输JPEG压缩的屏幕分块时,是否建议使用zlib(或类似)压缩