I'm in a kind of google cloud video-intelligence mess. I'm using c# and the google.cloud.videointelligence.v1 (2.0.0) api to request the annotation of a video (feature TEXT_DETECTION), so this client:
client = Google.Cloud.VideoIntelligence.V1.VideoIntelligenceServiceClient.Create()
Operation starts, I can see it in the logs, everything is fine, so I wait the end with:
client.PollUntilCompleted()
or the Async version. Problem is I am greeted with the infamous ResourceExhausted exception, which is sort of ok, the result is quite a big one... So how do I tell video-intelligence to not return it and only receive the finished event? I thought of maybe using this field here:
var annotationRequest = new global::Google.Cloud.VideoIntelligence.V1.AnnotateVideoRequest();
annotationRequest.OutputUri = annotationRequest.InputUri + ".json";
which does what he's asked to do, write the result in the file, but still what's on the other end tries to send the it to the client and PollUntilCompleted crashes (to repeat myself, operation in video-intelligence ends successfully). So what do I have to do, just accept that the client is going to try return the result object and crash?
PS I believe I can download the result in OutputUri with the storage client. Tried once, got to 40 MB of 180, went very slow, but maybe it was a problem of my network or my pc.
Problem n.2
In the meantime I tried gcloud to understand what was going on, so (hope I remember the cmdline right):
gcloud ml video operations wait a/b/c/d....
but the cli just seems to eat all the memory it can and never return: in half an hour it got 14.75 GB of ram and some other gigs of virtual memory I believe, so I terminated the python process. I don't even know how to delete an operation if I have to, I can't access it from anywhere.
Did I use these stuff in the wrong manner? Are those known bugs?
asked question on cloud-videointel-discuss
closed because it's "obsolete"