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,控制命令还需依附于鼠标事件才能实现

相关推荐
失败又激情的man22 分钟前
python之requests库解析
开发语言·爬虫·python
专注VB编程开发20年44 分钟前
常见 HTTP 方法的成功状态码200,204,202,201
开发语言·网络协议·tcp/ip·http
有没有没有重复的名字1 小时前
线程安全的单例模式与读者写者问题
java·开发语言·单例模式
十秒耿直拆包选手1 小时前
Qt:主窗体(QMainwindow)初始化注意事项
c++·qt
开开心心_Every2 小时前
便捷的电脑自动关机辅助工具
开发语言·人工智能·pdf·c#·电脑·音视频·sublime text
霖003 小时前
C++学习笔记三
运维·开发语言·c++·笔记·学习·fpga开发
上单带刀不带妹3 小时前
JavaScript中的Request详解:掌握Fetch API与XMLHttpRequest
开发语言·前端·javascript·ecmascript
小白学大数据3 小时前
Python爬取闲鱼价格趋势并可视化分析
开发语言·python
ningmengjing_3 小时前
在 PyCharm 中安装并配置 Node.js 的指南
开发语言·javascript·ecmascript
晓13134 小时前
JavaScript基础篇——第五章 对象(最终篇)
开发语言·前端·javascript