|
|
@@ -369,19 +369,19 @@ func MergeMultiDialogue4EngSubtitle(inSubParser *subparser.FileInfo) {
|
|
|
inSubParser.DialoguesEx = merger.Get()
|
|
|
}
|
|
|
|
|
|
+// GetVADINfoFromSub 跟下面的 GetVADINfoFromSubNeedOffsetTime 函数功能一致
|
|
|
+func GetVADINfoFromSub(infoSrc *subparser.FileInfo, FrontAndEndPer float64, SubUnitMaxCount int) ([]SubUnit, error) {
|
|
|
+ return GetVADINfoFromSubNeedOffsetTime(infoSrc, FrontAndEndPer, SubUnitMaxCount, 0)
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
- GetVADINfoFromSub
|
|
|
+ GetVADINfoFromSubNeedOffsetTime 只不过这里可以加一个每一句话固定的偏移时间
|
|
|
这里的字幕要求是完整的一个字幕
|
|
|
1. 抽取字幕的时间片段的时候,暂定,前 15% 和后 15% 要避开,前奏、主题曲、结尾曲
|
|
|
2. 将整个字幕,抽取连续 5 句对话为一个单元,提取时间片段信息
|
|
|
3. 可能还有一个需求,默认的模式是每五句话一个单元,还有一种模式是每一句话向后找到连续的四句话组成一个单元,允许重叠
|
|
|
目前看到的情况是前者的抽样率太低,需要使用后者的逻辑
|
|
|
*/
|
|
|
-func GetVADINfoFromSub(infoSrc *subparser.FileInfo, FrontAndEndPer float64, SubUnitMaxCount int) ([]SubUnit, error) {
|
|
|
- return GetVADINfoFromSubNeedOffsetTime(infoSrc, FrontAndEndPer, SubUnitMaxCount, 0)
|
|
|
-}
|
|
|
-
|
|
|
-// GetVADINfoFromSubNeedOffsetTime 跟上面的函数功能一致,只不过这里可以加一个每一句话固定的偏移时间
|
|
|
func GetVADINfoFromSubNeedOffsetTime(infoSrc *subparser.FileInfo, FrontAndEndPer float64, SubUnitMaxCount int, offsetTime float64) ([]SubUnit, error) {
|
|
|
if SubUnitMaxCount < 0 {
|
|
|
SubUnitMaxCount = 0
|
|
|
@@ -430,7 +430,9 @@ func GetVADINfoFromSubNeedOffsetTime(infoSrc *subparser.FileInfo, FrontAndEndPer
|
|
|
} else {
|
|
|
srcSubUnitList = append(srcSubUnitList, *srcOneSubUnit)
|
|
|
srcOneSubUnit = NewSubUnit()
|
|
|
- i = i - SubUnitMaxCount + SubUnitMaxCount/5
|
|
|
+ // TODO 这里决定了插入数据的密度,有待测试
|
|
|
+ //i = i - SubUnitMaxCount + SubUnitMaxCount/5
|
|
|
+ i = i - SubUnitMaxCount + SubUnitMaxCount/2
|
|
|
}
|
|
|
}
|
|
|
if srcOneSubUnit.GetDialogueCount() > 0 {
|