ffplay——QT项目移植

一、ffmpeg源码编译

参考:

https://blog.csdn.net/sgzed/article/details/119850119

在生成时做了一些修改:

./configure --toolchain=msvc --enable-shared --enable-postproc --enable-gpl --prefix=windows

二、对文件做调整

ffplay只需要三个文件,cmduti.c、cmduti.h、ffplay.c

调整ffplay.c文件,创建新的头文件用来声明ffplay.c中的所有函数,修改.c为.cpp

三、编译、修改编译错误

修改方法:这个ShowMode 来源是在VideoState的结构体中

修改时只需添加上VideoState确定变量的应用位置。

在整个文件中有很多处这样的问题

还有一些暂时处理不了的错误,暂时屏蔽掉

四、SDL窗口嵌入到qt控件显示

// window = SDL_CreateWindow(program_name, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, default_width, default_height, flags);

window = SDL_CreateWindowFrom (handle);

将SDL_CreateWindow用SDL_CreateWindowFrom替换,handle是插件的WID;

都在main函数中,这个函数是需要的修改的

五、SDL的按键事件不再生效

需要做一些调整来响应桌面的基本控制命令,实现快退、快进、暂停等功能

六、界面展示

七、存在的问题

只是简单的实现了基本控制,但是存在一些小bug,控制命令还需依附于鼠标事件才能实现

相关推荐
萧鼎3 小时前
Python PyTesseract OCR :从基础到项目实战
开发语言·python·ocr
q***23573 小时前
RabbitMQ介绍以及基本使用
qt·rabbitmq·ruby
二川bro4 小时前
第57节:Three.js企业级应用架构
开发语言·javascript·架构
sali-tec4 小时前
C# 基于halcon的视觉工作流-章62 点云采样
开发语言·图像处理·人工智能·算法·计算机视觉
王宪笙5 小时前
Qt之数据库使用示例
数据库·qt
这人很懒没留下什么5 小时前
SpringBoot2.7.4整合Oauth2
开发语言·lua
ZHOUZAIHUI5 小时前
WSL(Ubuntu24.04) 安装PostgreSQL
开发语言·后端·scala
欧阳x天5 小时前
C++入门(二)
开发语言·c++
CappuccinoRose5 小时前
MATLAB学习文档(二十八)
开发语言·学习·算法·matlab
爱敲代码的loopy5 小时前
MATLAB函数全称解析:旋转翻转找数字
开发语言·matlab