谷歌云语音将视频转换为文本(文字),再使用Rails应用程序转换为文本

时间:2018-08-23 10:56:18

标签: ruby google-cloud-platform ruby-on-rails-5 speech-to-text google-speech-api

在WebAppon Ruby on Rails上工作。 我想获得预录制视频的字幕,以及要录制的新视频的字幕。

我已经实现了gem 'google-cloud-speech'

但是现在我无法获取视频文字。我从Google Cloud API文档中获得了添加模型的建议,但是当我向配置中添加model: 'video'时,它表示初始化映射条目中没有这样的字段model

我的未添加模型的代码如下。

speech_client = Google::Cloud::Speech.new
config ={ encoding: :LINEAR16,
          sample_rate_hertz: 16000,
          language_code: "en-US",
        }
audio = { uri: @uri }
response = speech.recognize config, audio

这会给我以下错误消息。

Google::Gax::RetryError: GaxError Exception occurred in retry method that was not classified as transient, caused by 3:Request contains an invalid argument. from /Users/hiren/.rvm/gems/ruby-2.5.1@Snip/gems/google-gax-1.3.0/lib/google/gax/api_callable.rb:369:in `rescue in block in retryable'

感谢您的帮助。

谢谢

1 个答案:

答案 0 :(得分:2)

关于模型问题,这可能是由于video model尚不适用于Ruby V1 API版本,因为此功能是v1p1beta1版本的一部分。

关于您的代码问题,我刚刚成功完成了here所示的示例。如果您附加完整的代码,则将很有帮助,因为记录的代码效果很好。