如何把视频里的文字提取出来,做成WORD格式的?急啊,帮帮忙啊
发布网友
发布时间:2022-04-23 05:15
我来回答
共5个回答
热心网友
时间:2022-06-01 09:20
1、下载蜜蜂剪辑软件。
2、首先打开软件,点击界面内“文件-导入-导入文件”,将我们需要提取的视频文件导入。
3、点击视频素材区的视频文件,右键后选择“添加至轨道”将视频添加至视频轨道,我们便在下方可以看到我们添加可修改的视频
4、之后我们单击下方轨道上面的视频,接着点击“导出”
5、最后我们在弹出的窗口选择“音频”,MP3格式,输入“名称”,选择输出目录,最后单击导出,我们的视频音频便导出到我们指定的文件夹中了
6、打开免费在线音视频转换页面。
7、在浏览器内打开它的在线音视频转换界面后,点击“点此导入文件”,将我们需要提取音频的视频文件导入平台内。
8、在点击界面下方的“格式”,选择我们想要输出的音频格式后,点击界面右下角的“转换”按钮后,视频中的音频即可实现音视频分离。
热心网友
时间:2022-06-01 09:20
整体处理流程
docx文档格式简介
首先,为你大致介绍下docx文档格式。docx其实是一个压缩格式文件,手工将后缀修改为zip后,即可解压该文件。通常主要的内容结构都在解压后的word/document.xml 文件中。
例如,下图是一个最简单的word文档,正文只有“你好”两个字:
docx示例文档
将该文档后缀修改为.zip后,解压该文档,会看到word/document.xml的主要内容如下
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
mc:Ignorable="w14 w15 w16se w16cid w16 w16cex wp14">
<w:body>
<w:p w14:paraId="6D5AFF05" w14:textId="678C6FAC" w:rsidR="000933A6" w:rsidRDefault="008D746B">
<w:r>
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
<w:t>你好</w:t>
</w:r>
</w:p>
</w:body>
</w:document>
从上面文件可以大致看出word文档基本构造:
<w:p>是段落
<w:r>是段落中的行
<w:rPr>是行样式信息
<w:t>是文本内容
docx4j库的基本逻辑与上述xml组织结构是对应的:将上述xml的内容,转换为对应的java对象及方法,实现文档生成、编辑等功能。
docx4j文档操作
接下来基于docx4j库,实现word文档操作。
首先,引入docx4j依赖:
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
<version>8.1.6</version>
首先,我们要将每个视频文件的对话记录,生成如下模式的表格:
内容表格示例
对应表格的处理逻辑是:
// 创建表头
Tbl tbl = Context.getWmlObjectFactory().createTbl();
//设置表格基本样式,包括边框等
String strTblPr = "<w:tblPr "
+ Namespaces.W_NAMESPACE_DECLARATION
+ ">"
+ "<w:tblStyle w:val=\"TableGrid\"/>"
+ "<w:tblW w:w=\"0\" w:type=\"auto\"/>"
+ "<w:tblLook w:val=\"04A0\"/>"
+ "</w:tblPr>";
try {
TblPr tblPr = (TblPr) XmlUtils.unmarshalString(strTblPr);
tbl.setTblPr(tblPr);
} catch (JAXBException e) {
log.error("基于XML解析生成TblPr出错", e);
}
// 设置标题行
Tr hearTr = Context.getWmlObjectFactory().createTr();
tbl.getContent().add(hearTr);
geneTblHearderCell(hearTr, "D9D9D9", 2629, docPart.createParagraphOfText("时间"));
geneTblHearderCell(hearTr, "D9D9D9", 5667, docPart.createParagraphOfText("内容"));
// 设置内容行
taskResultRepo.findByTaskIdEqualsOrderByBeginTimeAsc(taskId).forEach(result -> {
Tr tr = Context.getWmlObjectFactory().createTr();
tbl.getContent().add(tr);
//创建第一个单元格
Tc tc1 = Context.getWmlObjectFactory().createTc();
tc1.getContent().add(docPart.createParagraphOfText(formatSecond(result.getBeginTime())));
//创建第二个单元格
Tc tc2 = Context.getWmlObjectFactory().createTc();
tc2.getContent().add(docPart.createParagraphOfText(result.getWords()));
//将单元格加入到表格中
tr.getContent().addAll(Arrays.asList(tc1, tc2));
});
//将表格加入到文档中
docPart.getContent().add(tbl);
//增加分页符
docPart.getContent().add(createNextPage());
有一点特别提醒下,建议尽量不要使用XmlUtils.unmarshalString来生成对象,除了上述参考官方示例在创建表头TblPr外,本项目所有其他结构,均是采用java对象来构建。原因是直接基于xml解析,很容易出现命名空间的错误。
docx4j还支持将图片入到文档中,例如:
//将图片写入到word文档中
Inline inline = null;
try {
BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordPackage,
Files.readAllBytes(Paths.get("doc\\thomas-gitee.png")));
inline = imagePart.createImageInline("开源工程地址", "二维码图片", 1, 2, false);
} catch (Exception e) {
log.error("创建图片对象出现异常", e);
}
ObjectFactory factory = Context.getWmlObjectFactory();
P p = factory.createP();
R r = factory.createR();
p.getContent().add(r);
Drawing drawing = factory.createDrawing();
r.getContent().add(drawing);
drawing.getAnchorOrInline().add(inline);
以下是设置标题及章节,分别将内容样式设置为Title和Heading1即可:
//设置文档标题
mainDocumentPart.addStyledParagraphOfText("Title", THOMAS_DOCX_NAME);
//取出第一行,作为章节名称
mainDocumentPart.addStyledParagraphOfText("Heading1", taskInfo.getTaskName());
生成目录也很简单:
//生成目录,该段内容要放到最后面
Toc.setTocHeadingText("目录");
TocGenerator tocGenerator = new TocGenerator(wordPackage);
tocGenerator.generateToc(5, " TOC \\o \"1-3\" \\h \\z \\u ", true);
需要提醒的是,generateToc方法中的第一个参数是将目录入到文档中的位置,上述代码是将目录插入到第五个位置。
文档结构组装完成后,直接WordprocessingMLPackage的save方法即可保存文档。
最后
至此,我们终于完成将MP4视频中的对话,最终转化为文字,并且输出为一个格式规范的word文档,实现过程如有有错漏之处,敬请反馈,谢谢。
热心网友
时间:2022-06-01 09:21
付费内容限时免费查看回答殺殺
提取视频上的文字方法/步骤如下:
1、首先在手机上打开音频处理工具。
2、使用工具栏目中的视频转文字功能。
3、选择需要转换的视频,然后点击右下角使用。
4、点击普通话识别,工具就将视频内容识别出来了。
5、使用下方的复制功能,就可以将内容提取出来了。
其次,只需要用微信小程序的“微转写”就可以轻松做到了。首先打开小程序,然后选择视频转文字,然后上传视频点击一键转写就可以将视频转换成文字。
微转写app是一款精准高效的识别转换神器,能够轻松识别用户声音,并且利用录音轻松快速的转换成文字,同时app还支持一键分享,免费让您的工作生活更加轻松,是免费能够进行便捷录音转文字功能。
热心网友
时间:2022-06-01 09:21
如果视频有独立字幕的,我会用MKVToolNix工具提取字幕文件。
如果是合成字幕的, 我会用迅飞语音输入方法,将字幕读出,转换为文字,编辑粘贴到WORD中。
热心网友
时间:2022-06-01 09:22
把视频里的文字提取出来需要专业的软件,最简单的办法是到射手网(http://www.shooter.cn/)下载对应的视频字幕文件,复制到WORD文档就可以了