首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python从YouTube时间戳中获取开始时间、结束时间(以秒为单位)?

如何使用python从YouTube时间戳中获取开始时间、结束时间(以秒为单位)?
EN

Stack Overflow用户
提问于 2022-11-13 12:13:34
回答 1查看 30关注 0票数 0

我有一个YouTube视频的时间戳列表。

示例:

代码语言:javascript
复制
timestamps = ['0:02-0:35', '0:50-1:18', '2:53-3:08', '3:12-3:14', '3:16-3:22', '3:25-3:28', '1:09-1:35', '1:38-1:48', '2:04-2:14', '2:30-2:40', '2:45-2:50', '3:35-4:07', '4:16-4:22', '4:48-4:54', '5:00-5:12', '5:34-5:54', '8:58-9:19', '']

现在,我需要为starttime中的每个时间戳获取secondsendtime,因为我需要将这些作为参数传递给ffmpeg_extract_subclip方法,以便将视频切割成子片段。

例如,

代码语言:javascript
复制
# If the timestamp is 0:02-0:35 The starttime and endtime should be,
timestamp = '0:02-0:35'
starttime = 2
endtime = 35

# If the timestamp is 3:02-3:35 The starttime and endtime should be,
timestamp = '3:02-3:35'
starttime = 182 # [(3 * 60) + 2]
endtime = 215 # [(3 * 60) + 35]

我们能用regex做吗?或者还有其他选择?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-13 12:36:53

您可以使用regex,从源字符串捕获分钟(\d{1,2})和秒(\d{2})。

代码语言:javascript
复制
import re
interval = '0:02-0:35'
start_min, start_sec, end_min, end_sec = map(int, re.findall('\d{1,2}', interval))

或者由:-通过re.split来分割时间。

代码语言:javascript
复制
start_min, start_sec, end_min, end_sec = map(int, re.split('[:-]', interval))

但是,您也可以通过内置函数str.split来实现它。

代码语言:javascript
复制
start_min, start_sec, end_min, end_sec = (int(t) for time in interval.split('-') for t in time.split(':'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74420822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档