Gahing's blog Gahing's blog
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Gahing / francecil

To be best
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前端基础

  • 应用框架

  • 工程能力

  • 应用基础

  • 专业领域

  • 业务场景

    • UG

    • 业务中台

    • 企业消费

    • 电商

    • 视频内容

      • 浅聊西瓜视频业务
      • 视频创作

        • 视频创作业务中,作者发文的审核流程是怎样的?
        • 浅谈视频创作业务
        • 视频创作业务中,关于作者发文反馈的排障 SOP
          • Q1: 上传失败
            • 原因分析
            • 解决方案
          • Q2: 发文失败
            • 原因分析
            • 解决方案
          • Q3: 转码异常
            • 原因分析
            • 解决方案
    • 金融

  • 大前端
  • 业务场景
  • 视频内容
  • 视频创作
gahing
2023-03-09
目录

视频创作业务中,关于作者发文反馈的排障 SOP

在视频创作业务中,经常会收到作者发文反馈,可以归结为以下三种:

  1. 上传失败
  2. 发文失败
  3. 转码异常

在此做下记录,包括 问题描述、原因分析、解决方案,方便后续建设体系化、自动化、可复用的排障方案,同时也可复用这套经验到其他视频发文业务。

# Q1: 上传失败

作者在上传视频过程中,提示上传失败,且重试上传后依然失败

# 原因分析

排查问题前首先需要了解 Web 的上传流程以及请求链路

Web 上传流程如下:

  1. 获取上传信息,包括上传域名和上传签名
  2. 初始化分片信息
  3. 分片上传
  4. 合并分片并上传存储服务
  5. 确认上传成功,生成唯一 ID(vid)
  • 对于步骤 1 和 5,请求链路为:端 SDK -> 加速 CDN -> 源站服务
  • 对于步骤 2 ~ 4,请求链路为:端 SDK -> 加速 CDN -> 中心/边缘节点 -> 存储服务

如果出现上传失败,可能的链路就这三种:

  1. 用户端:文件 IO 或者自身网络问题
  2. 网络链路:CDN 节点或者地区运营商线路问题,比如域名解析或建联失败、节点故障
  3. 服务端:IP 限流、非法请求(签名无效、参数缺失)、服务故障(网络、IO、崩溃)

# 解决方案

后台会自动收集上传错误信息(公司内部服务),可以根据错误码快速判断哪个环节出了哪种故障。

若未上报错误信息,则判定用户网络不通,提示用户 更换网络或关闭代理后重试。

若收到错误信息,根据错误码判断出错的链路是在哪个环节:

  1. 如果是用户端,除了网络外还有 IO 问题,IO 问题通常是文件分片大小大于剩余内存,可以先检查分片策略是否合理,若不合理则及时调整并修复上线,否则提示用户 先清理内存再重试
  2. 如果是网络链路,说明内部的异常自动切换选路也失败了,需要指定用户下发特定可用的网络节点(接口控制),并提示用户 刷新页面后重试。同时观察相应地区、域名及运营商的大盘数据是否波动,错误码是否集中,若是的话联系 CDN 同学处理。
  3. 如果是端问题,则分情况处理
    1. 如果是非法请求,说明是灰产用户,无需处理
    2. 如果是 IP 限流,说明命中风控,判定用户非灰产的情况下可以联系风控平台解除 IP 限制,并 提示用户重试
    3. 如果是服务故障,联系相关服务同学排查,修复后 提示用户重试

# Q2: 发文失败

作品完成上传,但在点击发布的时候提示发文失败

# 原因分析

一般是这两种情况:

  1. 用户账号问题,比如命中风控,或账号权限不足
  2. 发文服务端异常

# 解决方案

查询相关用户的发文失败日志

  1. 如果是风险账号,无需处理
  2. 如果是账号权限不足,则把 权限不足的具体描述透传用户 ,比如 非万粉无法发一小时以上视频
  3. 如果是服务端异常,联系相关服务同学排查,修复后 提示用户重试

# Q3: 转码异常

作品发布后,视频在后台转码过程中出现异常。

转码的目的是将不同格式的视频统一转码成平台标准格式,并提供不同分辨率的资源

# 原因分析

作者的视频源文件存在问题,被转码服务拦截了,一般是这三种原因:

  1. 灰产恶意编辑视频源文件数据,比如修改文件头的视频时长,把长视频改成短时长想要绕过平台的一些审核流程
  2. 作者剪辑视频出现误操作,导致视频不符合平台规范,比如平均帧率低于阈值(10fps)、视频时间戳跳变过大
  3. 剪辑软件的问题,导出生成视频文件时出现 bug,比如文件头数据与实际数据不统一

# 解决方案

  1. 若作者未删除视频,可以在诊断平台(公司内部平台)上找到源文件,使用一键诊断分析原因
  2. 否则可以让作者提供视频源文件,在本地执行 FFmpeg 的 ffprobe 命令进行诊断
ffprobe test.mp4
1

得到诊断结果:

  • 如果是恶意编辑,无需处理
  • 如果是误操作,则 提示用户具体需要修改的地方
  • 如果是剪辑软件问题,则 提示用户重新导出
编辑 (opens new window)
#SOP
上次更新: 2024/09/01, 23:56:56
浅谈视频创作业务

← 浅谈视频创作业务

最近更新
01
浅谈代码质量与量化指标
08-27
02
快速理解 JS 装饰器
08-26
03
Vue 项目中的 data-v-xxx 是怎么生成的
09-19
更多文章>
Theme by Vdoing | Copyright © 2016-2024 Gahing | 闽ICP备19024221号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式