Я пытаюсь создать пример, в котором мне нужно извлечь кадры из видео, выполнить некоторую обработку извлеченных кадров и сохранить обработанные кадры обратно в hdfs. Видеофайл хранится в формате hdf в формате .avi .
Я использую pyspark, фрагмент кода приведен ниже:
# file path in hdfs
video_file = "hdfs://xx.xxx.xxx.1:9000/SampleVideo/test.avi"
# setting spark configuration
conf = SparkConf().setMaster("spark://xx.xxx.xxx.2:7077").setAppName("Sample App").set("spark.executor.memory", "3g").set("spark.cores.max", "4")
# initializing spark context object
sc = SparkContext(conf=conf)
# loading the video file as a binary file into RDD
video_f = sc.binaryFiles(video_file).cache()
Итак, если я сделаю print (video_f.values.collect ()) , я смогу увидеть байтовый массив. Но я не могу выполнять какие-либо операции с этими двоичными данными видео (RDD). Я пробовал с OpenCV, но, похоже, pyspark и opencv не поддерживают.
Как я могу выполнять какие-либо операции с видеофайлами, хранящимися в hdfs (с помощью pyspark или другим способом)
Примечание: Я не хочу загружать файл на локальный компьютер.
Я посетил ссылку:
https://forums.databricks.com/questions/612/can-i-process-image-or-video-files-with-spark.html
Но полная информация там не приводится.