Jul-26-2019, 05:31 AM
Using Python 3.7.4 ,I am providing the filepath of a videofile to the Googlecloud Python VideoIntelligence api for further processing.But it still complains that the path is not specified.Pylinter gives an "Anomalous backslash in string error".I have tried using
ERROR
CODE
r' \d "filepath"'
but the error still persists.Please let me know , how to resolve this issue.ERROR
Error:PS D:\Script\GCloud> d:\Script\GCloud\VideoLabels.py
usage: VideoLabels.py [-h] path
VideoLabels.py: error: the following arguments are required: path
PYLINTAnomalous backslash in string: '\\S'. String constant might be missing an r prefix.
CODE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import argparse from google.cloud import videointelligence path = "D:\Script\GCloud\sampleVidR1.mp4" #<--path not recognised def analyze_labels(path): """ Detects labels given a GCS path. """ video_client = videointelligence.VideoIntelligenceServiceClient() features = [videointelligence.enums.Feature.LABEL_DETECTION] operation = video_client.annotate_video(path, features = features) print ( '\nProcessing video for label annotations:' ) result = operation.result(timeout = 90 ) print ( '\nFinished processing.' ) segment_labels = result.annotation_results[ 0 ].segment_label_annotations for i, segment_label in enumerate (segment_labels): print ( 'Video label description: {}' . format ( segment_label.entity.description)) for category_entity in segment_label.category_entities: print ( '\tLabel category description: {}' . format ( category_entity.description)) for i, segment in enumerate (segment_label.segments): start_time = (segment.segment.start_time_offset.seconds + segment.segment.start_time_offset.nanos / 1e9 ) end_time = (segment.segment.end_time_offset.seconds + segment.segment.end_time_offset.nanos / 1e9 ) positions = '{}s to {}s' . format (start_time, end_time) confidence = segment.confidence print ( '\tSegment {}: {}' . format (i, positions)) print ( '\tConfidence: {}' . format (confidence)) print ( '\n' ) if __name__ = = '__main__' : parser = argparse.ArgumentParser( description = __doc__, formatter_class = argparse.RawDescriptionHelpFormatter) parser.add_argument( 'path' , help = 'GCS file path for label detection.' ) args = parser.parse_args() analyze_labels(args.path) |