前言

FFmpeg,这个工具对于做视频的可能有所耳闻,但另一个大名鼎鼎的东西大家绝对听过——格式工厂。想当年高中的时候,上台表演,那个视频是mkv的,播不了,靠这个东西解决了,大学的时候交作品,靠他做一些简单的压缩,合并甚至剪辑,这东西可帮大忙了,而且软件大部分功能是免费的,功能又直观。

image

当然,格式工厂在很多高级功能上面还是有所缺失,毕竟到了一定水平,应该不会再用这个工具了吧,比如处理HDR,视频加密,DRM等等等等。格式工厂其实就是基于FFMpeg的,FFMpeg简单来说就是个命令行,而命令行最适合AI来处理,所以,就有了今天的主题。

选择Workbuddy的理由

既然是FFmpeg,又是命令行,为什么我们不用豆包,deepseek这些聊天工具生成cli代码就行了?

嘿嘿,好问题,这就涉及到Agent和最普通的LLM的区别了,Agent能帮你识别和执行,给AI长眼睛长手长脚了,如果只是聊天那样的,我们需要手动复制命令,还需要手动修改命令,如果遇到不支持的编解码器或者加速器,LLM并不知道,也无法了解你电脑到底有什么环境,还需要再问AI再来解决,非常复杂,弄到最后给自己整红温了

image.png

Agent

而Agent这种ReAct方式的,从思考,计划,再执行,然后一遍遍循环的,就不用我们去手动复制粘贴什么的了,自己判断电脑有什么环境,有什么编码器,甚至什么配置,制定一个个性化的解决方案,然后执行,如果出问题了,重新修改CLI,不需要我们一遍遍复制粘贴了。

更个性

就像上面说的,他知道我们电脑的情况,知道你的电脑是5090的卡,不会给一个配了5090的电脑来个CPU软解,或者你懒得自己装ffmpeg,Agent运行的时候出现了ffmpeg不存在的报错,自己规划安装,这个时候可以去一边刷抖音了。

image.png

安装

Workbuddy

WorkBuddy - AI Agent 办公新范式 这个不用说了,下载安装一气呵成。

除了Workbuddy,腾讯还出过他大哥Codebuddy,还有很Claw的QClaw,以及最新的马维斯Marvis。

关于Workbuddy、CodeBuddy和Marvis这三个的区别,可以参考(来自腾讯云TDP微信公众号):

  • WorkBuddy:本地的工作助手,干活、跑流程、连 Skill。重内容、重流程
  • CodeBuddy:写代码用的 IDE,专注编程场景。要从零写一个项目,用它
  • Marvis:操作系统级别的 AI 助手,能直接操作你的电脑(注册表、系统设置都能动)。能力强、风险也大
  • Qclaw:偏远程,用手机操作电脑

FFMpeg

如果安装了Workbuddy,可以直接让Workbuddy安装

image.png

如果不想消耗积分的,参考下面:

  • windows(需要配置环境变量):Download FFmpeg
  • macos:brew install ffmpeg
  • ubuntu:apt install ffmpeg -y

音视频处理实战

音视频合并

DEMO:https://live.arsrna.cn/public?id=9072859299

从某站下载下来的视频,是VP9编码的,而且还没声音,音轨是单独的webm,当然可以用剪映更准确合并,不过这太复杂了,所以可以直接

image.png

@视频.mp4​ @音频.mp3​ 把视频和音频合并,用视频名称命名,输出在下载文件夹。转码为hevc(Apple编码器加速)

文件可以直接拖进聊天框,会自己知道路径

这里推荐使用Deepseek V4 Pro模型,速度飞快,而且积分消耗不高。

接下来他就会自己生成命令,自己执行,不需要我们手动修改命令里的参数了。不过我这里视频已经是HEVC没有转码的必要了。

image.png

image.png

它还会追踪整个流程,非常贴心

然后不到1分钟,就完成了,当然,截图截不出声音,但是是有声音了,而且体积更小了一些(162MB到159MB)

image.png

之后Workbuddy还会用ffpobe验证一下是不是真的有音轨了,非常贴心

image.png

压缩

世界上有很多压缩软件,最经典的小丸工具箱,HandBrake。

小丸工具箱效果那是倍儿棒,CRF18的情况下,一条随手录的录屏能从500M压缩到90M,而且画质几乎没有区别,要是使用x265的情况下还能压到60M,不过问题是速度实在是太慢了,R7 5800H全部跑满核心,一个4分钟的视频都要压5分钟,而且可动的参数不是很多,也没有mac、linux版本,不过它的底层还是x264 x265 ffmpeg这种工具,因此可以替代了。

另一个HandBrake速度比较快,UI也比较新,但是我摸了这么久还没摸出门道,压缩视频干等1小时,压腾讯会议2小时的视频,压完反而比压前的更大了
image.png

所以综上,我的痛点就是参数复杂不好调整,等待时间太久,不支持硬编码太卡。这时候可以掏出Workbuddy了

image.png

@/Volumes/Elysia/broadcast/491788xxxx0721707.mp4 这个视频2个G太大了,帮我在保证画质的前提下用FFMpeg压缩,CRF在18左右,输出到原路径,重命名compress_原名称.mp4
Apple电脑,使用硬件编解码

展开命令,可以看到他已经在干活了,而且在干活之前还帮我们根据原视频定制了一个方案

image.png

压缩过程非常快,电脑还没发烫就已经完毕了,4分钟的视频从2G压缩至700M,细节上也能完整保留,黄龄还是4k的黄龄

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

image.png

同样的,如果是网络平台,还可以跟Workbuddy说

@/Volumes/Elysia/broadcast/49178820f44c11cfd3686fcd0889b715_4571800323630721707.mp4 帮我在保证画质的前提下用FFMpeg压缩,VP9编码,用于网络平台点播,CRF在23左右,输出到原路径,重命名compress_原名称.mp4
使用Apple硬件编解码(如果支持)

image.png

冷知识,⌘D或者点击麦克风按钮可以在Workbuddy里语音输入

转码

做网络点播的这个应该不陌生,将视频统一格式,统一编码,以及不同分辨率区分,你还可以让它写一个自动化脚本,一键转码视频

这里我们要求

将视频统一转码为HEVC,分辨率分别为4k、1080p、720p、480p(如果分辨率低于某个档位,则不转码那个档位),帧率不变,音频转为aac(如果是aac则直接复制),输出到源文件目录下一个新的文件夹「视频转码」,文件前缀为分辨率

可以看到,它一直在强调你的方案是怎么样的,所以这就是Agent最Agent的一点

image.png

当然,执行命令需要一定的权限,这里要审计一下再通过。
image.png

很快,2分钟的视频不到1分钟就完成三个分辨率的转码了
image.png

因为我的积分快到期了,所以用了倍率最高的模型蹬一下

非常简单,如果以前我们要去网上搜索相关命令行代码,然后分别修改执行,现在自然语言就能完成了

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

复杂音视频处理实战

逐字字幕/KTV字幕

DEMO:https://live.arsrna.cn/public?id=6682796504

demo建议关掉自带的CC字幕,防止看不到效果
image.png

KTV,都见过吧,MV里的字幕也见过吧
image.png

我这里准备了一份ttml:ttml/无限暖暖 - 花焰照亮的旅途.ttml · main · arsrna/lyrics-db

让workbuddy直接执行

Elena Borroni《花焰照亮的旅途 A Journey of Fireworks》Official Music Video.mp4 帮我根据ttml逐字歌词:无限暖暖,FoldEcho - 花焰照亮的旅途.ttml 使用FFMPEG把歌词做成类似ktv效果,合并到视频里面,视频重命名为ktv_源文件名称

image.png

我不告诉它什么技术栈,它自己选择,直接手搓了ass库,用Python脚本生成字幕样式

image.png

等了10分钟,完成了
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ttml歌词长这样:
image.png
如果我们手搓转为srt再做的话那可折腾了,以前我了解到的是一个很接地气的工具做KTV歌词,不过体验很差,软件容易闪退,也没有快进快退功能。最近也找不到了,老牌艾奇MV制作要收费

不过现在的效果我不满意,再提出需求

翻译放在下面
然后字幕做两行,左右错开
在间奏等待的时候加入···,像泡泡一样,根据时间慢慢消失

image.png

额…还是算了,直接让他回到原来的效果,PUA回去

image.png

引用skill-creator这个制作skill的skill做成skill,下次复用就不用这么复杂了

image.png

只需要引用刚刚制作好的ktv-burner就可以了

image.png

image.png

颜色空间转换

DEMO:https://live.arsrna.cn/public?id=0524724478(注意亮度,一万尼特HDR,不要半夜打开!!!)

这个是比较复杂的一个滤镜效果,可以实现从HDR BT2020转为SDR Rec709,也是比较常用的,比如最基础的一级调色快速预览,SLog3转Rec709、各种Log还原,或者SDR映射HDR扩展色域等等等等

因此命令也非常非常非常复杂,一大长串滤镜,但是在AI眼里都不是事情,这里我们以SDR转HLG为例,也就是SDR to HDR

@视频.mp4 使用ffmpeg,把视频从SDR转为HDR,扩展HDR颜色

image.png

一样的,他也知道先从ffprobe去验证接下来要做什么,自己设计一套流程

因为之前尝试网上的命令,都失败了,缺滤镜、编码器格式不支持、转出来HDR亮度不够等等等等问题,每个处理起来都很复杂。现在Workbuddy根据指令自己做了

也是非常复杂,等了大概20分钟,终于出来了,因为QuickTime不支持,只能使用VLC播放,当然截图也截不出HDR,效果大概这样

image.png

除此之外,他也知道这很复杂,帮我做成了Skills,还做了个LUT和Py脚本

image.png

CNB邪修

因为我的电脑显卡不强,CPU散热也不强,所以在我这处理太慢了,所以可以直接让它SSH进CNB,再来进行处理

打开CNB一个比较强劲的开发环境,比如64核的,复制SSH命令

image.png

我的电脑比较垃圾,请你ssh到服务器ssh cnb-1oo-1jscn5gtj*************************91919191919169696969@cnb.space
合并这两视频:‘/视频1.mp4’、‘视频2.mp4’

他发现CNB没装FFMpeg,还会自己装上
image.png
去CNB里面看看,确实已经上传且执行中了
image.png

image.png

code-server /tmp/vmerge云原生看视频,去看看结果怎么样
image.png
可以看到视频已经是6分钟了,说明合并完成,下载下来很简单,可以右键视频下载,也可以让Workbuddy SSH下载
image.png

总结

Workbuddy让我们告别手搓,一句话让它自动生成脚本,匹配我们的视频,定制化做媒体处理功能,不用我们去网上搜,AI问,然后自己手动改命令,手动运行,手动监控观察了,遇到复杂的处理,AI能够帮我们做出规划,一步步完成。

正好FFmpeg是纯命令行,借这个优势,AI时代做啥都快,这正是AI最擅长的地方。

更多推荐