如何解决使用时间戳修剪一批视频
我想根据存储在 csv 文件中的开始和结束时间剪切文件夹中的多个视频:annotations.csv
csv文件格式为:
视频名称 |开始时间 |结束时间
我认为伪代码可能如下所示:
`for i in video_names
do: cut video according to time frame`
ffmpeg -ss 00:01:00 -i input.mp4 -to 00:02:00 -c copy output.mp4
这是我在对输入名称和开始时间和结束时间进行硬编码时为单个视频找到的东西。 我怎样才能使这个动态与我的注释文件相对应?
解决方法
想通了。在下面的代码片段中,只需添加您的路径而不是“your_file_path/annotations.csv”
pip install moviepy
from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip
import csv
# name of output file
naming = 'trim_'
def get_sec(time_str):
"""Get Seconds from time."""
h,m,s = time_str.split(':')
return int(h) * 3600 + int(m) * 60 + int(s)
sample = open('your_file_path/annotations.csv','r')
csv1 = csv.reader(sample,delimiter=',')
next(csv1,None)
for eachline in csv1:
file_name = str(eachline[0])
out_file = naming + file_name
start = eachline[1]
start = get_sec(start)
end = eachline[2]
end = get_sec(end)
ffmpeg_extract_subclip(file_name,start,end,targetname=out_file)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。