☰
微信视频号下载器 v251202 更新:封面下载修复、免 ffmpeg 转 MP3 与下载体验优化
2026/11/6 1:42:44 网站建设 项目流程

微信视频号下载器 v251202 更新:封面下载修复、免 ffmpeg 转 MP3 与下载体验优化

【免费下载链接】wx_channels_download微信视频号下载器项目地址: https://gitcode.com/gh_mirrors/wx/wx_channels_download

微信视频号下载器wx_channels_download于 2025 年 12 月初发布 v251202 版本,一口气改进了四处日常使用中最容易被卡住的地方:封面下载链路修复、浏览器内直接把视频转成 MP3(无需本地安装ffmpeg)、下载时暂停播放的可选开关,以及本地中转服务下载时不再「闪一下新标签页」。四项改动全部围绕下载前、下载后与下载中三个环节,且视频号相关配置项均支持热更新,改完不用重启程序。

一、下载前的交互细节:播放不再被打断,入口也不再跳转

v251202 有两处改动不产生文件,但直接影响使用手感。

1. 下载时可选项:暂停当前视频播放

新增配置channels.download.pauseWhenDownload,默认false,即下载期间视频照播。设为true后,点击下载会先暂停当前视频,等下载结束自动续播,适合「边看边存」的场景。

channels: download: pauseWhenDownload: false

含义 + 默认值 + 生效条件:点击下载时是否暂停播放,默认false,仅作用于浏览器注入脚本的前端下载流程(菜单/按钮触发的下载动作),不改变后台下载任务的排队与执行逻辑。该字段在 Schema 中注册为HotReload: true(定义见internal/adapter/wxchannels/config.go),修改后无需重启。

2. 本地中转服务下载:告别「开新 tab 再关掉」

上一版(v251201)引入本地下载中转服务后,下载管理器界面曾依赖「临时打开一个 tab 再关闭」来驱动任务创建与刷新,观感割裂。v251202 起,下载面板改为页内内嵌的 Popover 弹层承载(实现在frontend/inject/download/panel.js),常驻在视频号页面内,任务状态通过 WebSocket 接口/ws/v1/download_task实时刷新。日常下载、进度展示、任务创建都在页内完成,只有点「管理下载任务」菜单时才会主动打开管理页新标签页——这是优化后的预期行为。

中转服务本身的配置在docs/config/download.md的「远程服务」一节:

download: remoteServer: enabled: false # 是否启用远程/中转服务下载,默认 false protocol: "http" hostname: "192.168.1.118" port: 2022

启用后,服务端注入前端时会把remoteServerEnabled与拼装好的remoteServerOrigin(即protocol://hostname:port)写入页面变量。注意:这类服务连接参数修改后建议重启程序再验证,与下面支持热更新的channels配置不同。

二、下载拿到的内容:封面下载链路修复

v251202 修复了「不能下载封面」的问题。此前菜单里的「下载封面」入口在后台下载模式下无法正确创建/落盘任务,现在恢复正常。

  • 配置开关:channels.download.cover,默认false,控制下载视频或图集时是否同时下载封面。
  • 生效范围:仅后台下载生效;前端下载模式下封面行为由注入脚本另行处理。
  • 入口触发:视频详情页的下载菜单中,「下载封面」项仅在当前内容为视频(mediaType === 4)时出现;后台模式下点击后以.jpg后缀创建下载任务,完成后提示「创建下载任务成功」。
channels: download: cover: false

含义 + 默认值 + 生效条件:下载视频或图集时是否同时下载封面,默认false,仅后台下载时生效,支持热更新。

想「视频 + 封面」一次打包拿走的,可以看docs/feature/wxchannels/custom-menu.md里的自定义菜单方案:在执行文件同目录放一个global.js,通过WXU.unshiftMenuItems([...])注册「下载视频和封面」菜单,内部把.mp4与.jpg用WXU.Zip()打成 zip 保存。

三、下载得到的格式:MP3 转换不再依赖本地 ffmpeg

「下载为 MP3」菜单(仅视频内容显示)在 v251202 之前只有一条路:先后台下载mp4,再调本地ffmpeg转码。现在多了一条零依赖路径——浏览器内完成解码、转 WAV、再编码 MP3,核心逻辑全部放在frontend/inject/audio-converter.js一个模块里。

开启方式

channels: download: frontend: true

含义 + 默认值 + 生效条件:是否在前端完成下载和解密、不调用后台下载能力,默认false(即后台下载任务)。

模式配置是否需要 ffmpeg说明
前端下载channels.download.frontend: true不需要浏览器内解码转换,直接保存.mp3
后台下载channels.download.frontend: false(默认)需要先下载mp4过程文件,再由ffmpeg转码;下载面板显示的大小是过程文件mp4的大小,与最终mp3不一致(预期行为)

原理简述

转换管线三步走:用AudioContext.decodeAudioData把视频/音频字节解码为AudioBuffer;再写入标准 RIFF/WAVE 容器;最后动态加载recorder.min.js,以 48kHz 采样率、96kbps 码率编码出 MP3。模块按需懒加载,不占用常规下载路径的体积。后台下载模式下的 MP3 行为与 v251201 的「转 mp3 并下载」能力保持一致,详见docs/feature/wxchannels/mp3.md。

四、配置项速查

配置项默认值作用热更新参考文档
channels.download.coverfalse后台下载视频/图集时是否同时下载封面支持docs/config/channels/cover.md
channels.download.frontendfalse是否在前端完成下载和解密(启用后 MP3 转换无需 ffmpeg)支持docs/config/channels/frontend.md、docs/feature/wxchannels/mp3.md
channels.download.pauseWhenDownloadfalse点击下载时是否暂停播放,完成后自动续播支持docs/config/channels/pause-when-download.md
download.remoteServer.enabledfalse是否启用本地下载中转服务修改后建议重启docs/config/download.md

五、升级自检清单与常见坑

自检步骤:

  1. 升级后在视频页打开下载菜单,确认出现「下载封面」「下载为MP3」两项菜单;
  2. 后台模式下点击「下载封面」,在后台下载面板确认出现.jpg任务且成功落盘;
  3. channels.download.frontend: true下点击「下载为MP3」,确认本地没有 ffmpeg 也能得到.mp3文件;
  4. pauseWhenDownload设为true,点击下载观察视频是否暂停、完成后是否自动续播;
  5. 中转服务(download.remoteServer)改动后重启程序,验证下载过程不再弹出新 tab。

常见坑:

  • 前端下载模式下「下载目录」配置(download.dir)会失效,文件名里的/也不支持建子目录;长视频在前端下载可能失败(详见docs/config/channels/frontend.md)。
  • 后台模式下载 MP3 时,下载面板显示的文件大小是过程文件mp4的大小,不等于最终mp3体积,属预期现象。
  • 「下载封面」菜单只在视频(mediaType === 4)上出现;图集封面依赖cover配置在后台下载时一并保存。
  • channels命名空间下的配置均可热更新,但download.remoteServer与服务监听参数改完建议重启再验证。

【免费下载链接】wx_channels_download微信视频号下载器项目地址: https://gitcode.com/gh_mirrors/wx/wx_channels_download

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询