Google 语音转文本 API:从 mp4 中提取音频

Google Speech To Text API: Extracting audio from mp4

我正在尝试使用 Python 从保存在 AWS S3 中的视频 (mp4) 文件中提取文本。我可以使用音频文件使其工作,但不能使用 MP4。是否可以直接使用 MP4 或我应该使用 ffmpeg 或类似的东西提取音频。

我指的是以下link:Google Video Transcribing

def transcribe_model_selection(speech_file, model):
"""Transcribe the given audio file synchronously with
the selected model."""
from google.cloud import speech
client = speech.SpeechClient()

with open(speech_file, 'rb') as audio_file:
    content = audio_file.read()

audio = speech.types.RecognitionAudio(content=content)

config = speech.types.RecognitionConfig(
    encoding=speech.enums.RecognitionConfig.AudioEncoding.LINEAR16,
    sample_rate_hertz=16000,
    language_code='en-US',
    model=model)

response = client.recognize(config, audio)

for i, result in enumerate(response.results):
    alternative = result.alternatives[0]
    print('-' * 20)
    print('First alternative of result {}'.format(i))
    print(u'Transcript: {}'.format(alternative.transcript))

您在问题中分享的 link (Google Video Transcribing) 说

Extract the audio data
You can use any file conversion tool that handles audio and video files, such as FFmpeg.
Use the code snippet below to convert a video file to an audio file using ffmpeg.

ffmpeg -i video-input-file audio-output-file

所以肯定不能直接把mp4文件放到atleast一个Googleapi

此外,由于 link 本身表明您必须与视频同步处理音频(如果您想将音频显示为 subtitles/captions)。

如果你想了解更多关于如何同步处理这些东西。那将是一个完全不同的问题,其中可能包含许多子问题。