【问题标题】:FFMPEG using Google Drive API instead of Shared URLFFMPEG 使用 Google Drive API 而不是共享 URL
【发布时间】:2020-11-25 13:33:59
【问题描述】:

我们正在使用 FFMPEG 将 Google Drive URL 流式传输到节点应用程序中。

是否有我们可以使用Google Drive API 而不是使用标准公共共享 URL 来流式传输到 FFMPEG 的 FFMPEG 方法或库?

目前,如果文件大小为

https://drive.google.com/uc?export=download&id=fileId: Invalid data found when processing input

这是因为我们到达了讨厌的 gDrive 病毒屏蔽页面:

【问题讨论】:

    标签: ffmpeg google-drive-api


    【解决方案1】:

    根据您的问题,我了解到您的文件是公开共享的。这种情况下,当文件变大时,需要对https://drive.google.com/uc?export=download&id=fileId的端点进行2步处理。 Ref这在你的问题中也已经提到了。

    在这个答案中,为了避免这种情况,我想建议在Drive API和API密钥中使用“文件:获取”的方法。当Drive API和API key用于公开共享文件时,不需要2步流程,只需更改URL即可使用。

    端点:

    https://www.googleapis.com/drive/v3/files/{fileId}?alt=media&key={your API key}
    
    • 例如,作为测试,当你使用 curl 命令时,你可以使用curl "https://www.googleapis.com/drive/v3/files/{fileId}?alt=media&key={your API key}"

    参考资料:

    【讨论】:

    • 很好,谢谢。如果我们使用此方法,我们是否需要为使用此 API 密钥下载的文件的数据传输付费?我希望不是因为该文件是从个人云端硬盘公开共享的,而不是从我们自己的 Google 存储中下载的?最好澄清一下。
    • @Marcus 感谢您的回复。 Drive API 可以免费使用。当超出使用限制时,会发生错误。 Ref 我认为这些线程可能有用。 stackoverflow.com/q/14156781stackoverflow.com/q/10311969
    • 显然这种方法会在某个时候被弃用? cloud.google.com/blog/products/application-development/… 你能用同样的 HTTP 版本附加你的答案吗?
    • @Marcus 在您的 URL 中,access_token 的查询将被弃用。在您的情况下,API 密钥用于公共内容。在这种情况下,API 密钥可以继续使用。 stackoverflow.com/a/46415475
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    相关资源
    最近更新 更多