#python #speech-to-text #google-speech-api
#python #преобразование речи в текст #google-speech-api
Вопрос:
Я пытаюсь извлечь текст из видео (mp4) файла, сохраненного в AWS S3, с помощью Python. Я могу заставить его работать, используя аудиофайл, но не с MP4. Возможно ли использовать MP4 напрямую или я должен извлекать аудио с помощью ffmpeg или чего-то подобного.
Я имею в виду следующую ссылку: Транскрибирование видео в Google
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))
Ответ №1:
Ссылка (расшифровка видео Google), которой вы поделились в вопросе, гласит, что
Извлечение аудиоданных
Вы можете использовать любое средство преобразования файлов, которое обрабатывает аудио- и видеофайлы, например FFmpeg.
Используйте приведенный ниже фрагмент кода для преобразования видеофайла в аудиофайл с помощью ffmpeg.
ffmpeg -i video-input-file audio-output-file
Таким образом, определенно, что вы не можете напрямую поместить mp4 файл, по крайней мере, в Google api
Кроме того, поскольку сама ссылка предполагает, что вы должны обрабатывать аудио синхронно с видео (если вы хотите отобразить аудио в виде субтитров / титров).
Если вы хотите узнать больше о том, как синхронно обрабатывать эти вещи. это был бы совершенно другой вопрос, в котором, вероятно, было бы много подвопросов.