Skip to content

视频转码

本文介绍如何使用米卡云转码系统进行视频转码。

功能概述

视频转码是系统的核心功能,支持将各种格式的视频文件转换为 M3U8/HLS 流媒体格式,适合在线播放和分发。

支持的输入格式

根据 config.yaml 配置,支持以下视频格式:

格式扩展名说明
MP4.mp4最常用的视频格式
AVI.aviWindows 常用格式
MKV.mkv高清视频常用格式
MOV.movApple 视频格式
WMV.wmvWindows Media 格式
FLV.flvFlash 视频格式
WebM.webm网页视频格式
M4V.m4viTunes 视频格式
3GP.3gp移动设备格式

输出格式

  • M3U8/HLS:HTTP Live Streaming 格式,支持自适应码率
  • TS 分片:视频被切割为多个 TS 文件,便于流式传输

上传视频

Web 界面上传

  1. 登录管理后台
  2. 进入 视频管理
  3. 点击 上传视频 按钮
  4. 点击或拖拽文件到上传区域
  5. 填写视频标题和分类
  6. 等待上传完成

上传限制

根据 config.yaml 中的 upload 配置:

配置项默认值说明
最大文件大小500 MBmax_size: 524288000
分片大小5 MBchunk_size: 5242880
临时目录../app/public/temp上传临时文件存放位置
存储目录../app/public/videos视频最终存储位置

转码设置

系统设置转码设置 中配置转码参数。

分辨率设置

选项说明
原画保持原始分辨率
1080P1920×1080 全高清
720P1280×720 高清(默认)
480P854×480 标清
360P640×360 流畅

码率设置

模式说明
自动根据分辨率自动计算
手动自定义码率值(如 2000k)

HLS 切片设置

配置项默认值说明
切片时长10 秒ts_duration: 10
截图数量5 张自动生成的视频截图数量

其他选项

选项说明
保留原文件转码后是否保留上传的原始视频文件
强制切片对已有MP4直接进行HLS切片
自动转码上传后自动加入转码队列

转码队列

队列操作

在视频管理页面,可以进行以下队列操作:

  • 启动队列:开始处理等待中的转码任务
  • 停止队列:暂停转码队列处理
  • 批量转码:选择多个视频一键加入转码队列

任务状态

状态说明
待转码视频已上传,等待转码
转码中正在进行转码处理
已完成转码成功,可以播放
失败转码失败,请查看日志

并发控制

config.yaml 中配置:

yaml
ffmpeg:
  threads: 4        # FFmpeg 线程数
  preset: medium    # 编码预设
  crf: 23           # 质量参数 (0-51, 越小质量越好)

视频管理

视频列表

管理后台提供完整的视频管理功能:

  • 搜索:按关键词搜索视频标题
  • 分类筛选:按视频分类筛选
  • 状态筛选:按转码状态筛选
  • 批量操作:批量删除、批量转码、批量修改分类

视频操作

操作说明
编辑修改视频标题、分类、封面等信息
转码将视频加入转码队列
切片对已转码的MP4进行HLS切片
删除移入回收站(可恢复)
导出导出 M3U8 播放地址

回收站

删除的视频会先移入回收站:

  • 恢复:从回收站恢复视频
  • 永久删除:彻底删除视频文件
  • 清空回收站:删除回收站中的所有视频

视频分类

分类管理

视频管理分类管理 中管理分类:

  1. 点击 新增分类
  2. 填写分类名称
  3. 设置排序权重
  4. 保存

批量修改分类

  1. 在视频列表中勾选视频
  2. 点击 批量操作修改分类
  3. 选择目标分类
  4. 确认修改

播放地址

获取 M3U8 地址

转码完成后,可通过以下方式获取播放地址:

  1. 在视频列表中点击 复制链接
  2. 使用 导出 M3U8 功能批量导出

播放地址格式

http://你的域名/public/videos/{video_id}/index.m3u8

高级功能

去片头片尾

支持批量去除视频片头片尾:

  1. 选择要处理的视频
  2. 设置裁剪片头时长(秒)
  3. 设置裁剪片尾时长(秒)
  4. 开始处理

支持去除视频中的水印/Logo:

  1. 选择要处理的视频
  2. 设置 Logo 位置(x, y, 宽度, 高度)
  3. 预览效果
  4. 应用去 Logo

切片伪装

将 TS 切片伪装成图片格式,防止被识别:

格式说明
JPG伪装为 JPEG 图片
PNG伪装为 PNG 图片
GIF伪装为 GIF 图片

常见问题

Q: 转码速度很慢?

  1. 检查服务器 CPU 性能
  2. 调整 FFmpeg 线程数
  3. 使用更快的预设(如 fastveryfast
  4. 降低输出分辨率

Q: 转码后画质差?

  1. 降低 CRF 值(如从 23 改为 18-20)
  2. 提高输出码率
  3. 选择更高的分辨率
  4. 检查源视频质量

Q: 转码失败?

  1. 检查 FFmpeg 是否正确安装
  2. 查看转码日志获取错误信息
  3. 检查磁盘空间是否充足
  4. 确认视频文件格式是否支持

下一步

基于 MIT 许可发布