Ejemplo n.º 1
0
	def activate(self):
		self.ta = Audio(ipServer=self.ip_server, portAudio = self.portAudio, file = self.act.data["audioFile"], mg = mg, idAct = self.act.id)
		self.tv1 = Video(ipServer=self.ip_server, port = self.port1, file = self.act.data["video1File"])
		self.tv2 = Video(ipServer=self.ip_server, port = self.port2, file = self.act.data["video2File"])
		self.tv3 = Video(ipServer=self.ip_server, port = self.port3, file = self.act.data["video3File"])
		self.tv4 = Video(ipServer=self.ip_server, port = self.port4, file = self.act.data["video4File"])
		print("activated")
Ejemplo n.º 2
0
    def __getitem__(self, index):
        data_id = self.ids[index]

        # Needed to find Video Directory
        user = self.id_to_user[data_id]

        vid_path = self._vidpath % (user, data_id)
        anno_path = self._annopath % str(data_id)

        print("loading video: %s" % vid_path)
        print("loading aligns: %s" % anno_path)

        # each frame is (288, 360, 3) by default
        video = Video(vid_path, anno_path, self.transform,
                      self.target_transform)

        #TODO: If we want Transforms for videos
        # Ideas are to mirror frames and randomly select video for data augmentation
        # Randomly selecting video would be easy, just randomize the ids list
        # For mirroring, we can
        # Set transforms in video and have to it in getItem!!
        '''
        if self.transform is not None:
            img = self.transform(img)

        if self.target_transform is not None:
            target = self.target_transform(target)
        '''

        return video
Ejemplo n.º 3
0
 def activate(self, audioFile, video1File, video2File, video3File,
              video4File, id_act, mg):
     self.ta = Audio(ipServer=self.ip_server,
                     portAudio=self.portAudio,
                     file=audioFile,
                     mg=mg,
                     idAct=id_act)
     self.tv1 = Video(ipServer=self.ip_server,
                      port=self.port1,
                      file=video1File)
     self.tv2 = Video(ipServer=self.ip_server,
                      port=self.port2,
                      file=video1File)
     self.tv3 = Video(ipServer=self.ip_server,
                      port=self.port3,
                      file=video1File)
     self.tv4 = Video(ipServer=self.ip_server,
                      port=self.port4,
                      file=video1File)
     logging.debug("activated")
Ejemplo n.º 4
0
    def files_deduplication(self, path):
        """ Deduplication algorithm for video files"""
        def files_deletion(path, files):

            deep_path = path + "/" + files

            if os.path.isdir(deep_path):
                shutil.rmtree(deep_path)
            else:
                os.remove(deep_path)

        def deduplication_resolution(file_resolution_1, file_resolution_2,
                                     files_number):
            """ Local algorithm of deduplication for video resolution """

            if file_resolution_1 != None and file_resolution_2 != None:
                if file_resolution_1 == file_resolution_2:
                    files_deletion(path, files[i2])
                    self.count_duplicate += 1
                    files_number -= 1
                elif file_resolution_1 == "1080p" and file_resolution_2 == "720p":
                    files_deletion(path, files[i2])
                    self.count_duplicate += 1
                    files_number -= 1
                elif file_resolution_1 == "720p" and file_resolution_2 == "1080p":
                    files_deletion(path, files[i1])
                    self.count_duplicate += 1
                    files_number -= 1
                elif file_resolution_1 == "720p" and file_resolution_2 == "480p":
                    files_deletion(path, files[i2])
                    self.count_duplicate += 1
                    files_number -= 1
                elif file_resolution_1 == "480p" and file_resolution_2 == "720p":
                    files_deletion(path, files[i1])
                    self.count_duplicate += 1
                    files_number -= 1
                elif file_resolution_1 == "480p" and file_resolution_2 == "1080p":
                    files_deletion(path, files[i1])
                    self.count_duplicate += 1
                    files_number -= 1
                elif file_resolution_1 == "1080p" and file_resolution_2 == "480p":
                    files_deletion(path, files[i2])
                    self.count_duplicate += 1
                    files_number -= 1
            elif file_resolution_1 == "720p" and file_resolution_2 == None:
                files_deletion(path, files[i2])
                self.count_duplicate += 1
                files_number -= 1
            elif file_resolution_1 == "1080p" and file_resolution_2 == None:
                files_deletion(path, files[i2])
                self.count_duplicate += 1
                files_number -= 1
            elif file_resolution_1 == "480p" and file_resolution_2 == None:
                files_deletion(path, files[i2])
                self.count_duplicate += 1
                files_number -= 1
            elif file_resolution_1 == None and file_resolution_2 == "720p":
                files_deletion(path, files[i1])
                self.count_duplicate += 1
                files_number -= 1
            elif file_resolution_1 == None and file_resolution_2 == "1080p":
                files_deletion(path, files[i1])
                self.count_duplicate += 1
                files_number -= 1
            elif file_resolution_1 == None and file_resolution_2 == "480p":
                files_deletion(path, files[i1])
                self.count_duplicate += 1
                files_number -= 1
            elif file_resolution_1 == None and file_resolution_2 == None:
                files_deletion(path, files[i2])
                self.count_duplicate += 1
                files_number -= 1

        Files = ManageFiles()
        video = Video()

        files = Files.list_files(path)

        i1 = 0

        files_number = (len(files) - 1)

        while i1 < files_number:

            if video.check(path, files[i1]):

                serie_title_1 = video.extract_metadata(
                    files[i1])["type"]["serie"][1]["title"]
                serie_season_1 = video.extract_metadata(
                    files[i1])["type"]["serie"][2]["season"]
                serie_episode_1 = video.extract_metadata(
                    files[i1])["type"]["serie"][3]["episode"]
                serie_resolution_1 = video.extract_metadata(
                    files[i1])["type"]["serie"][5]["resolution"]

                film_title_1 = video.extract_metadata(
                    files[i1])["type"]["film"][1]["title"]
                film_resolution_1 = video.extract_metadata(
                    files[i1])["type"]["film"][3]["resolution"]

                if video.is_serie:

                    i2 = i1 + 1

                    while i2 <= files_number:

                        serie_title_2 = video.extract_metadata(
                            files[i2])["type"]["serie"][1]["title"]
                        serie_season_2 = video.extract_metadata(
                            files[i2])["type"]["serie"][2]["season"]
                        serie_episode_2 = video.extract_metadata(
                            files[i2])["type"]["serie"][3]["episode"]
                        serie_resolution_2 = video.extract_metadata(
                            files[i2])["type"]["serie"][5]["resolution"]

                        if serie_title_1 == serie_title_2:
                            if serie_season_1 == serie_season_2:
                                if serie_episode_1 == serie_episode_2:
                                    deduplication_resolution(
                                        serie_resolution_1, serie_resolution_2,
                                        files_number)

                        i2 += 1

                else:

                    i2 = i1 + 1

                    while i2 <= files_number:

                        film_title_2 = video.extract_metadata(
                            files[i2])["type"]["film"][1]["title"]
                        film_resolution_2 = video.extract_metadata(
                            files[i2])["type"]["film"][3]["resolution"]

                        if film_title_1 == film_title_2:
                            deduplication_resolution(film_resolution_1,
                                                     film_resolution_2,
                                                     files_number)

                        i2 += 1

            i1 += 1
Ejemplo n.º 5
0
    def files_sorting(self, path, path_dest=None):
        """ Algorithm to clean and sort video files """
        def moving_to(path,
                      specific_series_folder,
                      main_serie_folder,
                      files,
                      path_dest=None):

            if path_dest != None:
                if os.path.exists(path_dest + specific_series_folder):
                    if os.path.exists(path_dest + main_serie_folder +
                                      specific_series_folder):
                        if not data_files.list_files(path_dest +
                                                     specific_series_folder):
                            shutil.rmtree(path_dest + specific_series_folder)
                        else:
                            if os.path.exists(path + specific_series_folder):
                                if not data_files.list_files(
                                        path + specific_series_folder):
                                    shutil.rmtree(path +
                                                  specific_series_folder)
                                else:
                                    shutil.move(path + specific_series_folder,
                                                path_dest + main_serie_folder)
                                    shutil.move(
                                        path + files,
                                        path_dest + main_serie_folder +
                                        specific_series_folder)
                                    self.count_video_files += 1
                            else:
                                shutil.move(
                                    path + files, path_dest +
                                    main_serie_folder + specific_series_folder)
                                self.count_video_files += 1
                    else:
                        if not data_files.list_files(path_dest +
                                                     specific_series_folder):
                            shutil.rmtree(path_dest + specific_series_folder)
                        else:
                            shutil.move(path + files,
                                        path_dest + specific_series_folder)
                            shutil.move(path_dest + specific_series_folder,
                                        path_dest + main_serie_folder)
                            self.count_video_files += 1
                else:
                    if os.path.exists(path_dest + main_serie_folder +
                                      specific_series_folder):
                        if os.path.exists(path + specific_series_folder):
                            if not data_files.list_files(
                                    path + specific_series_folder):
                                shutil.rmtree(path + specific_series_folder)
                            else:
                                shutil.move(path + specific_series_folder,
                                            path_dest + main_serie_folder)
                                shutil.move(
                                    path + files, path_dest +
                                    main_serie_folder + specific_series_folder)
                                self.count_video_files += 1
                        else:
                            shutil.move(
                                path + files, path_dest + main_serie_folder +
                                specific_series_folder)
                            self.count_video_files += 1
                    else:
                        if os.path.exists(path + specific_series_folder):
                            if not data_files.list_files(
                                    path + specific_series_folder):
                                shutil.rmtree(path + specific_series_folder)
                            else:
                                shutil.move(path + specific_series_folder,
                                            path_dest + main_serie_folder)
                                shutil.move(
                                    path + files, path_dest +
                                    main_serie_folder + specific_series_folder)
                                self.count_video_files += 1
                        else:
                            os.mkdir(path_dest + main_serie_folder +
                                     specific_series_folder)
                            shutil.move(
                                path + files, path_dest + main_serie_folder +
                                specific_series_folder)
                            self.count_video_files += 1
            else:
                if os.path.exists(path + specific_series_folder):
                    if os.path.exists(path + main_serie_folder +
                                      specific_series_folder):
                        if not data_files.list_files(path +
                                                     specific_series_folder):
                            shutil.rmtree(path + specific_series_folder)
                        else:
                            shutil.move(path + specific_series_folder,
                                        path + main_serie_folder)
                            shutil.move(
                                path + files, path + main_serie_folder +
                                specific_series_folder)
                            self.count_video_files += 1
                    else:
                        if not data_files.list_files(path +
                                                     specific_series_folder):
                            shutil.rmtree(path + specific_series_folder)
                        else:
                            shutil.move(path + files,
                                        path + specific_series_folder)
                            shutil.move(
                                path + specific_series_folder, path +
                                main_serie_folder + specific_series_folder)
                            self.count_video_files += 1
                else:
                    if os.path.exists(path + main_serie_folder +
                                      specific_series_folder):
                        shutil.move(
                            path + files,
                            path + main_serie_folder + specific_series_folder)
                        self.count_video_files += 1
                    else:
                        os.mkdir(path + main_serie_folder +
                                 specific_series_folder)
                        shutil.move(
                            path + files,
                            path + main_serie_folder + specific_series_folder)
                        self.count_video_files += 1

        data_files = ManageFiles()
        video = Video()

        list_files_in_dir = data_files.list_files(path)

        for files in list_files_in_dir:

            data_files.split_files(files)

            if video.check(path, files):

                video.extract_metadata(files)

                if path_dest != None:

                    if video.is_video:

                        if video.is_serie:

                            specific_series_folder = "/" + video.title + "_season_" + str(
                                video.season)
                            main_serie_folder = "/Series"

                            if os.path.exists(path_dest + main_serie_folder):
                                moving_to(path, specific_series_folder,
                                          main_serie_folder, files, path_dest)
                            else:
                                os.mkdir(path_dest + main_serie_folder)
                                moving_to(path, specific_series_folder,
                                          main_serie_folder, files, path_dest)
                        else:
                            folder_title = "/Films"
                            divers_movies_folder = path_dest + folder_title

                            if os.path.exists(divers_movies_folder):
                                shutil.move(path + "/" + files,
                                            divers_movies_folder + "/" + files)
                                self.count_video_files += 1
                            else:
                                os.mkdir(divers_movies_folder)
                                shutil.move(path + "/" + files,
                                            divers_movies_folder + "/" + files)
                                self.count_video_files += 1
                else:

                    if video.is_video:

                        if video.is_serie:

                            specific_series_folder = "/" + video.title + "_season_" + str(
                                video.season)
                            main_serie_folder = "/Series"

                            if os.path.exists(path + main_serie_folder):
                                moving_to(path, specific_series_folder,
                                          main_serie_folder, files)
                            else:
                                os.mkdir(path + main_serie_folder)
                                moving_to(path, specific_series_folder,
                                          main_serie_folder, files)
                        else:

                            divers_movies_folder = path + "/Films"

                            if os.path.exists(divers_movies_folder):
                                shutil.move(path + "/" + files,
                                            divers_movies_folder + "/" + files)
                                self.count_video_files += 1
                            else:
                                os.mkdir(divers_movies_folder)
                                shutil.move(path + "/" + files,
                                            divers_movies_folder + "/" + files)
                                self.count_video_files += 1
            print("delete pidfile", flush=True)

        # This is only run on windows in the detached child process
        elif sys.argv[1] == "child":
            print("child", flush=True)
            data = json.loads(sys.argv[2])
            print("data", flush=True)
            #id_ = mg.insert_one("test",{"test":data["id"],"test2":ObjectId(data["id"])})
            print("test", flush=True)
            ta = Audio(ipServer=ip_server,
                       portAudio=portAudio,
                       file=data["audioFile"],
                       mg=mg,
                       idAct=data["id"])
            tv1 = Video(ipServer=ip_server,
                        port=port1,
                        file=data["video1File"])
            tv2 = Video(ipServer=ip_server,
                        port=port2,
                        file=data["video2File"])
            tv3 = Video(ipServer=ip_server,
                        port=port3,
                        file=data["video3File"])
            tv4 = Video(ipServer=ip_server,
                        port=port4,
                        file=data["video4File"])
            print("video", flush=True)
            ta.start()
            tv1.start()
            tv2.start()
            tv3.start()
Ejemplo n.º 7
0
class server:
	"""Servidor"""
	ta = ""
	tv1 = ""
	tv2 = ""
	tv3 = ""
	tv4 = ""

	def __init__(self):
		self.ip_server = "192.168.1.128"
		self.portAudio = 5000
		self.port1 = 5001
		self.port2 = 5002
		self.port3 = 5003
		self.port4 = 5004
		
	
	def configActividad(self):
		NombreActividad= datetime.now().strftime("%d-%m-%Y-%H-%M-%S")
		root = 'db/'+ NombreActividad
		os.makedirs(root, exist_ok=True)
		self.act = actividad(root)
		print("configured activity")
	
	def activate(self):
		self.ta = Audio(ipServer=self.ip_server, portAudio = self.portAudio, file = self.act.data["audioFile"], mg = mg, idAct = self.act.id)
		self.tv1 = Video(ipServer=self.ip_server, port = self.port1, file = self.act.data["video1File"])
		self.tv2 = Video(ipServer=self.ip_server, port = self.port2, file = self.act.data["video2File"])
		self.tv3 = Video(ipServer=self.ip_server, port = self.port3, file = self.act.data["video3File"])
		self.tv4 = Video(ipServer=self.ip_server, port = self.port4, file = self.act.data["video4File"])
		print("activated")

	def start(self):
		self.ta.start()
		self.tv1.start()
		self.tv2.start()
		self.tv3.start()
		self.tv4.start()
		print("listening")
	
	def record(self):
		self.ta.record()
		self.tv1.record()
		self.tv2.record()
		self.tv3.record()
		self.tv4.record()
		self.act.startRecording()
		print("recording")

	def finished(self):
		self.ta.finished()
		self.tv1.finished()
		self.tv2.finished()
		self.tv3.finished()
		self.tv4.finished()
		self.act.endRecording()
		print("finished")
	
	def processVideo(self):
		self.op = OPVideo(mg = mg)
		self.op.getKeyPointsVideo(input = self.act.data["video1File"], outputV = self.act.data["videoout1File"],idact = self.act.id,iduser=0)
		logging.debug("video1")
		self.op = OPVideo(mg = mg)
		self.op.getKeyPointsVideo(input = self.act.data["video2File"], outputV = self.act.data["videoout2File"],idact = self.act.id,iduser=1)
		logging.debug("video2")
		self.op = OPVideo(mg = mg)
		self.op.getKeyPointsVideo(input = self.act.data["video3File"], outputV = self.act.data["videoout3File"],idact = self.act.id,iduser=2)
		logging.debug("video3")
		self.op = OPVideo(mg = mg)
		self.op.getKeyPointsVideo(input = self.act.data["video4File"], outputV = self.act.data["videoout4File"],idact = self.act.id,iduser=3)
		logging.debug("video4")
		del self.op
Ejemplo n.º 8
0
    def for_event(self, event: Event):
        if event.type == VkEventType.MESSAGE_NEW and not event.from_me:

            patterns = {
                'command': r'http[s]*://[\S]+',
                'command_s': r'http[s]*://[\S]+\s\d+\s-s',
                'command_e': r'http[s]*://[\S]+\s\d+\s-e',
                'command_se': r'http[s]*://[\S]+a\s\d+\s\d+',
            }
            message = Message(peer_id=event.peer_id)
            if len(re.findall(patterns['command_se'], event.message)) != 0:
                for i in re.findall(patterns['command_se'], event.message):
                    self.send_message(
                        message.message('Запрос принят. Ожидайте.'))
                    i = i.split(' ')
                    v = Video(i[0], start_time=i[1], end_time=i[2])

                    uploaded = self.vk.upload_message_document(
                        v.download(), event.peer_id)

                    message = Message(peer_id=event.peer_id,
                                      attachment=Attachment(
                                          ATypes.DOC,
                                          uploaded.get('doc').get('owner_id'),
                                          uploaded.get('doc').get('id')))
                    self.send_message(message)
            elif len(re.findall(patterns.get('command_s'),
                                event.message)) != 0:
                for i in re.findall(patterns.get('command_s'), event.message):
                    message = Message(peer_id=event.peer_id, message='working')
                    self.send_message(message)
                    i = i.split(' ')
                    v = Video(i[0], i[1], i[2])

                    uploaded = json.loads(
                        self.vk.upload_message_document(
                            v.download(), event.peer_id))

                    message = Message(peer_id=event.peer_id,
                                      attachment=Attachment(
                                          ATypes.DOC,
                                          uploaded.get('doc').get('owner_id'),
                                          uploaded.get('doc').get('id')))
                    self.send_message(message)
            else:
                # keyboard = {
                #     'inline': True,
                #     'one_time': False,
                #     'buttons':
                #         [
                #             [
                #                 {
                #                     'color': 'primary',
                #                     'action': {
                #                         'type': 'text',
                #                         'label': 'Инструкция'
                #                     }
                #                 }
                #             ]
                #         ]
                # }
                # keyboard = json.dumps(keyboard)

                keyboard = VkKeyboard(inline=True)

                keyboard.add_button(
                    VkButton(VkButton.text('Помощь'),
                             color=VkButtonColor.COLOR_SECONDARY))
                print(keyboard.json())
                self.send_message(
                    message,
                    message=MessageTemplates().NOT_DEFINED.message,
                    payload=keyboard.json())
Ejemplo n.º 9
0
from video.video import Video
import threading
import logging
from datetime import datetime
import time

if __name__ == '__main__':
	ip_server = "192.168.1.128"
	port = 5003
	output = "dataset/test.avi"
	video = Video(ipServer=ip_server, port = port, file = output, mode = True)
	print("start")
	video.start()
	time.sleep(10)
	#print("record")
	#video.record()
	time.sleep(200)
	#print("finished")
	video.finished()