将 Google STT 从 Cloud Functions 移动到专用 GAE
Moving Google STT from Cloud Functions to dedicated GAE
我正在使用 Cloud Functions 从存储桶中的 getUserMedia() 转换 audio/mp4
使用 ffmpeg
audio/x-flac
格式以便能够使用 Google STT
转录它
bucket
.file(file.name)
.download({ destination })
.then(() =>
ffmpeg(destination)
.setFfmpegPath(ffmpeg_static.path)
.audioChannels(1)
.audioFrequency(16000)
.format('flac')
.on('error', console.log)
.on('end', () =>
bucket
.upload(targetTempFilePath, { destination: targetStorageFilePath })
.then(() => {
fs.unlinkSync(destination);
fs.unlinkSync(targetTempFilePath);
});
)
.save(targetTempFilePath);
)
);
工作流程:客户端 MP4 => 存储桶触发器 => STT => Firestore
它工作得很好,我得到了干净的 FLAC 文件,STT 在这个组合中完美地工作!
但仅当
每个输入文件不超过 1-2 Mb(通常我一次输入一系列 5-10 个文件)。
我知道 10 Mb 的限制,现在我想让 Cloud Functions 仅处理图像处理并将所有音频内容移动到某个专用的 GAE 或 GCE 实例。
哪个更好用:在本例中为 GAE 或 GCP,dockerized 或 native,Python 或 Node 等
将文件放在存储上后,如何在 GCP 实例上触发工作流?
任何想法或想法都将受到热烈欢迎!
我建议您使用 Cloud Function 作为 Cloud Storage 触发器。
通过这种方式,您将能够获取您特定存储桶中上传的文件的名称。
您可以检查 this documentation 关于 Google 云存储触发器,以查看一些示例。
如果您使用Python,您可以使用以下方式查看文件名:
print('File: {}'.format(data['name']))
获得文件名后,您可以向 GAE 请求转换音频。
我还发现 解释了如何调用 Google App Engine 中托管的 URL,我认为它可能对您有用。
希望对您有所帮助!
我正在使用 Cloud Functions 从存储桶中的 getUserMedia() 转换 audio/mp4
使用 ffmpeg
audio/x-flac
格式以便能够使用 Google STT
bucket
.file(file.name)
.download({ destination })
.then(() =>
ffmpeg(destination)
.setFfmpegPath(ffmpeg_static.path)
.audioChannels(1)
.audioFrequency(16000)
.format('flac')
.on('error', console.log)
.on('end', () =>
bucket
.upload(targetTempFilePath, { destination: targetStorageFilePath })
.then(() => {
fs.unlinkSync(destination);
fs.unlinkSync(targetTempFilePath);
});
)
.save(targetTempFilePath);
)
);
工作流程:客户端 MP4 => 存储桶触发器 => STT => Firestore
它工作得很好,我得到了干净的 FLAC 文件,STT 在这个组合中完美地工作!
但仅当
每个输入文件不超过 1-2 Mb(通常我一次输入一系列 5-10 个文件)。
我知道 10 Mb 的限制,现在我想让 Cloud Functions 仅处理图像处理并将所有音频内容移动到某个专用的 GAE 或 GCE 实例。
哪个更好用:在本例中为 GAE 或 GCP,dockerized 或 native,Python 或 Node 等
将文件放在存储上后,如何在 GCP 实例上触发工作流?
任何想法或想法都将受到热烈欢迎!
我建议您使用 Cloud Function 作为 Cloud Storage 触发器。 通过这种方式,您将能够获取您特定存储桶中上传的文件的名称。 您可以检查 this documentation 关于 Google 云存储触发器,以查看一些示例。
如果您使用Python,您可以使用以下方式查看文件名:
print('File: {}'.format(data['name']))
获得文件名后,您可以向 GAE 请求转换音频。
我还发现
希望对您有所帮助!