def extract_audio_to_file()

in augly/video/helpers/ffmpeg.py [0:0]


def extract_audio_to_file(video_path: str, output_audio_path: str) -> None:
    audio_info = get_audio_info(video_path)
    sample_rate = str(audio_info["sample_rate"])
    codec = audio_info["codec_name"]

    if os.path.splitext(output_audio_path)[-1] == ".aac":
        (
            ffmpeg.input(video_path, loglevel="quiet")
            .output(output_audio_path, acodec=codec, ac=1)
            .overwrite_output()
            .run(cmd=FFMPEG_PATH)
        )
    else:
        out, err = (
            ffmpeg.input(video_path, loglevel="quiet")
            .output("-", format="f32le", acodec="pcm_f32le", ac=1, ar=sample_rate)
            .run(cmd=FFMPEG_PATH, capture_stdout=True, capture_stderr=True)
        )
        audio = np.frombuffer(out, np.float32)
        audutils.ret_and_save_audio(audio, output_audio_path, int(sample_rate))