程序聚合 软件案例 短视频平台主播直播状态监控与自动录制系统

短视频平台主播直播状态监控与自动录制系统

2026-06-04 17:34:57
行业:社交、内容平台
载体:Windows应用
技术:C++

业务和功能介绍

本项目实现了一个高性能的C++直播监控系统,可对短视频平台(如抖音、快手、Twitch等)指定主播进行实时状态监测与自动化录制。核心功能包括:1)动态轮询检测主播上下线状态,当检测到开播时,自动触发录制任务;2)支持手动录制和自动录制两种模式,自动模式可设置监控名单和时间表;3)录制模块直接调用FFmpeg底层库拉取直播流(支持RTMP、HLS、FLV等协议),保存为本地MP4文件,并自动按主播名和日期分文件夹存储;4)提供开播/下播的即时通知(可推送至企业微信或邮箱)。系统采用多线程并发监控,单机可同时监控上百个主播,资源占用低,录制成功率达99%以上。

项目实现

整体架构和设计思路
系统采用多线程异步I/O架构,分为网络监控引擎、任务调度器、流媒体录制器三个独立模块。监控引擎基于libcurl实现HTTP请求池,支持多主播并发轮询;状态解析使用nlohmann/json(或picojson)解析平台API返回的JSON数据;录制模块通过FFmpeg C API(或调用avformat、avcodec)直接拉取直播流并写入本地文件;调度器使用pthread线程池管理监控和录制任务,通过条件变量实现开播即时唤醒。整体设计强调低延迟(检测到开播后3秒内启动录制)和高并发(单机可同时监控500+主播),内存占用控制在50MB以内。

网络监控引擎:基于libcurl + multi interface实现非阻塞HTTP请求,支持自定义Cookie池和User-Agent轮换。针对平台的反爬策略,实现了TLS指纹模拟(通过BoringSSL定制)和请求延时随机化(20~60秒)。使用re2正则库或lexbor解析HTML回退方案。

流媒体录制模块:集成FFmpeg 6.0的libavformat,直接调用avformat_open_input拉取直播流(支持RTMP、HLS、FLV),通过av_read_frame读取音视频包,写入本地MP4容器。实现了自动重连机制(检测到AVERROR_EOF后重新尝试连接,最多5次)。

任务调度与持久化:基于SQLite3 C API记录每场直播的元数据,使用leveldb缓存最近直播状态(减少数据库压力)。调度器采用定时器队列(最小堆实现),支持动态添加/移除监控任务。
最终系统在测试环境中对50位主播进行了72小时连续压力测试,共触发423次开播事件,平均检测延迟1.8秒,录制成功率99.5%(失败案例均为平台推流异常)。CPU占用稳定在12%(8核3.0GHz),内存占用44MB,相比同功能Python方案性能提升约8倍。

遇到的难点、坑和解决方案

难点1:平台API返回的直播状态字段被加密或动态生成。
解决方案:放弃解析JSON,转而使用Chromium嵌入式框架(CEF) 的轻量替代方案,通过miniblink或WebView2加载直播间页面,直接注入JavaScript(通过evaluateJavascript)读取DOM中的状态值,然后通过回调传递回C++主逻辑。这种方法不受API变更影响,但资源消耗稍高,因此只对核心主播启用。

难点2:直播流地址通常绑定了一次性token,且在开播后几分钟内过期。
解决方案:在检测到开播事件后,立即通过libcurl请求流地址获取接口(模仿平台App的请求格式),同时启动一个后台线程每30秒重新请求一次最新的流地址,并通过原子变量更新给录制模块。录制模块每次av_read_fr

示例图片视频


刘强
30天前活跃
方向: 爬虫/脚本-爬虫/脚本、后端-Python、
交付率:100.00%
相似推荐
基于springboot的云之家OA和纷享销客数据交互插件
1. 立项背景和目标 公司同时使用云之家 OA(审批工作流)和纷享销客 CRM(客户/业务对象)两套系统,审批环节产生的业务数据(如订单审批、出差申请、报销流程等)需要回写到纷享销客对应的业务对象,原生云之家无法直接对接纷享销客的 OpenAPI,且双方系统在数据格式、鉴权方式、加密机制上完全不同(云之家采用 AES/ECB/PKCS5Padding 加密推送,纷享销客采用 OAuth2.0 + Bearer Token 鉴权)。本项目(mlxcl-middle)作为云之家与纷享销客之间的轻量级中间服务,承接云之家审批推送、解密、解析、调用纷享 OpenAPI 回写等完整链路,实现审批数据从 OA 到 CRM 的自动化流转。 2. 软件功能、核心功能模块介绍 服务基于 Spring Boot 3.3.5 构建,按职责划分为四大模块: 云之家推送接入(POST /middle/yunzhijia/testapi):负责接收云之家 CloudFlow 推送的加密数据,使用 cloudflow-key(16 字节 AES 密钥)进行 AES/ECB/PKCS5Padding 解密,还原成明文 JSON 后进入业务处理链路;解密失败立即返回 error 避免阻塞云之家重试。 纷享销客 API 代理(POST /middle/fxiaoke/testapi):作为纷享销客 OpenAPI 的统一入口,对外屏蔽鉴权细节,接收 dataObjectApiName + objectDataId 后自动识别预制对象(如 PersonnelObj)和自定义对象(ApiName 以 __c 结尾),分别路由到 /cgi/crm/v2/data/get 或 /cgi/crm/custom/v2/data/get 接口查询详情,并自动注入 x-fs-userid、x-fs-ea 等业务 Header。 通用数据处理中台(POST /api/process):以 bizType 为路由键的策略模式分发器(TYPE_A / TYPE_B / Default),便于后续按业务类型扩展新的对接流程,无需改动主流程。 基础设施:统一响应封装 ApiResult<T>(code/message/data)、@Valid + @NotBlank 参数校验、Spring Boot Actuator 健康检查(/actuator/health)、/api/health 业务探活、WebMvcConfig 跨域配置。 3. 业务流程、功能路径描述 云之家→纷享审批数据流转(核心链路):云之家工作流节点触发推送 → 调用 POST /middle/yunzhijia/testapi 传入加密报文 → 服务 AES 解密得到明文 → 落库/记录 → 立即返回 success 释放连接 → @Asy
基于python的K3ERP接口服务
1. 立项背景和目标 公司销售环节已使用纷享销客 CRM 管理客户、销售订单与回款流程,但财务、库存、生产环节仍依赖 K/3 ERP(SQL Server 2008 R2,AIS20130806192009 账套)。两套系统长期互不相通,订单需要人工二次录入,客户变更也无法及时回流到 ERP,导致数据孤岛、人力浪费以及业务-财务对账滞后等问题。本项目旨在构建一个轻量级中间对接服务(ConnectDemo),以 K/3 为主数据底座,将纷享销客的客户主数据与销售订单自动同步到 K/3,支撑业务一体化运营。 2. 软件功能、核心功能模块介绍 本服务围绕「K/3 数据查询、纷享→K/3 客户/订单同步、辅助工具、定时任务」四大模块建设,共 25+ 个 REST 接口: K/3 业务数据查询:封装物料(ICItem)、库存(ICInventory)、销售订单(SEOrder)、应收单(ICSale)、收款单(ReceiveBill)、销售发票(ICSale2)六大实体的列表与数量接口,按日期范围分页查询。 客户主数据同步:调用纷享 Open API(/cgi/crm/v2/data/query)按 life_status=normal + k3_sync_fields_last_modify__c >= 1小时前 增量拉取客户,结合 Address/Contact 对象补全地址与联系人,写入 K/3 的 t_Item、t_Organization 表。 销售订单同步:/k3/sync-seorder 是核心,按 FBillNo + FHeadSelfS0170 来源标识判定新建/修改,调用 GetICMaxNum 存储过程获取 FInterID,通过 t_billcodeby 生成 XSDD15+yyyymmdd+流水号 形式的单据编号,写入 SEOrder 主表、明细表后执行 p_UpdateBillRelateData 重建关联。 辅助工具:地址智能解析(/util/parse-address-info)将「姓名+电话+省市区+详细地址」一锅端的混合文本拆分为结构化字段;客户档案修订接口(/account/update-account-number)支持必要时调整 K/3 客户编码。 3. 业务流程、功能路径描述 被动同步(客户):纷享销客工作流回调 GET /fxapi/sync-accounts → 服务 60 秒后异步拉取最新客户 → 写入 K/3。主动同步(客户):APScheduler 每小时执行 sync_accounts_from_fxiaoke_to_k3 → 调用本地 accounts_by_filters → 拉取增量客户 → 写入 K/3。 订单同步:纷享订单审批完成后回调 POST /k3/sync-seorder → 服务按
公司ESB系统
公司这个ESB项目系统挺大的,支持组件和数据连接数据库应该是市面上都全的,ESB这个系统很大,还集成了网关,agent机器人,流程画布,都是从0到1开发设计到最后测试没问题上线使用包括后面的维护等等
数据大屏-应用多融合系统
1.立项背景:解决工业产品授权点数成本 2.模块功能:显示服务器资源使用情况 3.业务流程:进入到此模块,查看服务器资源 使用情况,并将使用情况用PDF文件或word文件格式打印出来。 4、具体功能如下: 1、应用管理  完成Windows应用的平滑迁移,未进行信创适配的Windows应用,可在信创终端上完整运行。  完成Linux应用的统一部署和管理,已完成信创适配的应用无需单机逐一安装,可以实现统一的部署和管理,降低维护成本。 2、外设管理  未完成信创兼容的USB外设(打印机、扫描仪、扫描枪等)可以在信创终端上实现即插即用的使用体验。  完成信创兼容的USB外设(打印机、扫描仪、扫描枪等)可以在信创终端实现统一管控和集中使用。 3、应用兼容性  能够在信创终端上无需切换系统的前提下同时运行Windows和Linux应用程序。  能够确保应用程序在不同的操作系统环境下正常运行,可以有效处理不同系统之间的差异,提供良好的应用兼容性。 4、扩展能力  具有较好的可扩展性,可以根据需求动态添加新的兼容模块,以适应新的应用程序或架构的需求。  注重优化性能,通过多种技术手段,提高了应用程序的运行效率和响应速度,提供更好的用户体验。
企业级 AIGC 聚合与调度中台
企业级 AIGC 聚合与调度中台是一套面向陶瓷、箱包、工艺品等行业的一站式 AI 生产力平台,聚合 GPT-4o、Midjourney、Stable Diffusion 与 ComfyUI 等模型和绘图能力,支持流式对话、复杂工作流生图、视频与 3D 生成任务,并提供订阅制、按量计费和会员权益等商业化能力。平台累计服务付费 B 端企业客户 100 余家,年营收贡献约 600 万元。 项目后端采用 Python、Django、DRF、Channels、Celery、Redis、MySQL 与 Nginx 构建,针对大模型对话和长耗时生成任务设计 HTTP 与 WebSocket 混合协议架构。通过 WebSocket、Redis Pub/Sub 和 Celery 实现实时任务进度反馈,并自研基于状态机的 SSE 缓冲层,解决流式响应中数据分片及 Markdown 图片链接在 TCP 拆包、粘包场景下的解析问题,将首 Token 延迟从 1.2 秒优化至 380 毫秒。 在高可用与资源调度方面,平台实现多供应商故障转移和多级 API 调度机制,第三方模型服务出现波动时可自动切换备用线路,保障整体服务可用性达到 99.9%,月调用量超过 10 万次。针对 ComfyUI 图像生成节点,采用 Celery 优先级队列、心跳探活和任务前置显存回收机制,将 GPU 节点利用率从 30% 提升至 75%,OOM 崩溃率下降 90%,年节省算力成本约 20 万元。 同时,平台设计了基于 JWT 的多租户鉴权与 SaaS 会员体系,结合 Redis 滑动窗口实现团队级动态限流,有效保障企业共享资源池的隔离与安全。项目还完成微信支付 V3、支付宝回调验签、OSS 媒体资源管理及运营数据大屏建设,形成从 AI 内容生成、资源调度、支付计费到运营分析的完整业务闭环。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服