Google Speech To Text API: Извлечение аудио из mp4 - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь извлечь текст из видео (mp4) файла, сохраненного в AWS S3, используя Python.Я могу заставить его работать, используя аудиофайл, но не с MP4.Можно ли использовать MP4 напрямую или мне нужно извлечь аудио с помощью ffmpeg или чего-то подобного.

Я имею в виду следующую ссылку: 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))

1 Ответ

2 голосов
/ 03 апреля 2019

Ссылка ( Google Video Transcribing ), которой вы поделились в вопросе, говорит, что

Извлечение аудиоданных
Вы можете использоватьлюбой инструмент преобразования файлов, который обрабатывает аудио- и видеофайлы, например FFmpeg.
Используйте приведенный ниже фрагмент кода, чтобы преобразовать видеофайл в аудиофайл с помощью ffmpeg.

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

Так что совершенно очевидно, что вы не можете напрямую поместить mp4 filein как минимум API Google

Также каксама ссылка предполагает, что вам нужно обрабатывать аудио синхронно с видео (если вы хотите отображать аудио в виде субтитров / подписей).

Если вы хотите узнать больше о том, как синхронно обрабатывать эти вещи.это был бы совершенно другой вопрос, возможно, со многими подвопросами.

...