跳转到正文

更新日志 ​

unreleased ​

新增功能 ​

  • MPEG-DASH 录制: Mesio 现在可以录制 MPEG-DASH(.mpd)流,包括直播和已结束的流。分开传输的视频和音频会合并为一个 MP4 文件。可在 Mesio 引擎新增的 DASH 选项卡中选择视频和音频质量、音频语言、直播录制起点以及下载限制;在首选格式中添加 dash,即可在平台提供 DASH 时优先使用。不支持 DRM 加密的流,网页播放器也无法播放 DASH 流。详见 MPEG-DASH 录制。
  • TikTok DASH 流: TikTok 直播间现在会列出 MPEG-DASH 流,大多数画质(包括纯音频)均提供。FLV 仍然优先,默认录制 FLV,即使偏好的画质只以 DASH 提供;如需使用 Mesio 引擎录制 DASH,请在 TikTok 平台、模板或主播的首选格式中将 dash 放在第一位。详见 TikTok。

录制与恢复 ​

  • 修复 Mesio 在直播地址无法看出是 HLS 还是 FLV 时拒绝录制的问题,现在会使用平台报告的格式。
  • 修复 Mesio 录制已结束的 HLS 流(回放或点播)时偶尔漏掉分片的问题:某个分片下载缓慢或需要重试、而其后的许多分片已下载完成时,该分片会被丢弃,录制仍正常结束却缺少这部分内容。高码率、分片较大的流同样受影响。
  • 修复 Mesio 录制已结束的 HLS 流(回放或点播)时漏掉重复分片的问题:播放列表多次列出同一个分片时,只会录制最后一次出现的那个。
  • 修复 Mesio 录制已结束的 fMP4 格式 HLS 流(回放或点播)时的卡死问题:当流在超过八个不同的初始化分片之间切换时,录制会在第一次切换处停住且永远无法结束。
  • 修复开启 强制使用移动端 API,或因网页端数据不可用而改用抖音移动端数据时,正在直播的抖音直播间被识别为未开播、因而没有录制的问题。此时此前为空的主播名称和头像现在也会正常显示。
  • HLS 流的分片全部下载失败时,Mesio 现在会报告具体原因(例如 HTTP 状态码或网络错误),而不是“流为空”。fMP4 流的初始化分片无法下载时,Mesio 会停止下载依赖它、只会被丢弃的媒体,因此这类尝试会更快结束。
  • 修复服务器要求放慢请求(HTTP 429 “Too Many Requests”)时,Mesio 在几秒内就结束 HLS 录制或漏掉分片的问题。Mesio 现在会按服务器要求的时长(最多一分钟)暂停发往该服务器的请求,然后逐步恢复,而不是在几次请求被拒后就放弃。详见限流。
  • 当 HTTP 版本 为 自动(默认)时,在服务器支持且连接不经过代理的情况下,Mesio 现在通过 HTTP/2 下载 HLS 和 DASH,用一个连接更快地获取分片。经过代理时以及录制 FLV 时,自动 仍使用更稳定的 HTTP/1.1。仅 HTTP/2 现在会真正使用 HTTP/2(此前该选项不起作用),因此选择它后,从不支持 HTTP/2 的服务器录制会失败。
  • Mesio 的缓冲区大小设置(现为 FLV 选项卡中的 读取缓冲区大小)现在会对 FLV 录制生效,此前该设置被忽略。默认值改为 64 KiB,即 FLV 录制一直实际使用的大小。仍保留旧默认值 8 MiB 的引擎会在升级时改用新默认值,因此其录制不会开始占用更多内存。
  • 修复平台未标注画质名称的流会被视为符合首选画质中的每一项,从而可能被录制,而不是你选择的画质。
  • 修复直播间的所有流都位于 CDN黑名单 中的 CDN 上时,仍会从其中一个录制的问题。此类直播间现在会被视为未开播,并记录一条警告。
  • 修复 FFmpeg 录制因磁盘已满而停止时,有时未被识别为空间不足。
  • 修复 Bigo 要求登录时(例如同一网络发出大量请求之后),直播间被显示为未开播、因而始终不会录制的问题。此类检测现在会以“需要登录”错误失败,Cookie 失效的账号会被标记为需要重新登录。添加一个填入已登录 Bigo 的浏览器 Cookie 的账号即可解决。详见 Bigo Live。
  • 修复连接短暂中断期间直播标题发生变化时,录制仍沿用旧标题的问题:会话页面和该会话的工作流使用的是旧标题,而录制的新文件已按新标题命名。
  • 修复通过 API 或 MCP 清除主播错误后,或此前不可用的输出目录恢复可写后,主播要等之前的重试延迟结束才会再次检查的问题。现在会立即重新检查。
  • 通过 API 或 MCP 清除主播错误时,不再重新启用已禁用的主播,也不再改变正在直播的主播的状态。因致命错误(例如找不到直播间)停止监控的主播,清除错误后现在会恢复监控;此前要等 rust-srec 重启后才会再次检查。
  • 修复正在录制的主播被禁用后很快又重新启用时,有时不再检查或录制的问题;此前需要再次禁用并启用,或重启 rust-srec。

工作流与文件处理 ​

  • 新增 全流程处理(单次封装) 工作流。与 全流程处理 一样,它会转封装为 MP4、生成缩略图并上传,但在转封装时直接写入标题、主播和日期,而不是另用一个元数据步骤重写整个文件。转封装设置中新增的 包含录制元数据 选项(高级 → 流与元数据)可让其他转封装步骤同样处理。现有工作流不受影响。
  • 复制/移动 步骤现在会在任务页显示复制进度(包括移动到其他磁盘或网络共享时):整个任务的百分比、已复制大小和预计剩余时间,以及速度,多个文件时还会显示正在复制第几个(例如“第 2/5 个文件”)。步骤被取消、超时或 rust-srec 关闭时,复制现在会及时停止并删除未写完的文件,而不会再在后台继续复制剩下的部分。
  • 复制/移动 步骤的复制卡在没有响应的磁盘或网络共享上时无法中断。现在这类复制会一直占用工作线程,直到文件系统恢复响应,而不是在任务结束后留在后台继续运行,其他文件任务可能因此排队等待。任务被取消或超时 30 秒后复制仍未返回时,顶栏会出现一个硬盘图标,列出受影响的任务及各自已无响应多久;任务页会显示 仍占用工作线程 提示,日志中也会记录警告。详见无响应的文件操作。
  • rust-srec 在崩溃、断电或强制退出后重新启动时,被中断的工作流步骤留在输出位置旁、没有写完的残留文件(形如 video.tmp-<id>.mp4)现在会列在顶栏的文件图标中以及对应任务的任务页上,并标明所在文件夹和大小。删除 会移除文件,保留 则把文件留在磁盘上、只从列表中移除,全部删除 可一次全部删除。已完成的输出和原始录制文件不会被列出或删除。只会跟踪升级后创建的临时文件。详见中断任务留下的残留文件。
  • 工作流的进度现在会在步骤运行期间随之推进(适用于转封装、复制、压缩和上传等会上报进度的步骤),而不是只在某个步骤完成时才变化。失败的步骤不再计入进度,因此失败或已取消的工作流会显示其已完成的部分。
  • 处理任务的实时进度不再每秒多次写入数据库,从而减少任务运行时的磁盘写入,并在数据库繁忙时保持进度持续更新。
  • 转封装为 MP4 时,为快速启动重写文件期间现在会显示“正在收尾…”,不再看起来卡在 99%。
  • 任务进度、顶栏和工作流步骤现在会显示正在处理的文件,将鼠标悬停在主播卡片的上传标记上也会显示正在上传的文件。
  • rclone 和百度网盘上传现在会在任务日志中记录每次重试,并在任务进度、顶栏和主播卡片中显示当前是第几次尝试。rclone 上传还会显示正在发送的文件。
  • 百度网盘上传现在显示整个任务的进度(字节数、文件数和正在上传的文件),不再每个文件都从头开始,更新也更频繁,并会在发送文件前准备文件期间显示“准备中…”。
  • 压缩任务现在显示速度和剩余时间,转换多个弹幕文件时会显示当前进行到第几个文件。
  • 修复 rust-srec 恰好在工作流步骤失败时停止,导致该步骤丢失已安排的自动重试、下次启动时工作流被标记为失败的问题。
  • 修复取消工作流后的提示未计入正在等待自动重试的步骤的问题。
  • 修复 ZIP 或 tar.gz 压缩步骤被取消、超时或因 rust-srec 停止而中断后,后台一直占满一个 CPU 核心、还可能导致 rust-srec 无法退出的问题。
  • 修复同时开始的 rclone 上传(例如同一场录制的视频和弹幕)在 Google Drive 等允许同名文件夹的远端上创建重复的同名文件夹、导致上传的文件分散在不同文件夹中的问题。
  • 修复 rclone 的 最大重试次数 设置不生效的问题:此前上传总是尝试 3 次。同样被忽略的 Rclone 可执行文件 字段已移除;rust-srec 仍从系统路径运行 rclone,或运行 RCLONE_PATH 环境变量指定的程序。
  • 修复保存原始分辨率的缩略图预设(例如内置的 原始分辨率缩略图)或通过 分离并编辑 由其生成的工作流步骤后,缩略图被悄悄缩小为 320 像素宽的问题。缩略图设置新增 原始分辨率 开关。已被改动的预设和步骤不会自动恢复,请打开该开关后重新保存。移除了不起作用的 输出文件名模式(可选) 字段。
  • 修复百度网盘上传在发送文件时失败后,有时只提示该文件在 BaiduPCS-Go 的上传失败列表中而不说明失败原因,且任务日志中缺少 BaiduPCS-Go 自身重试提示的问题。
  • 修复百度网盘上传在等待其他上传完成时耗尽超时时间,并阻塞复制、删除和 rclone 上传等其他文件任务的问题。等待中的上传现在留在队列中(顶栏显示为排队中的上传),超时从任务开始运行时才计算。百度网盘上传也不再计入 最大 IO 任务数。
  • 修复提取音频步骤在关闭覆盖时仍会替换已有的音频文件。此类步骤现在会像转封装一样失败。
  • 修复提取音频步骤在没有音频的录制上、以及缩略图步骤在没有可用视频的录制上,有时会失败而不是原样传递该录制。

通知 ​

  • 修复在 Web 界面中创建或编辑的 Webhook 渠道从不发送通知:加载时被跳过,测试提示找不到渠道,包含此类渠道的备份也无法导入。
  • 通知渠道的测试现在总会发送测试消息,即使渠道的最低优先级高于测试消息;此前会提示成功,但实际没有发送。
  • 通知事件中不再提供配置已更新,因为没有任何操作会发送该事件。已有的订阅会保留,但不起作用。

认证与 API ​

  • API 密钥名称和密码的长度现在按字符计算。此前超过 33 个中文、日文或韩文字符的名称会被拒绝,而由此类字符组成、短于最小长度的密码却会被接受。
  • 使用已不存在的模板创建或更新主播,或为已删除的主播添加过滤器时,现在会提示找不到,而不是因服务器错误而失败。
  • 不符合引擎类型的引擎设置现在会在保存时被拒绝,而不是保存后在测试或使用引擎时出错。已按此方式保存的引擎仍可正常加载。
  • 修复通过 MCP 连接的 AI 助手无法修改引擎类型的问题:该工具以小写形式描述引擎类型,而服务器不接受小写。现在工具会列出可接受的取值。

Web 界面 ​

  • 修复在笔记本和桌面窗口尺寸下,侧边栏占去部分宽度后,卡片、编辑器和详情页内容溢出或被挤压的问题。卡片列表现在按页面实际可用宽度排列列数,页面标题栏中的按钮会自动换行,过长的名称、标题、URL 和配置项以“…”截断,悬停可查看完整内容。
  • 修复模板中的 Mesio 引擎覆盖。所有 HLS 与 FLV 设置以及 修复 FLV 流、修复 HLS 流、修复 DASH 流 开关现在都会显示所继承的引擎设置,并可选择沿用引擎设置、使用默认值或自定义值;此前未设置的开关显示为关闭,HLS 设置需先开启 HLS 修复才能编辑,且包含重置设置的模板无法保存。模板中不再为 最大停顿时间 和 点播分段超时 提供 已禁用 选项,因为模板从来无法真正关闭它们,请在引擎中设置。
  • 重新设计 Mesio 引擎设置。现在 FLV、HLS 和 DASH 各有一个选项卡,先显示该格式的修复开关和大多数录制需要的设置,例如 HLS 的码流版本、User Agent 和查询参数,或 DASH 的质量和轨道;其余设置按用途归入 高级,例如连接、分段下载、缺口与停顿或缓冲。每个选项卡和分组会显示有多少项设置与默认值不同(或模板覆盖了多少项),恢复默认值(模板中为 使用引擎设置)可清除单个分组。关闭 HLS 修复时 HLS 设置不再锁定,因为它们始终生效;FLV 循环保护的内存上限和 HLS 进度更新设置现在也可以在表单中设置。修复 HLS 不连续性 更名为 修复 HLS 流。
  • FFmpeg 和 Streamlink 引擎设置现在与 Mesio 一致:设置按分组显示,并标出有多少项与默认值不同;较少用的设置归入 高级;在模板覆盖中,每项设置都可以使用引擎设置(选项中会显示其值)、默认值或自定义值。模板中的无损分段现在会考虑引擎自身的设置,因此自定义参数来自引擎时也会显示相应警告。
  • 保存引擎时现在只保存你设置过的项,而不是每项默认值,因此引擎会跟随今后默认值的变化。
  • 保存引擎或模板时不再删除表单未显示的设置(例如通过 API 设置的项);缺口策略、码率变体或 DASH 质量选项中被清空的数字现在会提示错误,而不是保存为 0。
  • 移除了 Mesio HLS 缓冲设置中的 直播重排窗口(毫秒) 和 直播重排窗口(分段):这两项设置从未生效,已保存的值会被忽略。
  • 引擎设置页改为与代理相同的列表形式,显示每个引擎的类型、已安装版本和状态,并在旁边提供 配置 按钮。
  • 任务页现在会为转封装、转码、字幕烧录、音频提取等 FFmpeg 步骤显示进度条、速度和预计剩余时间,显示多文件任务(例如 rclone 上传)当前进行到第几个文件、排队中任务已等待的时长和运行中任务的已运行时长,并在步骤超过一分钟没有进度时给出提示。失败和已取消的任务现在也会显示运行时长和排队时长。
  • 转封装、转码、复制、压缩等耗时较长的处理步骤运行超过 10 秒后,会显示在顶栏中并实时显示进度。点击可查看每个步骤的主播、进度和剩余时间,或跳转到对应任务。
  • 修复工作流步骤自动重试期间的任务页。等待下一次尝试的步骤现在显示为等待重试,并给出倒计时和下一次是第几次尝试,而不是显示为失败;重试开始后页面会跟随任务更新并显示当前是第几次尝试;也不再提供必然失败的重试工作流按钮。重试或取消失败时,提示现在会说明原因。已取消或失败的工作流中的任务不再显示不会执行的自动重试。
  • 工作流页面现在会显示每个步骤是在排队、运行中还是等待自动重试,而不是把所有进行中的步骤都显示为处理中。运行中的步骤在报告进度时会显示进度条,步骤列表中以及鼠标悬停在图中的步骤上时会显示速度、剩余时间和文件信息;等待重试的步骤会显示何时再次运行。录制会话的处理任务选项卡现在会自动更新,并显示新开始的工作流。
  • 处理管道页面打开时占用的处理器时间更少:运行中任务和工作流的状态图标与标签不再旋转或闪烁。
  • 工作流图现在会根据步骤调整高度,几个并行的步骤不再被挡在框外(更大的图仍可拖动查看);每个步骤以其步骤 ID 作为标题,使用相同处理器的步骤也能区分开。
  • 工作流列表和工作流页面中,工作流的创建时间现在标为 已创建,而不是 已开始,因为排队中的工作流尚未开始。
  • 点击 重试所有失败任务 后显示的提示现在已翻译。
  • 修复任务页面的任务日志中错误和警告行未被高亮。
  • 修复 Web 播放器的流代理拒绝地址以 IPv6 形式书写的流。

部署与桌面端 ​

  • 修复桌面应用中所选的 主题预设 或导入的主题、品牌颜色 和 圆角半径 不生效的问题,此前这些设置只在浏览器中生效。同时修复侧边栏和部分面板中多出一条滚动条的问题,在 Windows 上最明显,会占满侧边栏的整个高度。
  • Mesio 下载现在信任操作系统所信任的证书,与直播检查和弹幕此前的做法一致,而不再使用 rust-srec 内置的证书列表。桌面应用中的通知、账号检查与登录、经服务器代理播放以及代理测试现在也是如此。因此,公司或自建证书颁发机构签发的证书,只要该机构已安装到系统中(Docker 则为容器中),即可被接受。邮件通知仍使用内置列表。如果连接因证书错误而失败,请更新系统的证书,例如 Linux 上的 ca-certificates 软件包(Docker 镜像已包含)。

基于 MIT 许可证发布。