找回密码
 会员注册
查看: 12|回复: 0

快速剪辑-助力度咔智能剪辑提效实践

[复制链接]

2

主题

0

回帖

7

积分

新手上路

积分
7
发表于 2024-10-7 19:26:23 | 显示全部楼层 |阅读模式
导读:为了提升好看创作者剪辑效率,快速剪辑通过智能识别视频中的字幕、重复句、空白句,一键清除无效片段,提升剪辑效率。本文章旨在与大家分享快速剪辑的建设路径与实践过程中遇到的问题。全文5886字,预计阅读时间15分钟。一、设计背景度咔剪辑作为百度出品的一款泛知识类视频剪辑工具,承载着创作者的剪辑工作,而快速剪主要解决快速去除无效片段的问题。修剪片段通常我们修剪片段时,需要人工跳转至大致位置,再通过播放视频来定位具体想要修剪的位置。快剪通过NLP识别视频中的字幕,按照视频timeline对齐展示,再通过字幕时长映射视频时间片段,快速修剪。语气、停顿、重复句由于泛知识类视频的特殊性,创作者录制过程中经常会出现语气、停顿、重复句等,假如我们需要修剪类似片段,只能够通过播放视频人工判定,操作繁琐。快速剪辑基于视频中提取的音频,借助NLP将含有语气的片段标记出来,再通过字幕之间的时间间隙,直接标记出无声片段区。重复句则可依据计算相邻句式的字符重复度来标记。二、整体架构Plugin:用于展示快剪控制器。Window:用于渲染与视频控制。Caption:用于字幕展示与操作。2.1 WindowWindow主要包含视频渲染、控制及撤销等功能:Timeline:存储视频的clip数据;TimelineModel:存储贴纸、字幕等数据信息。Streaming:负责渲染Timeline与TimelineModel数据信息,对视频进行预加载,播放控制,进度回调等。LiveWindow:用于展示Streaming渲染好的View,调节尺寸背景,坐标换算等。Restorer:用于保存用户操作,并对操作进行撤销、重做等。2.2 CaptionCaption包含快剪的主要功能实现:字幕识别、字幕匹配、语气词、重复句等。当进入快速剪辑页面时,会率先对是否已识别过字幕进行检测,若N,则提取视频音频并上传至后端,进行NLP分析,获取字幕和语气片段数据。由于获取到字幕仅包含有效片段,得到后需要字幕与timeline做时间匹配。(视频信息是由clip对象存储的,每个clip对象表示一个单独的视频片段。一个clip包含trimIn、trimOut、inPoint、outPoint,通过这些数据来确定一个视频片段展示哪个视频,展示在视频的什么位置。字幕同理,通过字幕的clip数据,把文字放在正确的位置上。)若已经有字幕文件,则对比距上次识别是否有增添视频,如果有新增,则把未进行字幕识别的视频进行音频提取,传至后端进行NLP分析与识别。若对比后无新增视频,则直接进入空白句识别阶段。以上文得到的字幕clip与视频的clip数据,对相邻字幕依据空白句规则增加空白字幕clip。目前快剪重复句以上下4句、长度大于3且须包含中文为判定条件,综合字符重复度、莱文斯坦距离、余弦相似性三种策略计算重复比率。/*** 字符重复度*/private func similarity(s1: String, s2: String) -> Float { var simiCount: Float = 0 var string2Array = [String]() for i in 0..
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-11 00:26 , Processed in 0.620395 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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