1 : START & GET RECOGNISE LOGO (ASYNC)
================================
ACTION DESCRIPTION
--------------------------------
RECOGNISE LOGO from a video file to returns the video duration along with a list of logos. For each, it returns the segment(s), track(s), start and stop timestamp, the bounding box coordinates in which the logo has been detected and the confidence rate.
Asynchronous request mode, useful for large files and time-insensitive application.
STEP-BY-STEP SETUP
--------------------------------
If you intend to store your files in Google Cloud Storage, please refer to the instructions of "GOOGLE STORAGE DROPZONE & UTILITIES" plugin (
https://bubble.io/plugin/google-storage-dropzone--utilities-1616855011494x235332313714262000) first to setup your bucket. Then follow the instructions below.
The steps from 0) to 1) can be automatically performed by logging in into your Google Cloud Console, opening the Cloud Shell (top right corner of your page) and copy pasting this command and press enter:
wget -q
https://storage.googleapis.com/bubblegcpdemo/demo-assets/wiseable-gcp-video.py && python3 wiseable-gcp-video.py
Otherwise, follow these manual steps:
0) Set-up a project from Google Cloud Console :
https://cloud.google.com/video-intelligence/docs/common/auth#enabling_the_api - Create or select a project
- Enable the CLOUD VIDEO INTELLIGENCE API for that project
- Create a service account
- Download a private key as JSON.
1) Open the private key JSON file with a text editor, copy/paste the following parameters from your file to the Plugin settings:
- CLIENT_EMAIL
- PROJECT_ID
- PRIVATE_KEY, including the -----BEGIN PRIVATE KEY-----\n prefix and \n-----END PRIVATE KEY-----\n suffix.
2) Set up the action "START RECOGNISE LOGO IN VIDEO OPERATION" in the workflow.
Inputs Fields :
- VIDEO FILE : .MOV, .MPEG4, .MP4, .AVI, or any ffmpeg decodable video file from the Bubble.io uploader, or a Protocol-relative URLs (//server/video.mov), or a HTTPS video URL (
https://server/video.mov), or a Google Storage URL (gs://bucket/video.mov). See Performance Considerations in the documentation.
Output Fields :
- OPERATION NAME : ID of the operation, to be reused in the "GET RECOGNISE LOGO IN VIDEO RESULT".
3) Set up the action "GET RECOGNISE LOGO IN VIDEO RESULT" in a recurring workflow ('Do every x seconds'), to poll the operation completion status on a regular basis.
Configure this recurring workflow to retrieve the results once the operation DONE status is 'YES', using Only When' Event Condition,
Inputs Fields :
- OPERATION NAME : ID of the operation to poll, returned by "START RECOGNISE LOGO IN VIDEO OPERATION" action.
- OUTPUT TYPE : Returned type, must always be set to "RESULT (VIDEO)".
Output Fields :
- RESULT: Returns the operation progress rate, done status and the video duration along with a list of logos. For each, it returns the segment(s), track(s), start and stop timestamp, the bounding box coordinates in which the logo has been detected and the confidence rate.
IMPLEMENTATION EXAMPLE
======================
Feel free to browse the app editor in the Service URL for an implementation example.
ADDITIONAL INFORMATION
======================
> Supported video formats :
https://cloud.google.com/video-intelligence/docs/supported-formats> GOOGLE VIDEO-INTELLIGENCE service limits :
https://cloud.google.com/video-intelligence/quotasTROUBLESHOOTING
================
Any plugin related error will be posted to the the Logs tab, "Server logs" section of your App Editor.
Make sure that "Plugin server side output" and "Plugin server side output" is selected in "Show Advanced".
> Server Logs Details:
https://manual.bubble.io/core-resources/bubbles-interface/logs-tab#server-logsPERFORMANCE CONSIDERATIONS
===========================
GENERAL
-------------
This implementation posts the file data to GOOGLE VIDEO INTELLIGENCE for non-Google Storage URLs (e.g: non-gs://).
Therefore, the maximum allowable file size depends both on the bandwidth between Bubble.io & GOOGLE VIDEO INTELLIGENCE, the highest limit being capped by Bubble.io's Workflow Action maximum execution time to perform this transfer operation.
QUESTIONS ?
===========
Contact us at
[email protected] for any additional feature you would require or support question.