此前这位作者已经尝试过在 PowerShell 命令行里完成视频转码,但他自认对 bat 语法掌握有限,写出的脚本质量不高。想到自己学过 Python,便决定把语言与工具结合起来用,追求一加一大于二的效果。

思路:以Python为胶水串联命令

作者的做法并不复杂:把 Python 当作粘合剂,调用 os 库里的 system 方法,将一条条外部命令拼接起来执行。他看中的是 Python 在字符串处理上的灵活拼接能力,再配合内部命令直接运行,脚本写起来比 bat 更易读懂,篇幅也更短。文中贴出了部分 Python 代码,因原文未给出代码文本,此处不作复述。

Python调用ffmpeg做视频转码:机顶盒0.8倍速,笔记本却达16倍

同一视频两种机器:0.8倍与16倍的差距

实际执行转码时,处理速度取决于硬件性能。作者把同一段视频放到由电视机顶盒改造的 Linux 小主机上运行——该机采用 amr 芯片、1+8 存储配置,售价仅几十元——结果只有接近 0.8 倍的速度;换到他的笔记本上(四核八线程、16+2t 配置,价位上千元),速度达到 16 倍。他指出,若硬盘读写能力、CPU、GPU、电源、散热等硬件条件都过硬,能省下不少电费与等待时间,价格高自有其道理,关键在于按需选型。

在他看来,如果只是写个小脚本、读取 txt 文本做简单的字符处理,机顶盒与游戏本几乎没差别;可一旦负载加大,比拼的就是电源功率,以及 CPU、GPU、内存、硬盘、芯片、线缆之间的整体调校。

品牌机与自组主机的差距在哪

作者认为,在这方面品牌机做得更到位。自己攒的机器关键零件明明不弱,却还是跑不动,原因牵涉多个环节:CPU 散热不佳会直接限制性能发挥,硬盘读写能力跟不上,整机同样会「原地打滑」。他打了个比方:把卡车的发动机装到拖拉机上,属于大材小用。点评之后,作者自嘲「串台」,随即回到正题。

Python调用ffmpeg做视频转码:机顶盒0.8倍速,笔记本却达16倍

输出结果与「封闭干活机」的使用哲学

转码完成后,目标文件夹里会多出一个扩展名不同、文件名相同的视频,可直接在 Windows 中打开,无需再装第三方播放器,也就规避了插件风险并表示省下硬盘空间。作者顺手写到自己的使用理念:硬派玩家信奉「我的地盘听我的」,而非一味迎合;各处都能应付固然方便,但把自身实力建设好才是根本——交多少朋友和有多少铁哥们,是两种不同的人际关系。干活的机器没有社交软件、浏览器、网络,也没有华丽界面,甚至完全无界面,只有各类 PAN 接口和线缆,靠敲命令完成工作。

他还提到,可以通过二维码作为载体来传输代码,从而避开换行符「\n」带来的异常。这样,外观简陋的机器内部照样藏着充足的性能。

小结

这则实践表明,Python 搭配 os.system 调用 ffmpeg,能够以比 bat 更易维护的方式完成转码批量任务;转码速度更多取决于整机综合调校,而非单一强劲部件。同样的任务,几十元机顶盒约为 0.8 倍速,四核八线程笔记本可达 16 倍,选型应量体裁衣。