FFMPEG usando API do Google Drive em vez de URL compartilhado

Nov 25 2020

Estamos usando FFMPEG para transmitir um URL do Google Drive em um aplicativo de nó.

Existe um método ou biblioteca FFMPEG que podemos usar para transmitir para FFMPEG usando a API do Google Drive em vez de usar o URL público compartilhado padrão?

No momento, usar o URL funciona bem se o tamanho do arquivo for <100 MB, mas com arquivos maiores, obtemos um erro:

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

Isso ocorre porque chegamos à página de roadblock do vírus gDrive:

Respostas

2 Tanaike Nov 25 2020 at 22:03

Com sua pergunta, entendi que seu arquivo foi compartilhado publicamente. Neste caso, quando o tamanho do arquivo torna-se grande, o ponto de extremidade de https://drive.google.com/uc?export=download&id=fileIddeve ser processado em 2 etapas. Ref Isso também já foi mencionado em sua pergunta.

Nesta resposta, para evitar isso, gostaria de propor o uso do método "Files: get" na API do Drive e na chave API. Quando a API do Drive e a chave de API são usadas para o arquivo compartilhado publicamente, nenhum fluxo de duas etapas é necessário e pode ser usado alterando apenas o URL.

Ponto final:

https://www.googleapis.com/drive/v3/files/{fileId}?alt=media&key={your API key}
  • Por exemplo, como um teste, quando você usa o comando curl, você pode usar curl "https://www.googleapis.com/drive/v3/files/{fileId}?alt=media&key={your API key}".

Referências:

  • Baixe um arquivo armazenado no Google Drive
  • Arquivos: get
  • Usando chaves de API