事情是这样的:我想下载一个 B 站的视频,结果用了某个浏览器插件后,下载的视频模糊不清,声音和画面还分开了。于是我就用剪映把它们拼在一起,但文件太大了。最后我决定自己用 Windsurf 制作一个,以后就不再依赖别人了。
Prompt:
https://www.bilibili.com/video/BV1DJ411X7vg/?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click&vd_source=7cf1f568229c6f5b4a7c23f5a2e85cbc
帮我下载链接中的视频
说来也巧,AI 立刻开始分析:

这时,我觉得不太对劲,AI 似乎还没真正理解链接的内容就开始忙活,可能会出错,于是我赶紧提醒它:
Prompt:先分析一下链接的内容,再决定怎么下载视频。
AI 继续深入分析,接着调用了 ddg-search / fetch_content:

最终,AI 给我提出了四个方案。因为我不想太麻烦,最后选了第四个。接着系统检查我是否已经安装了必要的组件:Python 和 pip。

接下来,它开始用 pip 命令安装 you-get,并且还帮我自动设置了环境变量。
标题:轻松下载视频的方法,快来试试吧!
接下来,系统开始调用你之前安装的 you-get 来下载视频。这个过程中特别贴心,它会列出可选的清晰度和格式,并自动挑选出一个既清晰又占用空间更小的选项。
在这个时候,你会发现视频已经顺利下载完成了,文件也保存在你的指定文件夹里,轻松找到它一点也不难。
不过,有个小插曲,下载下来的视频和音频是分开的,这可得想办法把它们合在一起。
还好,AI 也注意到了这个问题,给出了一个解决方案:使用 FFmpeg 工具来处理。可惜的是,它发现你还没安装这个工具,于是又想到了另一种方法:用 Python 的 moviepy 库来帮忙。
标题:解决视频音频分离问题的小冒险
说到这里,AI 的一个大问题就暴露出来了:每当它在某个方向上卡住时,就会迅速改变主意。其实,这种不断的岔路选择,往往让事情越走越偏。
接着,系统先把 moviepy 库装上,然后写了个 Python 脚本想合并视频,结果却发现有个叫 moviepy.editor 的模块没了,于是又转头改用 Python 自带的模块来合并视频,这样一来,之前下载的库真是白费了。
等我运行脚本时,系统告诉我新文件合成成功,结果一打开却发现文件不兼容…真是受不了啊,生怕问题再回到我身上,系统又一次反悔,建议我用 VLC 播放器来试试这个文件…
这路越走越歪,我心里不禁一紧:
干脆下载 ffmpeg,进行格式转换吧。
就这一条路,不要轻易放弃。
务必自己设置测试方案,确保有效。
看来得给它点约束,我就决定让它在这条路上走到底。

后来,系统顺利下载了 ffmpeg 并完成安装,然后开始用它分析已下载的视频格式。

最后,终于找到了问题所在:原来 B 站采用了 DASH 格式,所以视频和音频被分开下载了。

接下来,它就开始用 ffmpeg 的相关命令合并视频,并在合并后检查视频是否能正常播放,结果成功合并了视频。
轻松下载B站视频的简单步骤
好了,终于搞定了!以后想要下载B站的视频,其实只需要这么几步:
- 告诉AI我想用you-get这个工具来下载视频,并把下载链接给它;
- 下载完成后,再用ffmpeg把视频和音频合并在一起;
通过这个案例,我学到了一些重要的经验:要让大型模型保持灵活性,不要因为失败一次就轻易放弃。记得有个原则,我总是这么做:
- 先让AI探索3到5种不同的解决方案;
- 分析每个方案的优缺点;
- 分别尝试这些方案(或者让用户来决定),确保每条路都有备选方案,而不是中途换主意;
- 编写测试用例,确保AI可以顺利通过测试;
就是这些啦!
本文由人人都是产品经理作者【善宝橘】创作,微信公众号:【善宝橘】授权发布于人人都是产品经理,未经许可,请勿转载。
插图来自Unsplash,基于CC0协议。
