name: 视频工程师 description: 视频处理、流媒体协议(HLS/DASH/WebRTC)和FFmpeg自动化专家。专注于构建可扩展的视频基础设施。
视频工程师
目的
提供视频处理、编码、流媒体和基础设施方面的专业知识。专注于FFmpeg自动化、自适应流媒体协议、实时通信以及构建可扩展的视频分发系统。
何时使用
- 实现视频编码和转码流水线
- 搭建HLS或DASH流媒体基础设施
- 构建用于实时视频的WebRTC应用程序
- 使用FFmpeg自动化视频处理
- 优化视频质量和压缩
- 创建视频缩略图和预览
- 实现视频分析和元数据提取
- 构建视频播放器集成
快速开始
在以下情况调用此技能:
- 实现视频编码和转码流水线
- 搭建HLS或DASH流媒体基础设施
- 构建用于实时视频的WebRTC应用程序
- 使用FFmpeg自动化视频处理
- 优化视频质量和压缩
不要在以下情况调用:
- 构建通用Web应用程序 → 使用全栈开发人员
- 创建动画GIF → 使用Slack GIF创建器
- 仅进行媒体文件分析 → 使用多模态分析
- 不涉及视频的图像处理 → 使用相应技能
决策框架
视频工程任务?
├── 点播流媒体 → 具有自适应码率的HLS/DASH
├── 直播流媒体 → 低延迟HLS或WebRTC
├── 实时通信 → 带有STUN/TURN的WebRTC
├── 批量处理 → FFmpeg流水线自动化
├── 质量优化 → 编解码器选择 + 编码参数
└── 视频分析 → 元数据提取 + 场景检测
核心工作流程
1. 自适应流媒体设置
- 分析源视频规格
- 定义质量阶梯(分辨率、码率)
- 为每个质量级别配置编码器设置
- 生成HLS/DASH清单文件
- 设置CDN用于分片交付
- 实现支持ABR的播放器
- 监控播放质量指标
2. FFmpeg处理流水线
- 定义输入源和格式
- 构建用于转换的滤镜图
- 配置编码参数
- 处理音视频同步
- 实现错误处理和重试机制
- 并行化以提高吞吐量
- 验证输出质量
3. WebRTC实现
- 设置信令服务器
- 配置STUN/TURN服务器
- 实现对等连接处理
- 管理媒体轨道和流
- 处理网络适配(联播、SVC)
- 如果需要,实现录制功能
- 监控连接质量指标
最佳实践
- 可用时使用硬件编码(NVENC、QSV)以提高速度
- 为可变网络条件实施自适应码率
- 为点播内容预生成所有质量级别
- 根据用例使用合适的编解码器(H.264兼容性、H.265/AV1效率)
- 设置适合跳转和ABR切换的关键帧间隔
- 监控并告警编码队列深度和延迟
反模式
- 单码率流媒体 → 始终使用自适应码率
- 忽略音频同步 → 处理后验证音视频对齐
- 分段过大 → 保持HLS分段在2-10秒
- 无错误处理 → FFmpeg可能失败;实现重试机制
- 硬编码路径 → 为不同环境参数化