流畅播放?
龙芯2k300是一颗单核1.0GHz的处理器,没有GPU,所以播放视频的码率、分辨率、帧率都要压缩一下才可以流畅播放。
经验证,可以流畅播放下面链接中的360p15帧视频
配置qtmultimedia多媒体库?
要使用qt进行播放,需要配置支持qtmultimedia多媒体库
用buildroot编译系统,Target packages → Audio and video applications选中
1、alsa-utils 全选中
2、gstreamer是qtmultimedia的后端,由于我不知道每个库具体功能,索性全选中,但gstreamer1-editing-services库可以知道是用来剪辑视频的,开发板不需要,不选中。base、good、bad、ugly里面的子项也全选中,但是在编译过程中有个opus编译不成功,所以base和bad下面的opus不选中,让它不编译
龙芯由于是个新架构,市面上许多开源库还没来得及适配,在buildroot编译的时候gstreamer会报架构错误,可以在报错的地方加上这个宏 defined(__loongarch__)
参考是这个:
应用开发?
在启动应用前需要,先运行pulseaudio,否则会播放失败
pulseaudio --start --daemonize
简单的代码可以验证是否可以播放
// 1. 创建播放器和视频窗口
QMediaPlayer *m_pPlayer = new QMediaPlayer(this); // 媒体播放器类
QVideoWidget *m_pPlayerWidget = new QVideoWidget(this); // 视频显示组件窗口
// 2. 设置视频输出
m_pPlayer->setVideoOutput(m_pPlayerWidget);
// 3. 布局管理:将视频窗口添加到主窗口布局中
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(m_pPlayerWidget);
setLayout(layout); // 设置窗口的布局
// 4. 显示视频窗口
m_pPlayerWidget->setAutoFillBackground(true);
m_pPlayerWidget->show();
// 5. 设置媒体信息并播放
QString videoPath = QCoreApplication::applicationDirPath() + "/oceans.mp4";
m_pPlayer->setMedia(QUrl::fromLocalFile(videoPath)); // 确保路径正确
m_pPlayer->play();
或者用这个项目,感谢这位大佬
Qt视频播放器[QMediaPlayer+QVideowidget]-CSDN博客https://blog.csdn.net/qq_47355554/article/details/129172463