[小脚本] python 制作视频字幕

字幕分为两种
一种可以直接写在视频中,另一种制作srt,然后播放器就可以自动打开

from _chj.comm.pic import *
from _chj.base.sys import exec_cmd
from datetime import datetime, timedelta

for i, line in enumerate( tqdm(readlines("data/qa_v_subtitle/text.txt")) ):
    fiv = f"data/qa_video/{i+1:04d}.mp4"
    fov = f"data/qa_v_subtitle/{i+1:04d}.mp4"
    #fsub= f"data/qa_v_subtitle/{i+1:04d}.srt"
    fsub= f"data/qa_video/{i+1:04d}.srt"
    cap = cv.VideoCapture(fiv)
    tm = cap.get(7) / 25
    #td =  datetime.fromtimestamp(tm) - datetime.fromtimestamp(0)
    td =  timedelta( seconds=tm )
    #print(td)
    hour = td.seconds//3600
    minute = (td.seconds//60)%60
    second = td.seconds % 60
    microsecond = td.microseconds
    tp="{\\an8}"
    ss = f"{hour:02d}:{minute:02d}:{second:02d},{microsecond//1000:03d}"
    ss = f"1\n00:00:00,0 --> {ss}\n{tp}{line}\n"
    with open(fsub, "w") as fp:
        fp.write(ss)
    
    cmd=f"ffmpeg -y -loglevel error -i {fiv} -vf subtitles={fsub} {fov}"
    #cmd=f"cp {fiv} {fov}"
    exec_cmd(cmd)    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值