繁体   English   中英

如何使用谷歌语音 api 翻译直播流?

[英]How to translate live streaming using google speech api?

这是 Google Speech API 文档: https : //cloud.google.com/speech/docs/sync-recognize

这个API我试用了2个星期,还是解决不了我的主要目的(翻译直播)。

我正在使用 PHP。 (允许其他语言建议,我会自己找)

我在两周内可以做的事情:

  1. 同步语音识别 (<=1 分钟)

  2. 异步语音识别(>1 分钟和 <=80 分钟)。 注意:我可以修改它以接受 3 小时的视频。

  3. 来自麦克风的实时语音识别: https : //www.google.com/intl/en/chrome/demos/speech.html

  4. 更新:执行音频少于 6 秒的流媒体 API。

我不能做的是:

  1. 如何翻译直播。 例如:广播流(允许延迟)

  2. 视频/音频播放时如何翻译。 (允许延迟)

更新:

我也在 google github 上问过这个问题。 但由于没有答案,我在这里问。

总结:

我可以执行语音流,但只能使用 6 秒音频。 这不是我所期望的。 我的期望是识别无限持续时间(似乎我们不知道广播流何时结束)。

感谢您的帮助。 我非常感谢

更新:

批准我不能使用超过 6 秒的视频。 所以我写这个:

我试试这个视频interview.mp4与ffmpeg的将其转换为interview.flac使用此ffmpeg -i interview.mp4 -c:a flac -ar 16000 -ac 1 -sample_fmt s16 interview.flac

我使用此使用以下命令转录视频:

php speech.php transcribe --encoding FLAC --language-code en-US --sample-rate 16000 --stream interview.flac

结果是:

  [Google\GAX\ApiException]
  Invalid 'audio_content': too long.

不能太长,因为视频时长只有 48 秒。 这是来自 ffmpeg 结果的元数据:

Output #0, flac, to 'interview.flac':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.72.101
    Stream #0:0(und): Audio: flac, 16000 Hz, mono, s16, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc57.92.100 flac
size=     810kB time=00:00:48.01 bitrate= 138.1kbits/s speed= 108x
video:0kB audio:801kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.019650%

您需要使用StreamingRecognize API 调用 您可以在此处找到在 PHP 中执行此操作的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM