FFMPEG przy użyciu Google Drive API zamiast Shared URL

Nov 25 2020

Używamy FFMPEG do przesyłania strumieniowego adresu URL z Dysku Google do aplikacji węzła.

Czy istnieje metoda lub biblioteka FFMPEG, której możemy użyć do przesyłania strumieniowego do FFMPEG za pomocą interfejsu API Dysku Google zamiast standardowego publicznego udostępnionego adresu URL?

W tej chwili użycie adresu URL działa dobrze, jeśli rozmiar pliku wynosi <100mb, ale przy większych plikach pojawia się błąd:

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

Dzieje się tak, ponieważ dotarliśmy do nieznośnej strony blokującej reklamy na wyłączność w gDrive:

Odpowiedzi

2 Tanaike Nov 25 2020 at 22:03

Z Twojego pytania wynika, że ​​Twój plik jest udostępniony publicznie. W takim przypadku, gdy rozmiar pliku staje się duży, punkt końcowy programu https://drive.google.com/uc?export=download&id=fileIdmusi zostać przetworzony w 2 krokach. Ref. Zostało to już wspomniane w Twoim pytaniu.

W tej odpowiedzi, aby tego uniknąć, chciałbym zaproponować użycie metody „Files: get” w Drive API i klucza API. Gdy interfejs Drive API i klucz API są używane dla publicznie udostępnionego pliku, nie jest wymagany dwuetapowy przepływ i można go użyć, zmieniając tylko adres URL.

Punkt końcowy:

https://www.googleapis.com/drive/v3/files/{fileId}?alt=media&key={your API key}
  • Na przykład, jako test, kiedy używasz polecenia curl, możesz użyć curl "https://www.googleapis.com/drive/v3/files/{fileId}?alt=media&key={your API key}".

Bibliografia:

  • Pobierz plik zapisany na Dysku Google
  • Pliki: pobierz
  • Korzystanie z kluczy API