qt - 将 mpeg2-ts 帧从套接字解码到 RGB 缓冲区
问题描述
我正在尝试制作一个在我的电脑上记录我的手机屏幕的程序。为此,我制作了一个简单的客户端/服务器套接字 TCP。我的 Android 手机记录屏幕并将 H.264/AAC 数据封装在 MPEG2/TS 中并通过套接字连续发送。
PC端,我正在使用QT,我在这个函数上接收流:
void Server::processBinaryMessage() {
QTcpSocket *pClient = qobject_cast<QTcpSocket *>(sender());
QByteArray byteArrayReceived = pClient->readAll();
QFile f("record.ts");
if (f.open(QIODevice::WriteOnly | QIODevice::Append)) {
f.write(byteArrayReceived);
f.close();
}
}
我将每个 QbyteArray 写入 File 以查看它是否正确并与 VLC 一起使用,效果很好。但我想使用 avformat 从内存中解码这些帧。
我使用的是带有 msvc2017_64 编译器的 QT 5.12.1。
感谢帮助。
解决方案
推荐阅读
- react-native - React Native:如何在登录前隐藏底部栏并在用户登录后显示?
- excel - Excel 公式使用变量作为其他工作表中的行引用
- internet-explorer - Why isn't my SVG displaying correctly in IE1 or /Edge?
- azure - 如何为 MVC+Angular 应用程序实现 CI/CD
- android - 为 Here 自动完成 api 设置语言环境(和反向地理编码)
- wordpress - 上传文件后 PHP 7 延迟 - 必须等待近 1 分钟才能看到结果
- php - 如何从 ORACLE SQL 数据库调用/触发 PHP 脚本
- java - 根据 Java8 中的逻辑表达式验证 JSON
- ios - 是否可以在 iOS 应用程序中热交换离子代码?
- ruby-on-rails - 升级到 Rails 6 时 Active Storage 迁移出现错误