标签 FFmpeg 下的文章

​《FFmpeg开发实战:从零基础到短视频上线》一书的“第 12 章  FFmpeg的移动开发”介绍了如何使用FFmpeg在手机上剪辑视频,方便开发者更好地开发类似剪映那样的视频剪辑软件。那么在Android系统上还有一款国产的开源视频压缩工具VideoSlimmer,通过该框架可以更方便地压缩视频大小,下面就来介绍如何在App工程中使用VideoSlimmer。

VideoSlimmer是一款专为Android平台设计的开源视频压缩工具,它通过Mediacodec实现视频压缩功能,并具有较高的压缩性能。VideoSlimmer支持压缩的视频格式包括mp4和3gp。
VideoSlimmer的源码托管地址为 https://github.com/zolad/VideoSlimmer (星星数0.2k),最近版本更新于2018年10月,该版本的压缩包下载地址为 https://github.com/zolad/VideoSlimmer/archive/refs/heads/master.zip
VideoSlimmer提供了两种集成方式:引用在线库、直接导入源码,分别说明如下:

一、引用VideoSlimmer在线库

Android工程引用VideoSlimmer在线库时,需要修改以下两个配置:
1、打开模块级别的build.gradle,给dependencies节点补充下面几行配置,表示引入1.0.0版本的VideoSlimmer库:

implementation 'com.zolad:videoslimmer:1.0.0'

2、打开App模块的src/main/AndroidManifest.xml,给manifest节点补充下面两行权限配置,表示声明读写存储空间两个权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

二、直接导入VideoSlimmer源码

由于VideoSlimmer的发布时间较早,为了让小海豚版本的Android Studio Dolphin能够打开它的范例工程,需要对VideoSlimmer的App工程作如下修改:

1、升级Gradle版本

打开VideoSlimmer工程的gradle/wrapper/gradle-wrapper.properties,把下面这行配置

distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip

改成如下这行配置,表示把Gradle版本从4.4升级到5.4.1。

distributionUrl=https://services.gradle.org/distributions/gradle-5.4.1-bin.zip

2、更新工具库的仓库位置

打开VideoSlimmer工程的build.gradle,把里面的两处“jcenter()”都改为以下配置:

// 以下四行添加阿里云的仓库地址,方便国内开发者下载相关插件
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google'}
maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}
maven { url 'https://maven.aliyun.com/repository/public'}
google()
mavenCentral()

因为jcenter仓库已经废弃,所以改成引用国内的仓库位置。
此外,还要把下面两行配置

classpath 'com.android.tools.build:gradle:3.1.2'

改成下面这行配置,表示把Gradle插件版本升级到3.2.0版本:

classpath 'com.android.tools.build:gradle:3.2.0'

3、调整模块的build.gradle

打开VideoSlimmer工程的app/build.gradle,找到下面这行配置:

compileSdkVersion 28

在上面这行下方补充下面这行配置,表示指定编译工具的版本号:

buildToolsVersion "28.0.3"

还要把下面这行配置

implementation 'com.android.support:appcompat-v7:28.0.0-rc01'

改成下面这行配置:

implementation 'com.android.support:appcompat-v7:28.0.0'

改完build.gradle,记得单击Sync同步App工程配置。

完成以上三处修改后,重新编译App安装到真机上,挑选一个视频后进入视频压缩界面如下图所示:

可见选中视频正在压缩当中。稍等片刻视频压缩完成,界面下方展示结果视频的保存路径以及压缩进度,如下图所示:

发现压缩前的视频大小为85MB,压缩后的视频大小为12MB,仅为原视频的七分之一左右,可见压缩效果还是不错的。压缩之后的结果视频放在公共存储空间的Movies目录,完整路径为“我的手机/Movies/VIDEOSLIMMER_yyyymmdd_hhmiss.mp4”,其中yymmdd为年月日,hhmiss为时分秒。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

开源地址:GitHub - xueayi/XiaoXue-Video-Tools: 基于 ffmpeg 的视频图像处理和检查工具箱

本项目推荐给需要快速完成压制、素材规格筛选、投稿违规风险素材检查的部分视频创作者和 UP 主。

此前团队 B 站投稿前一直用小丸工具箱压制,但是转眼一看小丸工具箱已经十年没更新了,ffmpeg 的版本已经跟不上时代了,而且眼下团队内也有一些特定的新需求,于是一拍脑门把之前酝酿许久的 “ffmpeg 套壳计划” 搬了出来。
前端用的 Gooey,后端用的 python(别问为什么是 python,问就是别的不会)。从周五写到周日,爆肝腰酸背痛脖子疼。总算用我蹩脚的开发能力和强大的 AI 赋能搞定了这个小工具箱,自己还是挺满意的。“我们两个真厉害!”
基本算是榨干了 antigravity 每五个小时更新的 Claude 额度。
这里顺便推荐一下 antigravity 额度监控插件、以及隔壁佬友开发的不用 tun 就能强制代理 antigravity 的插件

虽然也是个重复造轮子的工程,市面上确实已经有很多 FFmpeg 的图形界面工具了,比如 ShanaEncoder、HandBrake 等等。不过果然还是根据自己的需求做的工具用起来能最直接地解决痛点,有一些在实际团队协作过程中需要用到的功能还是自己加上来得实在。

工具名称:小雪工具箱

核心特色

  1. 预设压制预设,也允许高级输入
  • 内置了多档预设。
  • 预设常用编码方式和参数选项。

因为团队流程中一些压制参数比较固定,比如 B 站投稿的最终压制,或是一些时候需要快速导出预览,所以预设常用配置就很关键。有时候也需要做一些优化调整,所以保留自由度也是很重要的。

  1. 字幕兼容模式(参考小丸工具箱的处理方案)
  • 很多时候压制用 ffmpeg 原生的 libass 压制带字幕的视频,字体显示会出问题。这是因为原生滤镜不能识别多字重字体文件的不同字重,而 Windows 系统却能识别,因此需要用一种所见即所得的方案替代原生模式的压制。
  • 内置 AviSynth + VSFilter,无需安装任何额外插件,开启 “兼容模式” 就能渲染大部分出现上述问题的字幕。
  1. 素材质量检测 (QC)
  • 团队协作时,经常收到格式不对的素材或者质量不达标的素材,分辨率、码率一个一个检查太费时间。
  • 工具箱可以一键检测视频的码率、分辨率、兼容性,并生成检测报告,把控素材质量。
  1. 实用的效率小工具
  • 批量管理:文件夹批量创建、序列重命名(治愈强迫症)。
  • 通知系统:长时间的压制任务做完了支持飞书通知或自定义 Webhook,不用一直盯着屏幕。任务完成可以自动发送消息到飞书或 QQ。
  • Shield 增强版:甚至集成了有过审风险图片识别功能,帮团队预判 B 站 / 平台的过审风险。

有一些不合理的地方或者可改进的建议欢迎大佬们提出,希望能把这个工具做好!
(求各路大佬们顺手给个 star)


📌 转载信息
转载时间:
2026/1/11 19:27:15

为了完成新手考核(契约任务)中的发种数量要求,尝试了从其他站点搬运资源。在此总结全套操作流程、所需工具及注意事项,特别是针对目标站限制直接发布、需投递候选区情况下的操作细节,供同样需要完成考核的朋友参考。

1. 工具准备
工欲善其事,必先利其器。建议提前准备好以下工具和脚本:

2. 选种与转载策略(关于候选区发布)
由于目标站点对新手等级有限制,无法直接发布种子,必须通过 “候选区”(Candidate/Offer)提交申请,因此本次未采用 EasyUpload 的 “一键转载” 功能直接发种,而是采用 “脚本检索 + 手动填表” 的流程:

  1. 检索断档: 进入源站 “种子列表”,按时间排序,优先查看最近十几分钟内发布的新种。
  2. 查重: 进入种子详情页,利用 EasyUpload 脚本界面核验该资源是否已存在于目标站。
  3. 决策: 确认目标站无此资源后,开始手动下载与搬运流程。

3. 种子文件处理
下载源站的 .torrent 文件后,建议对文件名进行清洗。

  • 操作: 重命名种子文件,去除 [SourceSite] 等源站前缀标识。
  • 目的: 保持发布规范,符合新站点的命名习惯。

4. 截图操作(FFmpeg 命令行方案)
对于不便安装播放器或需要批量操作的环境(比如上班摸鱼),推荐使用 FFmpeg 进行后台截图。

  • 步骤: 将解压后的 ffmpeg.exe 放置于视频文件同级目录下。
  • 针对 1080i 资源的优化: 若搬运 HDTV 1080i 格式资源,建议添加去交错滤镜,避免截图出现横纹。
  • 参考命令:
    ffmpeg -ss 00:08:30 -i "视频文件名.ts" -vf yadif -frames:v 1 -y shot1.png
    说明:-ss 指定时间点,-vf yadif 启用去交错滤镜。

5. 候选区填表规范

  • 图床链接:Direct Link(以 .png 结尾的链接),禁止使用网页地址。
  • 技术参数: 建议使用 MediaInfo 打开视频文件,获取准确的编码和码率信息填写,避免估算。
  • 标签 (Tags) 设置: 严格遵循 “所见即所得” 原则。若搬运生肉(无字幕)资源,请勿勾选 “中字” 等标签,以免构成虚假发布。

6. 辅种与校验(关键步骤)
候选申请提交后,需进行辅种操作以完成做种:

  1. 添加任务: 将新生成的种子文件导入下载软件(如 qBittorrent)。
  2. 路径设置: 保存路径必须指向视频文件的上一级目录
  3. 模式设置: 将 Torrent 管理模式改为 **“手动”**,防止文件被移动。
  4. 完整性验证: 务必右键选择 **“强制重新校验” (Force Recheck)**。
  5. 确认状态: 等待校验进度达 100% 且状态转为 “做种” 即为成功。

总结
通过 “最新发布检索 + 脚本查重 + 手动投递候选 + FFmpeg 规范截图” 的流程,可以有效解决新手无法直接发种的限制,高效且合规地完成跨站搬运,达成考核要求。


📌 转载信息
原作者:
Guangpeng_Wang
转载时间:
2026/1/5 12:15:26