如何使用 google 语音 api 翻译直播?
How to translate live streaming using google speech api?
这是 Google 演讲 API 文档:https://cloud.google.com/speech/docs/sync-recognize
这个API我试了2周了,还是没能解决我的主要目的(翻译直播)。
我正在使用 PHP。 (其他语言建议也可以,我自己找)
What I can do in my 2 weeks:
同步语音识别(<=1分钟)
异步语音识别(>1 分钟且 <=80 分钟)。 注意:我可以修改这个以接受3小时的视频。
麦克风实时语音识别:https://www.google.com/intl/en/chrome/demos/speech.html
更新:执行流式传输API,音频持续时间少于 6 秒。
What can't I do is:
如何翻译直播。例如:广播流媒体(允许延迟)
video/audio 播放时如何翻译。 (允许延迟)
更新:
我也在googlegithub上问过这个问题。但由于没有答案,我问 here.
总结:
我可以执行语音流,但只能使用 6 秒的音频。这不像我预期的那样。我的期望是承认无限时长(似乎我们不知道无线电流何时结束)。
感谢您的帮助。非常感谢
更新:
同意我不能使用超过 6 秒的视频。所以我这样写:
我尝试使用此 ffmpeg -i interview.mp4 -c:a flac -ar 16000 -ac 1 -sample_fmt s16 interview.flac
视频 interview.mp4 and convert it with ffmpeg to interview.flac。
我用这个 library 使用这个命令转录视频:
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 call. You can find an example of doing that in PHP here。
这是 Google 演讲 API 文档:https://cloud.google.com/speech/docs/sync-recognize
这个API我试了2周了,还是没能解决我的主要目的(翻译直播)。
我正在使用 PHP。 (其他语言建议也可以,我自己找)
What I can do in my 2 weeks:
同步语音识别(<=1分钟)
异步语音识别(>1 分钟且 <=80 分钟)。 注意:我可以修改这个以接受3小时的视频。
麦克风实时语音识别:https://www.google.com/intl/en/chrome/demos/speech.html
更新:执行流式传输API,音频持续时间少于 6 秒。
What can't I do is:
如何翻译直播。例如:广播流媒体(允许延迟)
video/audio 播放时如何翻译。 (允许延迟)
更新:
我也在googlegithub上问过这个问题。但由于没有答案,我问 here.
总结:
我可以执行语音流,但只能使用 6 秒的音频。这不像我预期的那样。我的期望是承认无限时长(似乎我们不知道无线电流何时结束)。
感谢您的帮助。非常感谢
更新:
同意我不能使用超过 6 秒的视频。所以我这样写:
我尝试使用此 ffmpeg -i interview.mp4 -c:a flac -ar 16000 -ac 1 -sample_fmt s16 interview.flac
视频 interview.mp4 and convert it with ffmpeg to interview.flac。
我用这个 library 使用这个命令转录视频:
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 call. You can find an example of doing that in PHP here。