Skip to content

修复在gui界面选中多个分辨率不同的视频的时候字幕位置偏差甚至报错的问题 #393

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

1023097618
Copy link

bug描述:当我在图形化界面用ctrl选中多个视频的时候,发现处理的时候会弹框报错wrong "be" command line value
bug查找:直接导致这个bug的代码是main.py的第449行

subprocess.run(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

其中cmd中输入的值我打印了一下,如下

D:\subtitleExtract\vse-v2.0.3-windows-nvidia-cuda-12.3\resources\backend\subfinder\windows\VideoSubFinderWXW.exe --use_cuda -c -r -i "D:/mypython/speechText/data/jinhua_data/原始音频/永康日报_1l0npmigw7sow__以赛促教展技艺 市中小学教师劳动技能比赛举行.mp4" -o "D:\subtitleExtract\vse-v2.0.3-windows-nvidia-cuda-12.3\resources\output\永康日报_1l0npmigw7sow__以赛促教展技艺 市中小学教师劳动技能比赛举行" -ces "D:\subtitleExtract\vse-v2.0.3-windows-nvidia-cuda-12.3\resources\output\永康日报_1l0npmigw7sow__以赛促教展技艺 市中小学教师劳动技能比赛举行\subtitle\raw_vsf.srt" -te -0.125 -be -0.22916666666666674 -le 0.21875 -re 1.2373046875 -nthr 13 -nocrthr 13

可以看到导致bug的原因是-be输入的值是负数,然后经过一番查找
计算be的时候使用的方法是

        bottom_end = 1 - self.sub_area[1] / self.frame_height

frame_height是当前正在处理的视频的分辨率

而sub_area是通过main.py中的

subtitle_area = (self.ymin, self.ymax, self.xmin, self.xmax)

算出来的,但是ymin和ymax和xmin和xmax都是可视化界面的视频的分辨率,而不是当前正在处理的视频的分辨率
bug解决:在传进去开启每个视频的时候,额外根据当前的视频做一次换算,算出正确的比率

@1023097618 1023097618 changed the title 修复在gui界面选中多个分辨率不同的视频的时候有可能出现负数的问题 修复在gui界面选中多个分辨率不同的视频的时候字幕位置偏差甚至报错的问题 May 18, 2025
@1023097618
Copy link
Author

我又加了个feature,在多文件进行处理的时候GUI界面会显示当前正在处理的那个视频

@1023097618
Copy link
Author

这软件bug有点多啊,精确模式下如果字幕连着会导致字幕的生成时间不对,现在修好了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant