0.问题

  • 经常要剪视频,有时候自己讲的希望能加个字幕,但是网上基本都是收费的,而且对于我这种做视频没什么收入的UP主来说有点贵了。所以一直在寻找一个便捷一点的或者说省钱一点的方法。

  • 但是手机上发现有个软件效果还不错,每天免费30分钟:

显示是会员有30分钟,会员就是注册一下。

  • 快剪辑快字幕功能操作流程如下
  1. 新建项目

  2. 选择要生成字幕的视频

  3. 选择原始比例(可以随便)

  4. 选择一段要自动生成字幕的片段点生成

  5. 编辑调整字幕

其实到这里的话已经可以生成字幕达到目的了,但是快剪辑的字幕生成慢,而且不好剪辑,想导出到srt字幕文件到电脑上一起完成剪辑。

1.解决

  • 在应用存储文件夹下找到了这个文件

里面的内容,疑似json保存的项目工程文件

用JSON格式化工具看发现,字幕是在stickerlist属性下的text属性,开始和结束时间分别是startTime属性和endTime属性,时间是视频开始到当前的毫秒数。

  • 于是我利用这个文件,用Python写了一个提取字幕的脚本
#!/usr/bin/python
# coding=UTF-8
import json
import time
import srt
from datetime import timedeltadef FlowlogToSrt(log):#解析Json为字典fldict = json.loads(log)#获取字幕列表stickerlist = fldict['stickerlist']#取出字幕index = 0subs = []for sticker in stickerlist:#序列号index = index + 1#开始时间startTime = timedelta(milliseconds = sticker["startTime"])#结束时间endTime = timedelta(milliseconds = sticker["endTime"])#内容text = sticker["text"]#转成srt对象,并存入列表subs.append(srt.Subtitle(index=index, start=startTime, end=endTime, content=text))#转成srtsrtText = ""for sub in subs:srtText = srtText + sub.to_srt()print(srtText)#写入文件filename = "KuaiJianJiSticker"+time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime())+".srt"with open(filename, 'w', encoding="utf-8") as file_object:file_object.write(srtText)if __name__ == "__main__":txt = input("请输入手机快剪辑flowlog数据:(数据位于/Android/data/com.qihoo.qeditor/files/keyfiles/flowlog下)\n")FlowlogToSrt(txt)
  • 把那个文件上传到电脑,输入到代码里

    但是好像文件太大了,因为我的是35分钟的会议,基本都有人在说话。

  • 那只好提取出有用的部分咯
    于是在JSON在线格式化这里格式化了一下代码,把结果放到另外一个文件里。
    用Java写了以下代码,用于提取出大致的JSON结构和所需要的部分属性:

package clearJSON;import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;public class Main {//文件路径static String Path = "D:/eclipse-workspace/clearJSON/clearJSON/json.txt"; //结果缓存static StringBuilder res = new StringBuilder();public static void main(String[] args) throws IOException, InterruptedException {//行数统计int lineNumber = 0;//读取文件FileInputStream fis=new FileInputStream(Path);InputStreamReader isr=new InputStreamReader(fis, "UTF-8");BufferedReader br = new BufferedReader(isr);String line = "";while ((line=br.readLine())!=null) {lineNumber++;//结构保留if(line.indexOf('{')!=-1 || line.indexOf('}')!=-1) {add(line);//保证添加的不是空对象if((line=br.readLine())!=null) {//结构里至少有一个属性,添加以“{”开头的下一行add(line);}continue;}//属性保留,需要的属性可以以此类推添加到这里if(line.indexOf("\"startTime\"")!=-1 || line.indexOf("\"text\"")!=-1 || line.indexOf("\"endTime\"")!=-1) {add(line);}}br.close();fis.close();//输出结果System.out.println("一共处理文件行数:"+lineNumber);//输出精简后的JSON代码Thread.sleep(2000);System.out.println(res.toString());}/*** 添加文本到缓存里* 完成对结构的判断,依靠‘}’在第一个字符判断是一组属性的结尾,* 然后删除上一行行末的‘,’* @param str 要添加的文字*/public static void add(String str) {//判断是不是一组属性的结尾if(str.trim().indexOf('}') == 0) {//删除上一行行末的逗号res.deleteCharAt(res.length()-1);}//添加到缓存res.append(str);}
}
  • 把JSON代码精简到了原来大小的8.6%:

  • 之后再输入到Python里。

    成功生成SRT文件!

  • 导入到ARCTIME中:

    成功导入到ARCTIME中!

2.总结

  • 基本完成了需求,但是步骤有些麻烦。
  • 今后可以尝试合并Java和Python的部分。
  • 写这篇文章的原因主要还是没钱。

【教程】每天30分钟免费的视频自动生成字幕的方法相关推荐

  1. Camtasia2023电脑录屏视频自动生成字幕软件

    制作视频通常需要添加字幕,添加字幕比较麻烦的是让字幕和声音同步,使用好的软件可以大大提高剪辑效率,让视频更快制作完成.本文将给大家介绍录制视频自动生成字幕的软件设置字幕语音同步教程. 一.录屏视频自动 ...

  2. AI技术实践|用腾讯云录音文件识别让无字幕视频自动生成字幕

    试想一下,当我们在观看一段视频时,如果遇上字幕缺失,观感是不是会大打折扣? 近些年,短视频.直播等线上娱乐方式快速发展,直接拉动了旅游.电商.影视创作等行业新风潮:而要呈现出一段好的视频效果,不仅仅考 ...

  3. 为音视频自动生成字幕的python工具

    目录 为音视频自动生成字幕的 python 工具 autosub autosub3 安装 使用 为音视频自动生成字幕的 python 工具 autosub 是一个能自动为音视频生成字幕的 pytho ...

  4. python-根据语音识别让无字幕视频自动生成字幕,附srt字幕文件

    问题 各大平台都有长语音转写的服务,但是收费昂贵,而且有次数和时间限制. 因此我想到了一个白嫖的好办法.将长音频根据语句停顿切割得到短音频,使用他们提供的短音频识别服务来识别长音频不是更好吗?粗略计算 ...

  5. 语音视频自动生成字幕在线工具介绍

    随着现在短视频越来越火,剪辑视频.打轴听字幕越发成为一件费时费力的繁重工作. 多亏了语音识别等技术的快速进步,现在可以比较准确的通过智能设备自动将视频中的语音识别提取出来. 推荐一款在线制作字幕的工具 ...

  6. Python根据语音识别让无字幕视频自动生成字幕!强不强?

    问题 各大平台都有长语音转写的服务,但是收费昂贵,而且有次数和时间限制. 因此我想到了一个白嫖的好办法.将长音频根据语句停顿切割得到短音频,使用他们提供的短音频识别服务来识别长音频不是更好吗?粗略计算 ...

  7. 自动生成网络拓扑图开源_为视频自动生成字幕,一款神奇的开源工具!

    在之前的文章中老Y给大家推荐过一款视频实时翻译软件,文章如下: 老司机们最想要的神器!我点开了隐藏文件夹-- 虽然不少同学发来贺电,说终于能稍稍看懂那些年保留下来的日本电影了~老Y为这些同学感到高兴, ...

  8. html将字幕添加到视频链接,目前最高效,给视频自动添加字幕的方法

    思路: 1.从视频提取出audio音频部分,存为mp3文件 2.使用语音识别工具,将mp3文件转换成srt字幕文件 3.使用Adobe Premiere Pro CC 2018(PR),将字幕合入视频 ...

  9. python视频处理字幕_Python-autosub为任意视频自动生成字幕文件的命令行工具-其它代码类资源...

    关闭 致敬爱的网友及本站会员的一封信 敬爱的小伙伴们大家好! 作为码农集市(coder100)平台的站长,我不得已采取这样的方式来和各位来到我们平台逛逛的小伙们做一次推心置腹的畅谈.真诚的希望您能够抽 ...

最新文章

  1. auto_ptr动态分配对象
  2. 架构漫谈(1):什么是架构
  3. 语言余一个负数_C语言学习日记(8)——整数溢出
  4. 魅族mx四核即将使用android,魅族MX四核智能手机发布
  5. Android ContentProvider 使用介绍
  6. 最终,我还是放弃了字节50W开发offer,选择了测试开发……
  7. android 约束 布局_Android约束布局动画
  8. 本地图片预览代码(支持 IE6、IE7)
  9. python中https请求的封装_python接口自动化9-https请求(SSL)
  10. 2011—2018年软考中级数据库系统工程师历年真题
  11. 网页设计与制作项目三“网上花店”
  12. 睡眠麻痹 CSP HSP
  13. 软件工程之美学习笔记二十五 24 | 技术债务:是继续修修补补凑合着用,还是推翻重来?
  14. C# 之多线程篇 Task(C#超级工具类)
  15. Linux使用详解(进阶篇)
  16. 京东数据库智能运维平台建设之路
  17. MySQL索引优化(二)索引失效
  18. PS制作渐变金属文字
  19. 运行时错误‘-2147467259(80004005)’
  20. c语言三阶幻方问题(回溯)

热门文章

  1. 流媒体开发之-获取直播节目预告-1
  2. linux系统如何解gz文件,Linux 系统 压缩和解压 gz 格式文件
  3. 【jpa实现多表查询】
  4. Excel 2013设置主次坐标轴后对应的柱状图不重叠
  5. 如何快速制作脚本之学习怎么开发游戏辅助中自动加血的脚本——以按键精灵脚本制作的颜色坐标选取为例
  6. sed命令删除最后一行的最后一个字符
  7. Vue+TypeScript+Antd+Stylus+Flexible+阿里普惠体
  8. 业务域名 无法访问xx.xx.com指向的web服务器(或虚拟主机)的目录,请检查网络设置
  9. nowcoder---常州大学新生寒假训练会试----F 大佬的生日礼包(二分)
  10. 【送福利】拆礼盒赢iPhone 7,10000万礼盒100%中奖人人有礼!