mirror of
https://github.com/xhlove/GetDanMu.git
synced 2025-12-17 00:25:58 +08:00
61 lines
2.7 KiB
Python
61 lines
2.7 KiB
Python
#!/usr/bin/env python
|
||
# coding=utf-8
|
||
'''
|
||
# 作者: weimo
|
||
# 创建日期: 2020-01-04 12:59:11
|
||
# 上次编辑时间 : 2020-01-04 17:41:34
|
||
# 一个人的命运啊,当然要靠自我奋斗,但是...
|
||
'''
|
||
|
||
import sys
|
||
|
||
from argparse import ArgumentParser
|
||
|
||
from sites.qq import main as qq
|
||
from sites.iqiyi import main as iqiyi
|
||
from basic.ass import get_ass_head, check_font
|
||
from pfunc.dump_to_ass import write_lines_to_file
|
||
from methods.assbase import ASS
|
||
from methods.sameheight import SameHeight
|
||
|
||
# -------------------------------------------
|
||
# 基本流程
|
||
# 1. 根据传入参数确定网站,否则请求输入有关参数或链接。并初始化字幕的基本信息。
|
||
# 2. 解析链接得到相关视频/弹幕的参数,以及时长等
|
||
# 3. 根据网站对应接口获取全部弹幕
|
||
# 4. 转换弹幕
|
||
# 5. 写入字幕文件
|
||
# -------------------------------------------
|
||
|
||
|
||
def main():
|
||
parser = ArgumentParser(description="视频网站弹幕转换/下载工具,任何问题请联系vvtoolbox.dev@gmail.com")
|
||
parser.add_argument("-f", "--font", default="微软雅黑", help="指定输出字幕字体")
|
||
parser.add_argument("-fs", "--font-size", default=28, help="指定输出字幕字体大小")
|
||
parser.add_argument("-s", "--site", default="qq", help="指定网站")
|
||
parser.add_argument("-cid", "--cid", default="", help="下载cid对应视频的弹幕(腾讯视频合集)")
|
||
parser.add_argument("-vid", "--vid", default="", help="下载vid对应视频的弹幕,支持同时多个vid,需要用逗号隔开")
|
||
parser.add_argument("-aid", "--aid", default="", help="下载aid对应视频的弹幕(爱奇艺合集)")
|
||
parser.add_argument("-tvid", "--tvid", default="", help="下载tvid对应视频的弹幕,支持同时多个tvid,需要用逗号隔开")
|
||
parser.add_argument("-u", "--url", default="", help="下载视频链接所指向视频的弹幕")
|
||
parser.add_argument("-y", "--y", action="store_true", help="覆盖原有弹幕而不提示")
|
||
args = parser.parse_args()
|
||
print(args.__dict__)
|
||
font_path, font_style_name = check_font(args.font)
|
||
ass_head = get_ass_head(font_style_name, args.font_size)
|
||
if args.site == "qq":
|
||
subtitles = qq(args)
|
||
if args.site == "iqiyi":
|
||
subtitles = iqiyi(args)
|
||
|
||
for file_path, comments in subtitles.items():
|
||
get_xy_obj = SameHeight("那就写这一句作为初始化测试吧!", font_path=font_path, font_size=args.font_size)
|
||
subtitle = ASS(file_path, get_xy_obj, font=font_style_name)
|
||
for comment in comments:
|
||
subtitle.create_new_line(comment)
|
||
write_lines_to_file(ass_head, subtitle.lines, file_path)
|
||
|
||
if __name__ == "__main__":
|
||
# 打包 --> pyinstaller -F .\qq.py -c -n GetDanMu_qq_1.1
|
||
main()
|
||
# subtitle = ASS() |