INNER CODE UNIT · Python
merge_audio_with_video
roboflow/awesome-openai-vision-api-experiments · experiments/gpt4v-narration/app.py:74
def merge_audio_with_video(audio, video_path, output_path):
with tempfile.NamedTemporaryFile(suffix='.mp3', delete=False) as audio_file:
audio_file.write(audio)
audio_filename = audio_file.name
ffmpeg_command = [
'ffmpeg', '-y', '-i', video_path, '-i', audio_filename,
'-c:v', 'copy', '-c:a', 'aac', '-strict', 'experimental', output_path
]
subprocess.run(ffmpeg_command)
# Main Process
frames = read_video_frames(VIDEO_FILE_PATH)
script = generate_script(frames)
short_script = shorten_script(script)
audio = generate_audio(short_script)
merge_audio_with_video(audio, VIDEO_FILE_PATH, OUTPUT_FILE_PATH)