Commit 9e4f7b39 authored by zhuguorui's avatar zhuguorui

修改bug

parent 40830af4
...@@ -530,6 +530,19 @@ def combine_video_with_subtitle(video_file, subtitle_file): ...@@ -530,6 +530,19 @@ def combine_video_with_subtitle(video_file, subtitle_file):
raise "combine_video_with_subtitle 给视频加字幕异常" raise "combine_video_with_subtitle 给视频加字幕异常"
def format_sub_time(time_str):
time_str = time_str.replace('.', ',')
# 处理时间部分
if "," in time_str:
hours, minutes, seconds_milliseconds = time_str.split(":")
seconds, milliseconds = seconds_milliseconds.split(",")
formatted_time = "{:02d}:{:02d}:{:02d},{:03d}".format(int(hours), int(minutes), int(seconds), int(milliseconds[:3]))
else:
hours, minutes, seconds = time_str.split(":")
formatted_time = "{:02d}:{:02d}:{:02d},000".format(int(hours), int(minutes), int(seconds))
return formatted_time
def gen_subjson_from_subs(subs): def gen_subjson_from_subs(subs):
# 定义字典列表,用于存储每个字幕项的信息 # 定义字典列表,用于存储每个字幕项的信息
subtitle_list = [] subtitle_list = []
...@@ -537,8 +550,8 @@ def gen_subjson_from_subs(subs): ...@@ -537,8 +550,8 @@ def gen_subjson_from_subs(subs):
for i, subtitle in enumerate(subs): for i, subtitle in enumerate(subs):
subtitle_dict = { subtitle_dict = {
'index': str(i+1), 'index': str(i+1),
'start': str(subtitle.start), 'start': format_sub_time(str(subtitle.start)),
'end': str(subtitle.end), 'end': format_sub_time(str(subtitle.end)),
'content': subtitle.content 'content': subtitle.content
} }
subtitle_list.append(subtitle_dict) subtitle_list.append(subtitle_dict)
......
...@@ -52,7 +52,7 @@ class Cutter: ...@@ -52,7 +52,7 @@ class Cutter:
segments = [] segments = []
# Avoid disordered subtitles # Avoid disordered subtitles
subs.sort(key=lambda x: x.start) subs.sort(key=lambda x: x.start)
# print(subs) print(subs)
base, _ = os.path.splitext(fns['media']) base, _ = os.path.splitext(fns['media'])
for x in subs: for x in subs:
v_start = 0.000 if x.index == 1 else x.start.total_seconds() v_start = 0.000 if x.index == 1 else x.start.total_seconds()
...@@ -84,6 +84,7 @@ class Cutter: ...@@ -84,6 +84,7 @@ class Cutter:
segments[-1]["video_end"] = media.duration - 0.5 segments[-1]["video_end"] = media.duration - 0.5
# 切视频,并且将视频变化到新的长度,再合并新的音频 # 切视频,并且将视频变化到新的长度,再合并新的音频
print(segments)
clips = [media.subclip(s["video_start"], s["video_end"]) for s in segments] clips = [media.subclip(s["video_start"], s["video_end"]) for s in segments]
for i, clip in enumerate(clips, start=0): for i, clip in enumerate(clips, start=0):
# 先把 原clip 存下来 # 先把 原clip 存下来
......
...@@ -133,7 +133,7 @@ class Transcribe: ...@@ -133,7 +133,7 @@ class Transcribe:
f.write(srt.compose(subs).encode(self.args.encoding, "replace")) f.write(srt.compose(subs).encode(self.args.encoding, "replace"))
# 生成字幕json # 生成字幕json
sub_json = utils.gen_subjson_from_subs(subs) sub_json = utils.gen_subjson_from_subs(subs)
# print(sub_json) print(sub_json)
return sub_json return sub_json
def _save_md(self, md_fn, srt_fn, video_fn, is_auto_edit=False): def _save_md(self, md_fn, srt_fn, video_fn, is_auto_edit=False):
......
nohup gunicorn start:app -c ./gunicorn.conf.py > log.run 2>&1 & nohup gunicorn start:app -c ../wmdigit_video_cut/gunicorn.conf.py > log.run 2>&1 &
\ No newline at end of file
#!/bin/sh
echo `date '+%Y-%m-%d %H:%M:%S'`
PID=$(ps -ef | grep wmdigit_video_cut | grep -v grep | awk '{print $2}')
if [ -n "$PID" ]; then
echo "kill app on $PID"
kill -9 $PID
fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment