Update app.py
Browse files
app.py
CHANGED
@@ -62,8 +62,18 @@ def extract_audio(video_path, audio_path):
|
|
62 |
ffmpeg.input(video_path).output(audio_path, ac=1, ar="16000").run(overwrite_output=True)
|
63 |
|
64 |
def replace_audio_in_video(video_path, audio_path, output_path):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
video = ffmpeg.input(video_path)
|
66 |
-
audio = ffmpeg.input(
|
67 |
ffmpeg.output(video.video, audio.audio, output_path, vcodec="copy", acodec="aac").run(overwrite_output=True)
|
68 |
|
69 |
# Função principal para Gradio
|
|
|
62 |
ffmpeg.input(video_path).output(audio_path, ac=1, ar="16000").run(overwrite_output=True)
|
63 |
|
64 |
def replace_audio_in_video(video_path, audio_path, output_path):
|
65 |
+
# Extrair a taxa de amostragem do áudio original
|
66 |
+
probe = ffmpeg.probe(video_path)
|
67 |
+
audio_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'audio'), None)
|
68 |
+
original_sample_rate = int(audio_stream['sample_rate'])
|
69 |
+
|
70 |
+
# Converter o áudio sintetizado para a taxa de amostragem do vídeo original
|
71 |
+
converted_audio_path = os.path.join(UPLOAD_FOLDER, "converted_audio.wav")
|
72 |
+
ffmpeg.input(audio_path).output(converted_audio_path, ar=original_sample_rate).run(overwrite_output=True)
|
73 |
+
|
74 |
+
# Substituir o áudio no vídeo
|
75 |
video = ffmpeg.input(video_path)
|
76 |
+
audio = ffmpeg.input(converted_audio_path)
|
77 |
ffmpeg.output(video.video, audio.audio, output_path, vcodec="copy", acodec="aac").run(overwrite_output=True)
|
78 |
|
79 |
# Função principal para Gradio
|