吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3903|回复: 73
上一主题 下一主题
收起左侧

[原创工具] 必剪软件字幕提取工具

  [复制链接]
跳转到指定楼层
楼主
sunye88888 发表于 2025-2-21 11:08 回帖奖励
本帖最后由 sunye88888 于 2025-4-11 11:31 编辑

ak360 建议,加了一种格式



必剪字幕提取工具.zip (247.8 KB, 下载次数: 143)











------------------------------------------------------------------------老板看中个演讲视频,想把里面的内容提取成文本,百度了一下,发现哔哩上有个软件,但是要收费,
所以有了这个软件,无非是json的解析,技术难度不大,希望能给同样需求的伙伴提供些帮助



转换精度有限,取决必剪,不过大部分还可以,稍加改动即可.

1.使用必剪软件识别字幕

2.看下草稿的保存路径

3.到相应文件夹下,找到字幕文件

4.随便选择个比较大的文件,拖入软件进行转换

免费评分

参与人数 14吾爱币 +18 热心值 +13 收起 理由
James0 + 1 谢谢@Thanks!
vip209323 + 1 + 1 谢谢@Thanks!
qqy594188 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
huyuyi326 + 1 + 1 我很赞同!
wincao + 1 + 1 用心讨论,共获提升!
gengyin + 1 + 1 谢谢@Thanks!
Zatoichi + 1 + 1 谢谢@Thanks!
petqq + 1 + 1 谢谢@Thanks!
a1271418806 + 1 热心回复!
jdhnp + 1 + 1 谢谢@Thanks!
niu1995 + 1 热心回复!
jeanschow + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
艾爱姆Joker + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
lujucom 发表于 2025-5-20 14:04
本帖最后由 lujucom 于 2025-5-20 14:06 编辑

问了DS,他给了这段代码,测试一下很好用,给需要的朋友。
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import os
import json
from datetime import datetime
 
def find_target_json():
    base_dir = r"C:\Users\174501259\Documents\Bcut Drafts"
    target_files = []
     
    for root, dirs, files in os.walk(base_dir):
        for file in files:
            if file.lower().endswith(".json") and file.lower() != "draftinfo.json":
                full_path = os.path.join(root, file)
                mtime = os.path.getmtime(full_path)
                size = os.path.getsize(full_path)
                target_files.append((full_path, mtime, size))
     
    if not target_files:
        return None
 
    # 按修改时间降序和文件大小降序排序
    target_files.sort(key=lambda x: (-x[1], -x[2]))
    return target_files[0][0]
 
def parse_subtitles(json_path):
    with open(json_path, 'r', encoding='utf-8') as f:
        data = json.load(f)
     
    subtitles = []
    for track in data.get('tracks', []):
        if track.get('BTrackType') == 0# 只处理字幕轨道
            for clip in track.get('clips', []):
                asset = clip.get('AssetInfo', {})
                content = asset.get('content', '')
                in_point = clip.get('inPoint', 0)
                duration = clip.get('duration', 0)
                 
                # 假设时间单位为毫秒
                start = in_point
                end = in_point + duration
                 
                subtitles.append({
                    'start': start,
                    'end': end,
                    'content': content
                })
     
    # 按开始时间排序
    subtitles.sort(key=lambda x: x['start'])
    return subtitles
 
def ms_to_srt_time(ms):
    hours = ms // 3600000
    ms %= 3600000
    minutes = ms // 60000
    ms %= 60000
    seconds = ms // 1000
    milliseconds = ms % 1000
    return f"{hours:02d}:{minutes:02d}:{seconds:02d},{milliseconds:03d}"
 
def create_srt(subtitles):
    srt_content = []
    for i, sub in enumerate(subtitles, 1):
        start = ms_to_srt_time(sub['start'])
        end = ms_to_srt_time(sub['end'])
        srt_content.append(f"{i}\n{start} --> {end}\n{sub['content']}\n")
     
    return "\n".join(srt_content)
 
def main():
    if os.path.exists("subtitles.srt"):
        return
     
    json_path = find_target_json()
    if not json_path:
        return
     
    subtitles = parse_subtitles(json_path)
    if not subtitles:
        return
     
    srt_content = create_srt(subtitles)
    with open("subtitles.srt", 'w', encoding='utf-8-sig') as f:
        f.write(srt_content)
 
if __name__ == "__main__":
    main()
推荐
ak360 发表于 2025-4-10 18:39
大哥字幕时间格式是这样的,要有编号才能导入剪映啊,能更新一下软件吗

1
00:00:00,000 --> 00:00:04,500
这个时候你可以通过修改时间确定是哪个文件夹

2
00:00:04,500 --> 00:00:05,950
打开文件夹之后

3
00:00:05,950 --> 00:00:07,830
通常会有5个文件

沙发
cta019177 发表于 2025-2-21 23:43
3#
kangyushi 发表于 2025-2-22 09:52
感谢分享
4#
february 发表于 2025-2-22 09:53
我记得剪映也有,也是免费提取和导出,现在也是收费了?
5#
mickyjl 发表于 2025-2-22 10:07
很不错的提取字幕软件,感谢分享
6#
提拉米苏子冉 发表于 2025-2-22 10:59
能加上时间吗
7#
 楼主| sunye88888 发表于 2025-2-22 11:09 |楼主
february 发表于 2025-2-22 09:53
我记得剪映也有,也是免费提取和导出,现在也是收费了?

剪映没用过不太清楚
8#
 楼主| sunye88888 发表于 2025-2-22 11:09 |楼主

有加时间的选项啊
9#
qjd1015aj 发表于 2025-2-22 11:23
不错 谢谢楼主分享
10#
yh0123 发表于 2025-2-22 11:31
支持一下!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-5-27 23:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表