Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts in 2020.12


FFmpeg 用法概览

FFmpeg是一个强大的多媒体处理工具支持视频音频的转换剪辑合成等操作核心功能包括推流实时编码调整分辨率速度剪辑视频整合字幕音频及反转视频等推流时可选择复制流模式或实时编码模式实时编码需指定分辨率编码器比特率等参数整合视频和音频可通过映射流并指定编码器实现字幕处理支持VTTASS格式并可将其烧录到视频中调整分辨率使用-s参数调整速度通过setpts滤镜控制音频操作如调整音量使用volume滤镜剪辑视频用-ss和-t参数反转视频时需注意大文件处理策略推荐分块处理后合并推荐的项目如SRS可实现RTMP流的接收与转码flv.js则支持浏览器播放FLV流整体功能覆盖视频处理全链路适合多种应用场景--Qwen3

bash Live Streaming FFmpeg Video Editing SRS flv.js

C# run tasks in a threads pool with fixed size

本文提出了一种基于C#的固定线程池任务调度方案通过线程安全队列实现动态任务分配解决了多核CPU资源利用与任务池扩展性之间的平衡问题。方案通过SafeQueue实现并发安全的任务队列管理CannonQueue服务则采用动态调度策略在保持最大并行度的同时支持任务池的动态扩展。当检测到线程空闲时自动触发任务分配机制确保核心资源的持续利用。针对依赖注入场景设计了QueueWithDependency方法通过服务作用域隔离解决了实体框架等依赖的生命周期问题。方案支持三种使用模式:即时启动的队列模式延迟启动的批量处理模式以及无等待的火并忘记模式。实现中通过Task.WhenAny实现非阻塞任务监控并通过日志记录实时展示任务运行状态。该方案引发的思考包括:如何在不同硬件配置下自适应调整并行度?当任务处理时间差异较大时如何优化资源分配?如何设计任务失败的重试机制?以及在高并发场景下如何平衡内存占用与吞吐量?--Qwen3

C# Async Task Multi-Threading async programming task queue

Display code coverage information for .NET Core project using Azure DevOps.

本文深入解析了如何在Azure DevOps中为.NET Core项目展示代码覆盖率数据,通过构建管道配置和测试结果分析,揭示了软件质量保障的关键路径。文章不仅提供了从构建管道创建到覆盖率徽章生成的完整操作链,更引发了对测试覆盖度与代码质量关系的深层思考——当测试覆盖率显示为87%时我们是否应该满足?如何通过覆盖率数据识别潜在的测试盲区?在跨平台开发场景中Linux系统仍不支持代码覆盖率收集这一现状是否会影响开发策略?文章通过Windows平台专有的构建配置要求,提示开发者在选择CI/CD环境时需权衡工具链兼容性与测试完整性。当覆盖率徽章以动态形式展示在readme文件中时这种可视化手段如何影响团队对代码质量的感知?更重要的是当测试通过率与覆盖率指标出现偏差时我们该如何解读这两组数据背后的技术含义?最终文章抛出一个值得所有开发者思考的问题:在追求100%覆盖率的过程中我们是否忽略了测试用例设计本身的质量?这种对测试方法论的反思或许比单纯追求数字更为重要。--Qwen3

.NET Core Azure DevOps .NET Test MSTest Integration Test Code coverage GitHub

ASP.NET Core Integration Test using MSTest

本文探讨了在ASP.NET Core集成测试中替代官方推荐xunit框架的可能性问题。通过实践验证表明MSTest可以完美替代xunit实现完整测试流程文章展示了如何通过移除xunit依赖并安装MSTest组件构建基于MSTest的测试架构重点解析了测试服务器的启动机制与HTTP请求的自动化验证方案。测试类通过动态创建服务器实例并绑定指定端口实现了与真实环境的模拟交互同时通过[TestMethod]和[DataRow]特性构建了可扩展的测试用例体系。值得注意的是测试框架的切换并非简单的工具替换而是需要重构测试生命周期管理尤其在服务器启动与资源释放环节必须建立严格的[TestInitialize]和[TestCleanup]机制以确保测试环境的隔离性。这种测试架构的迁移启示我们软件测试的灵活性不仅体现在框架选择上更在于对测试流程的深度控制。当面对不同测试框架的适配问题时我们是否应该优先考虑开发习惯还是框架特性?在测试稳定性与框架扩展性之间是否存在最优解?这些问题或许能引发开发者对测试策略更深层的思考。--Qwen3

ASP.NET Core C# .NET Core Test MSTest Functional Test Integration Test