# XViewer **Repository Path**: hu-xiao-yun/xviewer ## Basic Information - **Project Name**: XViewer - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-23 - **Last Updated**: 2025-09-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XViewer 项目说明 这是一个基于 C++ 的多媒体播放与管理项目,使用了 Qt 框架进行界面开发,并集成了音视频编解码、播放、录制等功能。该项目适用于开发跨平台的音视频应用程序。 ## 项目结构 - **xcodec**: 音视频编解码模块,包含音频播放、解码、编码、格式转换、复用、解复用等功能。 - **xviewer**: 主程序模块,基于 Qt 实现图形界面,支持摄像头管理、视频播放、录像、预览、日历等功能。 - **测试模块**: 包括对编解码、播放、播放器等核心功能的测试代码。 ## 主要功能模块 ### 音视频处理模块 (xcodec) - **音频播放**: 使用 `CXAudioPlay` 类实现音频播放功能。 - **编解码**: 提供 `XCodec`、`XDecode`、`XEncode` 类用于音视频编解码。 - **格式转换**: `XFormat` 类用于处理时间基转换、参数复制等。 - **复用/解复用**: `XMux` 和 `XDemux` 类用于音视频数据的封装与解封装。 - **工具类**: `XTools` 提供常用工具函数,如帧释放、线程控制等。 ### 图形界面模块 (xviewer) - **主界面**: `XViewer` 类实现主窗口功能,支持摄像头管理、视频播放、录像等。 - **播放窗口**: `XPlayVideo` 类实现视频播放功能。 - **摄像头管理**: `XCameraConfig` 类用于管理摄像头配置。 - **录像功能**: `XCameraRecord` 类实现摄像头录像功能。 - **日历控件**: `XCalendar` 类用于显示日期并支持视频标记。 ## 编译与运行 ### 依赖项 - C++ 编译器 (支持 C++11 或更高) - Qt 5 或 Qt 6 - FFmpeg 库 ### 编译步骤 1. 确保已安装 Qt 和 FFmpeg。 2. 使用 CMake 构建项目: ```bash mkdir build cd build cmake .. make ``` 3. 运行生成的可执行文件。 ## 使用示例 ### 播放视频 1. 打开 XViewer。 2. 添加摄像头或选择本地视频文件。 3. 点击播放按钮开始播放视频。 ### 录制视频 1. 在 XViewer 中选择摄像头。 2. 点击“开始录像”按钮开始录制。 3. 点击“停止录像”按钮结束录制。 ## 贡献指南 欢迎贡献代码和改进项目。请遵循以下步骤: 1. Fork 项目仓库。 2. 创建新分支。 3. 提交代码更改。 4. 创建 Pull Request。 ## 许可证 本项目遵循 MIT 许可证。详情请查看 LICENSE.txt 文件。