ffmpeg - FFMPEG 使用 Google Drive API 而不是共享 URL
问题描述
我们正在使用 FFMPEG 将 Google Drive URL 流式传输到节点应用程序中。
是否有一个 FFMPEG 方法或库,我们可以使用Google Drive API而不是使用标准的公共共享 URL 流式传输到 FFMPEG?
目前,如果文件大小 <100mb,则使用 URL 可以正常工作,但对于更大的文件,我们会收到错误:
https://drive.google.com/uc?export=download&id=fileId: Invalid data found when processing input
解决方案
根据您的问题,我了解到您的文件是公开共享的。在这种情况下,当文件变大时,https://drive.google.com/uc?export=download&id=fileId
需要对端点进行 2 步处理。参考您的问题中也已经提到了这一点。
在这个答案中,为了避免这种情况,我想建议在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}"
.
参考:
推荐阅读
- javascript - 指定的值“NaN”无法解析,或超出范围
- sqlite - 有没有办法通过 WSL2 以可视方式 (GUI) 探索 SQLite DB?
- c++ - 销毁删除是否仍需要可访问析构函数?
- ruby - Ruby grep 标签内的所有行
- php - 获取带有错误证书的网页
- c++ - 带有 uint8_t 的 reinterpret_cast 是否违反了严格的别名规则?
- javascript - 无法将元素 ID 传递给 Ajax 服务器调用
- c# - 在 C# 中处理文件资源管理器如何更改为“所有文件”选项
- mysql - SQL 错误 1064:您的 SQL 语法有错误
- excel - 连续序列号生成(包括重复值)