From 455af11120ae1bea0c1cbf6bcfad8d26e93ae9ca Mon Sep 17 00:00:00 2001 From: lostecho Date: Tue, 15 Apr 2025 09:28:39 +0800 Subject: [PATCH] update media process --- course.py | 13 ++----------- courses.db | Bin 2736128 -> 2760704 bytes markdown_generator.py | 3 ++- transcribe_media.py | 8 +++++--- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/course.py b/course.py index 71dda7d..787f0a5 100755 --- a/course.py +++ b/course.py @@ -10,12 +10,10 @@ from threading import Thread import requests -from fileconvert import mp4_to_mp3, mp4_to_wav from headers import headers from logging_config import setup_logging -# from video_voice_process import process_audio_file -from sense_voice_process import process_audio_file +from transcribe_media import convert_media logger = setup_logging() @@ -225,14 +223,7 @@ def download_course_contents(course_ids, course_ids_dict): # 构建完整的 MP4 文件路径 mp4_file = os.path.join(root, file) if (not exist_md_file) and mp4_file is not None: - mp4_to_mp3(mp4_file) - # 调用 mp4_to_wav 函数进行转换 - wav_file = mp4_to_wav(mp4_file) - if wav_file is not None: - try: - process_audio_file(wav_file) - except: - print('process_audio_file fail') + convert_media(mp4_file) def get_course(): diff --git a/courses.db b/courses.db index 26654f9caf5c87451695dc5da4c1c46663fdd9f8..72403bde2245aec5732110cba152a57b82193115 100755 GIT binary patch delta 72051 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 delta 887 zcmchVPe{~36vuxvuI;+N-JPGNruOHz=8m%-v|kphM1*?UF0v4mbg*YgSRiR=EeNtf zv(?4cBA!9iT9Kj~yJq#X+a5X?1a-7ac<|88)h^;{HoMTRa|3VSeZFs)@0&NV>@11J zW=NvWSGu8T^r?zTP1C%S!4NIoxD67B1S+9Kf7gnbg65?m6>B)BE$55f}w-15h*`nYv8ZZ&+c0uBQmIX;Y|9f1XG+~7gHxx*W9VTW5-zRP>@>n^{5XMXcA zzTV>(?{0Mk?5!^Dd4rCm7{sw0e~!kqsA^c%Gy0T1pvUxx?$_IOmwUyXb0^$c_pCdr zEUSfyZQiN37cJSEMq>DBn{y<2Zs{kBbWu@12J(vb6{uCDX>~S>ck(=d**ve++ln-$ zXcWKXc^$T-MYv+3Z?ymF^-ITFL!s7ULDn{Y@oL>x<|723ZSp8K{^k{T8s7<$bb2lA zJ_&1hE#dFO;iR~Aif++mnxU(7ipJ;wZKr-3p)N8@faJ&u$&x5Zu%9H%zOf~iWJBy8 z3$h;8!3;bza3>Y<;maGviu}WKI)%{d=&y`fm