ffmpeg mac 批量脚本_简单脚本按章节切分youtube视频

本文介绍了如何利用FFmpeg在Mac上批量按章节切分YouTube视频。作者首先提取视频章节的结构化数据,然后生成FFmpeg的分割视频字符串,并最终执行命令批量分割视频。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我经常从youtube搬运一些优秀的编程教学视频到bilibili,欢迎关注我的频道:

狂奔的男尸的个人空间 – 哔哩哔哩 ( ゜- ゜)つロ 乾杯~ Bilibili。

https://space.bilibili.com/10074432

youtube没有B站的分P机制,youtube多个视频叫播放列表(playlist)。单个视频长度过长的情况下,提供分章节的机制。

生成这些章节信息,只需要在视频的描述中添加章节的开始时间及标题。如:

⭐️ Course Contents ⭐️
⌨️ (0:00:00) Intro
⌨️ (0:00:56) Lists
⌨️ (0:16:30) Tuples
⌨️ (0:29:49) Dictionaries
⌨️ (0:42:40) Sets
⌨️ (0:58:44) Strings
⌨️ (1:22:50) Collections
⌨️ (1:36:43) Itertools

然后youtube就会在视频的进度条上进行切分,鼠标浮动上各个片段上,会显示该章节的名称和进行预览。

ee63db60d4f9ac2a0a23ddd6b25e8ffb.png

而做为一个优秀的youtube搬运工,不能做简单的搬运。于是我写了个简单的js脚本,按描述中的章节时间切分视频。


1 结构化数据

通过编辑器列选择工具,初步删除一些的多余符号,如emoji、括号等。

7a41cd918071e30a7e85b0dc51a0fc3b.png

对字符串按行分割成数组,去掉空行。

2600f5fb787767f89f2cb4f62ac9b83d.png

结构化数据,获取视频片段的json数据:

  • 获取视频片段开始时间 start

  • 获取视频片段名称name,去掉 ? 或 * 号等不合法的文件名符号。

49e2e95d255be75a8872c06c6fe391ed.png

2 生成FFmpeg分割视频字符串

FFmpeg 是视频处理最常用的开源软件。

它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube 和 iTunes),也是许多音频和视频格式的标准编码/解码实现。

FFmpeg分割视频的命令行为:

ffmpeg -i [input] -ss [start] -to [end] -c copy [output]

其中:

  • input 被分割视频文件名

  • start 片段开始时间

  • end 片段结束时间

  • output 分割完成视频文件名

我的思路就是将结构化的视频章节数据,转化成FFmpeg字符串。

b5c3b1e00d3626855270a97adeeda857.png

选择reduceRight对数组进行字符串拼接:

  • 传入初始值 “last”,用于标识最后一个片段

  • 规整化文件名

  • 返回当前片段信息,为下一个片段提供结束时间

3 批量执行FFmpeg命令

执行以上脚本,得到FFmpeg命令行字条串:

f0fc38de1adfd1de89ded4e1a8212d95.png

打开cmd命令行,去到 Intermediate Python Programming Course.mp4所在的目录,执行以上脚本,即可分割视频。

259098a02ae8ca5f93005e6fa4c7d4e5.png

上传到bilibili:中级python教程【6小时】_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

完整代码:https://gitee.com/mzhren/codes/nv93tgl5mc80qodzsajuf61

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值