# TangLiveRecorder **Repository Path**: tjfzeishuai/TangLiveRecorder ## Basic Information - **Project Name**: TangLiveRecorder - **Description**: 一个基于 .NET 9.0 和 WinForms 的直播录制工具,支持抖音直播的自动监控和录制。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: https://gitee.com/tjfzeishuai/TangLiveRecorder - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-07-25 - **Last Updated**: 2025-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: Winforms, antdui, Csharp ## README # TangLiveRecorder 一个基于 .NET 9.0 和 WinForms 的直播录制工具,支持抖音直播的自动监控和录制。 ## 🚀 功能特性 - **多平台支持**: 目前支持抖音直播平台 - **自动监控**: 定时轮询直播状态,自动开始/停止录制 - **实时状态显示**: 直播卡片显示直播状态和录制状态 - **FFmpeg录制**: 使用FFmpeg进行高质量视频录制 - **数据持久化**: 自动保存直播信息和录制文件信息 - **日志系统**: 详细的操作日志和错误信息记录 - **优雅关闭**: 应用程序关闭时自动停止所有录制任务 ## 📋 系统要求 - Windows 10/11 - .NET 9.0 Runtime - FFmpeg (需要添加到系统PATH或放在程序目录) ## 🛠️ 技术栈 - **框架**: .NET 9.0 - **UI**: Windows Forms + AntdUI - **依赖注入**: Microsoft.Extensions.DependencyInjection - **JSON处理**: Newtonsoft.Json - **录制工具**: FFmpeg ## 📦 安装说明 ### 1. 下载FFmpeg 从 [FFmpeg官网](https://ffmpeg.org/download.html) 下载Windows版本,并确保 `ffmpeg.exe` 在系统PATH中或程序目录下。 ### 2. 编译项目 ```bash git clone https://gitee.com/tjfzeishuai/TangLiveRecorder.git cd TangLiveRecorder dotnet build ``` ### 3. 运行程序 ```bash dotnet run --project TangLiveRecorder ``` ## 🎯 使用方法 ### 添加直播间 1. 点击"添加直播"按钮 2. 输入抖音直播间URL(格式:`https://live.douyin.com/xxxxxx`) 3. 程序会自动获取主播信息并添加到监控列表 ### 监控和录制 - **启用监控**: 勾选直播卡片上的启用开关 - **自动录制**: 程序会自动检测直播状态,开播时自动开始录制 - **状态显示**: - 🔴 **正在直播**: 主播当前正在直播 - 🟢 **录制中**: 正在录制直播内容 - **手动控制**: 可以手动启用/禁用特定直播间的监控 ### 录制文件 - **存储位置**: `我的文档/TangLiveRecorder/Recordings/` - **文件命名**: `主播名_yyyyMMdd_HHmmss.mp4` - **文件管理**: 在"文件"标签页查看所有录制文件 ## ⚙️ 配置说明 ### 轮询设置 - **默认间隔**: 10秒检查一次直播状态 - **可调整**: 可在设置中修改轮询间隔 ### 录制设置 - **视频格式**: MP4 - **录制质量**: 使用直播源的原始质量 - **自动停止**: 直播结束时自动停止录制 ## 📁 项目结构 ``` TangLiveRecorder/ ├── TangLiveRecorder/ # 主程序 │ ├── Controls/ # UI控件 │ ├── Data/ # 数据管理 │ ├── Models/ # 数据模型 │ ├── Services/ # 核心服务 │ │ ├── PollingService.cs # 轮询服务 │ │ ├── RecordingService.cs # 录制服务 │ │ └── DataPersistenceService.cs # 数据持久化 │ └── Utils/ # 工具类 ├── Live.Core/ # 直播平台核心库 │ └── Douyin/ # 抖音直播支持 └── Test/ # 测试项目 ``` ## 🔧 核心服务 ### PollingService (轮询服务) - 定时检查直播状态 - 自动启动/停止录制 - 系统资源监控 ### RecordingService (录制服务) - FFmpeg进程管理 - 录制任务调度 - 文件输出管理 ### DataPersistenceService (数据持久化) - 直播信息保存 - 录制文件信息管理 - 设置数据持久化 ## 🐛 故障排除 ### FFmpeg相关问题 1. **FFmpeg未找到** - 确保FFmpeg在系统PATH中 - 或将ffmpeg.exe放在程序目录下 2. **录制失败** - 检查网络连接 - 查看日志中的FFmpeg错误信息 - 确认直播流URL有效 3. **权限问题** - 确保程序有写入"我的文档"的权限 - 以管理员身份运行程序 ### 网络问题 1. **无法获取直播信息** - 检查网络连接 - 确认直播间URL格式正确 - 查看是否需要更新Cookie ## 📝 更新日志 ### 最新版本 - ✅ 支持抖音直播监控和录制 - ✅ 实时状态显示(直播中/录制中) - ✅ 自动录制管理 - ✅ 完善的日志系统 - ✅ 优雅的应用程序关闭处理 - ✅ FFmpeg输出信息完整记录 ## 🤝 贡献指南 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 📄 许可证 本项目采用开源许可证,具体请查看项目代码和依赖。 ## 🔗 相关链接 - [项目仓库](https://gitee.com/tjfzeishuai/TangLiveRecorder) - [FFmpeg官网](https://ffmpeg.org/) - [.NET 9.0文档](https://docs.microsoft.com/dotnet/) ## ⚠️ 免责声明 本工具仅供学习和个人使用,请遵守相关平台的服务条款和法律法规。录制他人直播内容时,请尊重版权和隐私权。 --- 如有问题或建议,欢迎提交Issue或Pull Request!