Qt音视频开发14-音视频文件保存基类的设计
2023-09-14 09:01:41 时间
一、前言
视频综合应用示例,包括了多种内核,在保存文件这个功能上,需要一个通用的文件保存基类AbstractSaveThread,这个基类定义了是否打印线程消息标志位、直接写入还是排队写入标志位、文件生成后是否调用转换合并标志位、是否执行了转换合并标志位,用于各种视频解码内核对应的报错动作处理。vlc和mpv等都带了文件保存函数接口,所以不需要应用这个基类,而对于ffmpeg或者v4l2等从源头采集并解码出来的数据,就需要用到单独的保存线程来保存音视频数据。
个人喜欢将子类中重复的变量和函数接口放到基类,这样子类可以重复使用,不用重新定义和实现,比如音视频的保存参数有文件名称、视频文件类型、音频文件类型、视频的宽高帧率、音频的采样率通道数等,为了尽可能考虑到各种保存文件的情况,特意将音频保存类和视频保存类独立,比如有时候就需要将音视频文件分离,所以还需要定义两个保存文件枚举值,音频文件类型SaveAudioType(不保存=SaveAudioType_None/原始数据=SaveAudioType_Pcm/WAV格式=SaveAudioType_Wav/AAC格式=SaveAudioType_Aac),视频文件类型SaveVideoType(不保存=SaveVideoType_None/原始数据=SaveVideoType_Yuv/h264格式=SaveVideoType_H264/mp4格式=SaveVideoType_Mp4)。
二、效果图
相关文章
- Qt-无边框窗口实现拖动和改变大小(Qt::FramelessWindowHint)
- Qt利用QFileSystemWatcher对文件或目录监听fileChanged
- 工作路径下用CMD启动fluent(相对路径读写文件),QT中QProcess调用详解及实验
- Qt之进程间通信之Windows消息(nativeEvent)
- Qt操作XML文件
- 【C/C++学院】(18)QT文件读写/主窗口类/获取host信息
- QT小例子 ---文件查找
- Qt开源作品40-图片及文字与base64编码互换
- Qt设置悬浮滚动条
- Qt 生成dump文件及windbg调试(进阶版)
- Qt xml文件常用的操作(读写,增删改查)
- Qt Q_DECL_EXPORT的作用,生成.dll的同时生成.lib文件
- Qt Quick-PySide2使用qrc文件
- C++ Qt开发——写日志文件
- Qt 信息提示框 QMessageBox
- 第18篇 基础 (十八)Qt 创建一个QtDesinger第三方控件
- qt 拷贝文件设置进度条
- Qt枚举目录文件并获取文件名
- Qt disconnect函数
- 【Qt】将QtDesigner生成的.ui文件转化为.h头文件
- QT打印窗口、退出、设置字体及颜色、设置时间、控件实现系统函数、添加资源文件(菜单图片)、工具栏添加图片
- qt使用笔记一:信号与槽、GUI搬砖、打开文件、字符串处理