qqwjq1981 commited on
Commit
37fa3bb
·
verified ·
1 Parent(s): 6763156

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -2
app.py CHANGED
@@ -1147,6 +1147,8 @@ def upload_and_manage(file, target_language, process_mode):
1147
  audio_path = "audio.wav"
1148
  output_video_path = "output_video.mp4"
1149
  voiceover_path = "voiceover.wav"
 
 
1150
  logger.info(f"Using audio path: {audio_path}, output video path: {output_video_path}, voiceover path: {voiceover_path}")
1151
 
1152
  # Step 1: Transcribe audio from uploaded media file and get timestamps
@@ -1162,6 +1164,11 @@ def upload_and_manage(file, target_language, process_mode):
1162
 
1163
 
1164
  translated_json = apply_adaptive_speed(translated_json_raw, source_language, target_language, process_mode)
 
 
 
 
 
1165
 
1166
  # Step 3: Add transcript to video based on timestamps
1167
  logger.info("Adding translated transcript to video...")
@@ -1180,7 +1187,7 @@ def upload_and_manage(file, target_language, process_mode):
1180
  elapsed_time_display = f"Processing completed in {elapsed_time:.2f} seconds."
1181
  logger.info(f"Processing completed in {elapsed_time:.2f} seconds.")
1182
 
1183
- return editable_table, output_video_path, elapsed_time_display
1184
 
1185
  except Exception as e:
1186
  logger.error(f"An error occurred: {str(e)}")
@@ -1214,6 +1221,7 @@ def build_interface():
1214
  save_changes_button = gr.Button("Save Changes")
1215
  processed_video_output = gr.File(label="Download Processed Video", interactive=True) # Download button
1216
  elapsed_time_display = gr.Textbox(label="Elapsed Time", lines=1, interactive=False)
 
1217
 
1218
  with gr.Column(scale=1):
1219
  gr.Markdown("**Feedback**")
@@ -1242,7 +1250,7 @@ def build_interface():
1242
  submit_button.click(
1243
  upload_and_manage,
1244
  inputs=[file_input, language_input, process_mode],
1245
- outputs=[editable_table, processed_video_output, elapsed_time_display]
1246
  )
1247
 
1248
  # Connect submit button to save_feedback_db function
 
1147
  audio_path = "audio.wav"
1148
  output_video_path = "output_video.mp4"
1149
  voiceover_path = "voiceover.wav"
1150
+ translated_json_filepath = "translated_output.json"
1151
+
1152
  logger.info(f"Using audio path: {audio_path}, output video path: {output_video_path}, voiceover path: {voiceover_path}")
1153
 
1154
  # Step 1: Transcribe audio from uploaded media file and get timestamps
 
1164
 
1165
 
1166
  translated_json = apply_adaptive_speed(translated_json_raw, source_language, target_language, process_mode)
1167
+
1168
+ # New: Save the translated JSON to a file
1169
+ with open(translated_json_filepath, "w", encoding="utf-8") as f:
1170
+ json.dump(translated_json, f, ensure_ascii=False, indent=4)
1171
+ logger.info(f"Translated JSON saved to {translated_json_filepath}")
1172
 
1173
  # Step 3: Add transcript to video based on timestamps
1174
  logger.info("Adding translated transcript to video...")
 
1187
  elapsed_time_display = f"Processing completed in {elapsed_time:.2f} seconds."
1188
  logger.info(f"Processing completed in {elapsed_time:.2f} seconds.")
1189
 
1190
+ return editable_table, output_video_path, translated_json_filepath, elapsed_time_display
1191
 
1192
  except Exception as e:
1193
  logger.error(f"An error occurred: {str(e)}")
 
1221
  save_changes_button = gr.Button("Save Changes")
1222
  processed_video_output = gr.File(label="Download Processed Video", interactive=True) # Download button
1223
  elapsed_time_display = gr.Textbox(label="Elapsed Time", lines=1, interactive=False)
1224
+ translated_json_download = gr.File(label="Download Translated JSON", interactive=True) # New: JSON download
1225
 
1226
  with gr.Column(scale=1):
1227
  gr.Markdown("**Feedback**")
 
1250
  submit_button.click(
1251
  upload_and_manage,
1252
  inputs=[file_input, language_input, process_mode],
1253
+ outputs=[editable_table, processed_video_output, translated_json_download, elapsed_time_display]
1254
  )
1255
 
1256
  # Connect submit button to save_feedback_db function