Example #1
0
 def procVideo(s, tweet_json, outputDir):
     if 'extended_entities' in tweet_json:
         media = tweet_json['extended_entities'].get('media', [])
         vid_type = media[0]['type']
         if vid_type == "video":
             title = None
             if 'title' in media[0]['additional_media_info']:
                 title = media[0]['additional_media_info']['title']
             duration = None
             if 'duration_millis' in media[0]['video_info']:
                 duration = media[0]['video_info']['duration_millis']
             url = ''
             for v in media[0]['video_info']['variants']:
                 if 'bitrate' in v:
                     if v['bitrate'] > 0:
                         url = v['url']
             if url != '':
                 file_name = str(s.tweet_id) + '.mp4'
                 file = outputDir + file_name
                 s.video = Video(s.tweet_id, file, url, title, duration,
                                 vid_type)
         elif vid_type == "animated_gif":
             title = None
             duration = None
             url = media[0]['video_info']['variants'][0]['url']
             file_name = str(s.tweet_id) + '.gif'
             file = outputDir + file_name
             s.video = Video(s.tweet_id, file, url, title, duration,
                             vid_type)
Example #2
0
    def videos_by_pl(self, youtube, pl_id):
        plvideos_response = youtube.playlistItems().list(
            part="snippet", playlistId=pl_id, maxResults=50).execute()

        Videos = []
        for item in plvideos_response["items"]:
            snippet = item["snippet"]
            if snippet is not None:
                plid = item["id"]
                title = snippet["title"]
                desc = snippet["description"]
                resourceId = snippet["resourceId"]

                if resourceId is not None:
                    vidId = resourceId["videoId"]

                try:
                    thumbnails = snippet["thumbnails"]

                    defUrl = thumbnails["default"]["url"]
                    medUrl = thumbnails["medium"]["url"]
                    Videos.append(
                        Video(vidId, title, desc, plid, defUrl, medUrl))
                except KeyError, e:
                    defUrl = "/static/images/404.jpg"
                    Videos.append(Video(vidId, title, desc, plid, defUrl,
                                        None))
                    pass
                except:
                    pass
Example #3
0
def main():
    # set command argument
    parser = argparse.ArgumentParser(description="Convertion between Video,\
     Image and Ascii")
    parser.add_argument('--file', dest = 'file', required = True, help = \
    "Default path in Video2Ascii/files")
    parser.add_argument('--mode', dest = 'mode', required = True, help = \
    "Video2Image or Video2Ascii or Image2Ascii")
    parser.add_argument('--output', dest = 'outFile', required = False, help = \
    "Default path in Video2Ascii/output", default = 'output')
    parser.add_argument('--cols', dest = 'cols', required = False, help = \
    "Numbers of Ascii column", default = 200)
    parser.add_argument('--scale', dest = 'scale', required = False, help = \
    "vertical scaling factor - higher leads a longer face", default = 0.5)
    # parser.add_argument('--morelevels', dest='moreLevels', action='store_true')#default:False(less levels)

    # get command argument
    args = parser.parse_args()

    if args.mode == 'Video2Image':
        video = Video(args.file, args.outFile, args.cols, args.scale)
        video.Video2Image()
    elif args.mode == 'Video2Ascii':
        video = Video(args.file, args.outFile, args.cols, args.scale)
        video.Video2Ascii()
    elif args.mode == 'Image2Ascii':
        image = Image(args.file, args.outFile, args.cols, args.scale)
        image.Image2Ascii()
    else:
        print("Arguments not found!")
Example #4
0
def read_fovs(file):
    data = np.genfromtxt(file, dtype=None, unpack=True, delimiter='\t')

    prev_vid = data[0][0]
    fovs = []
    idx = 0
    videos = []
    for d in data:
        vid = d[0]
        # print str(vid), str(prev_vid)
        if vid == prev_vid:
            # lat, lon, compass, R, alpha
            fov = FOV(data[idx][2], data[idx][3], data[idx][4], data[idx][5],
                      data[idx][6])
            fovs.append(fov)
        else:
            # new video
            v = Video(fovs)
            v.id = prev_vid
            videos.append(v)
            # print v.to_str()

            # new fovs
            fovs = []
            fov = FOV(data[idx][2], data[idx][3], data[idx][4], data[idx][5],
                      data[idx][6])
            fovs.append(fov)

        idx = idx + 1
        prev_vid = vid

    print "number of videos", len(videos)
    return videos
Example #5
0
    def getListofVideos(self):
        """
        This method is used to get a list of all available videos in the VHH-MMSI system.

        :return: This method returns a list of video objects (Class-type: Video) which holds all video specific meta-data.
        """
        print("load list of videos ... ")

        print("send request: " + str(self.API_VIDEO_SEARCH_ENDPOINT))
        res = requests.get(self.API_VIDEO_SEARCH_ENDPOINT
                           )  #, verify=self.__pem_path)  # params=params,
        print("receive response")

        res_json = res.json()

        video_instance_list = []
        for i in range(0, len(res_json)):
            entry = res_json[i]
            vid = int(entry['id'])
            originalFileName = entry['originalFileName']
            url = entry['url']
            processed_flag = entry['processed']

            # filter frame_counter videos and amX videos
            if not "video-framecounter" in originalFileName and not "eyeland" in originalFileName and not "am-" in originalFileName:
                video_instance = Video(self.__core_config)
                video_instance.create_video(
                    vid=vid,
                    originalFileName=originalFileName,
                    url=url,
                    download_path=self.__video_download_path,
                    processed_flag=processed_flag)
                video_instance_list.append(video_instance)

        return video_instance_list
Example #6
0
 def setVideo(self, dataPoint, storage):
     if self.dataPoint is not None:
         self.dataPoint.clearFeatures()
     dataPoint.loadFeatures(storage)
     self.dataPoint = dataPoint
     self.video = Video(dataPoint.videoPath)
     self.setFullTimeLabel()
Example #7
0
    def _retrieve_videos(self,
                         limit=20,
                         offset=0,
                         session=None,
                         order=None,
                         private=0):
        from Video import Video

        album_id = self._get_safe('album_id')

        if album_id:
            videos = api.request('/album/' + album_id + '/videos',
                                 method="GET",
                                 params=dict(private=private,
                                             order=order,
                                             session=session,
                                             offset=offset,
                                             limit=limit,
                                             album=album_id))

            if videos:
                return [
                    Video(meta={'video': video}) for video in videos['videos']
                ]
            else:
                return False
        else:
            return False
Example #8
0
def main():
    # Disable OAuthlib's HTTPS verification when running locally.
    # *DO NOT* leave this option enabled in production.
    os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"

    vid = Video(TITLE, CATEGORYID, STATUS)
    youtube = get_authenticated_service()
    request = youtube.videos().insert(
        part="snippet,status",
        body={
            "snippet": {
                "categoryId": vid.getCategoryId(),
                "description": "Description of uploaded video.",
                "title": vid.getTitle()
            },
            "status": {
                "privacyStatus": vid.getStatus()
            }
        },

        # Pointer to video file
        media_body=MediaFileUpload("vid.mp4"))
    response = request.execute()

    print(response)
Example #9
0
 def set_webcam(self, device):
     u"""webcamの設定."""
     self.settei.settings["webcam"] = True
     self.settei.settings["device"] = device
     self.video = None
     outdir = self.settei.settings["outdir"]
     playfile = self.playfile = device
     logfunc = self.main_view.write_log
     self.video = Video(playfile, outdir, logfunc, webcam=True)
     # webcamが接続されていれば初期設定
     if self.video.check_webcam() is True:
         self.video.set_bounding(self.settei.settings["bounding"])
         self.video.set_verbose(self.settei.settings["verbose"])
         self.video.set_detecttype(self.settei.settings["detecttype"])
         self.main_view.set_webcam_view()
         top = self.settei.settings["detectionTop"]
         bottom = self.settei.settings["detectionBottom"]
         left = self.settei.settings["detectionLeft"]
         right = self.settei.settings["detectionRight"]
         self.set_detectionarea(top, bottom, left, right)
         self.set_imgscale()
         self.set_speed()
         self.control_video("START")
     else:
         self.main_view.set_webcam_view(webcam=False)
Example #10
0
    def make_movie_list(self):
        files = os.listdir('.')
        suffix_list = ['avi', 'mp4']
        # print(files)
        for item in files:
            s = item
            if s.split('.')[-1] in suffix_list:
                description_name = s[0] + '_des.txt'
                #print(description_name)
                if os.path.exists(description_name):
                    f = open(description_name, 'r')
                    description = f.read()
                    f.close()
                else:
                    description = ''

                bullet_name = s[0] + '_bullet.txt'
                #print(bullet_name)
                if os.path.exists(bullet_name):
                    f = open(bullet_name, 'r')
                    bullet = f.read()
                    f.close()
                else:
                    bullet = ''

                video = Video(item)
                length = video.get_time()
                full_item = (item, description, bullet, length)
                self.movie_list.append(full_item)

        for item in self.movie_list:
            file_path = os.path.join(self.base_cache, item[0])
            if not os.path.exists(file_path):
                os.makedirs(file_path)
                make_cache(item[0], file_path)
Example #11
0
    def openImage(self, *args):
        self.openDialog.set_current_folder(path.expanduser("~"))
        self.openDialog.set_select_multiple(False)
        self.openDialog.set_filter(self.builder.get_object("imageFilter"))
        response = self.openDialog.run()
        self.openDialog.hide()
        if (response == Gtk.ResponseType.OK):
            self.disableUI()
            g.file = self.openDialog.get_filename()
            try:
                self.video = Video()
                img = cv2.imread(g.file)
                h, w = img.shape[:2]
                if (not self.checkMemory(w, h)):
                    raise MemoryError()

                self.window.set_title(path.split(g.file)[1] + " - " + UI.TITLE)
                self.saveDialog.set_current_name("")
                self.sharpen = Sharpen(g.file, True)
                self.builder.get_object("alignTab").set_sensitive(False)
                self.builder.get_object("stackTab").set_sensitive(False)
                self.builder.get_object("processTab").set_sensitive(True)
                self.tabs.set_current_page(UI.SHARPEN_TAB)
                self.frame.set_from_file(g.file)
            except MemoryError as error:
                pass
            except:  # Open Failed
                self.showErrorDialog(
                    "There was an error opening the image, make sure it is a valid image."
                )
            self.enableUI()
Example #12
0
    def readConfiguration(self):
        theFile = open(self.theFile)

        values = theFile.readline().split(' ')
        self.numberOfVideos = int(values[0])
        self.numberOfEndpoints = int(values[1])
        self.numberOfRequestDescription = int(values[2])
        self.numberOfCacheServer = int(values[3])
        self.cacheServerCapacity = int(values[4])

        values = theFile.readline().split(' ')

        self.videos = [Video(int(el)) for el in values]

        for i in range(0, self.numberOfEndpoints):
            values = theFile.readline().split(' ')
            latency = int(values[0])
            n = int(values[1])
            theList = []
            for j in range(0, n):
                values = theFile.readline().split(' ')
                theList.append([int(values[0]), int(values[1])])
            self.endpoints.append(Endpoint(latency, theList))

        for i in range(0, self.numberOfRequestDescription):
            values = theFile.readline().split(' ')
            self.requests.append(
                EndpointRequests(int(values[2]), int(values[0]),
                                 int(values[1])))
        theFile.close()
Example #13
0
    def __init__(self, parent=None):
        super(StreamingWindow, self).__init__(parent)
        super().setTitleName("Streaming Window")
        super().basicUI()

        self.initUi()
        self.video = Video(self, QSize(self.frm.width(), self.frm.height()))
Example #14
0
def read_data(file):
    data = np.genfromtxt(file, unpack=True, delimiter='\t')

    prev_vid = 1
    fovs = []
    idx = 0
    videos = []
    for vid in data[1]:
        if vid == prev_vid:
            #lat, long, compass, R, alpha
            fov = FOV(data[2][idx], data[3][idx], data[4][idx], data[5][idx],
                      data[6][idx])
            fovs.append(fov)
        else:
            # new video
            v = Video(fovs)
            v.id = vid
            videos.append(v)
            # print v.to_str()

            # new fovs
            fovs = []
            fov = FOV(data[2][idx], data[3][idx], data[4][idx], data[5][idx],
                      data[6][idx])
            fovs.append(fov)

        idx += 1
        prev_vid = vid

    return videos
Example #15
0
def getTrendingData():

    url = "https://www.youtube.com/feed/trending"
    response = requests.get(url)
    soup = BeautifulSoup(response.text, features="lxml")

    #list that will store Video objects
    videos_list = []

    #finds all the videos in the html
    videos_in_html = soup.findAll("div", class_="yt-lockup-content")

    #for every video get title, desc and tags then store in a list
    for content in videos_in_html:
        try:
            title = getTitle(content)
            description = getDesc(content)
            video_href = getHref(content)
            video_url = "https://www.youtube.com{}".format(video_href)
            tags = getTags(video_url)

            curr_video = Video(title, description, tags)

            videos_list.append(curr_video)

        except Exception as e:
            ...

    return videos_list
    def __init__(self):
        inf = open('book.txt', 'r')
        if inf.closed:
            print("Error opening file.")
        for i in inf.readlines():
            mystring = i.strip().split('|')
            CardCatalog.append(Book(*mystring))
        inf.close()

        inf = open('periodic.txt', 'r')
        if inf.closed:
            print("Error opening file.")
        for i in inf.readlines():
            mystring = i.strip().split('|')
            CardCatalog.append(Periodical(*mystring))
        inf.close()

        inf = open('video.txt', 'r')
        if inf.closed:
            print("Error opening file.")
        for i in inf.readlines():
            mystring = i.strip().split('|')
            CardCatalog.append(Video(*mystring))
        inf.close()

        inf = open('film.txt', 'r')
        if inf.closed:
            print("Error opening file.")
        for i in inf.readlines():
            mystring = i.strip().split('|')
            CardCatalog.append(Film(*mystring))
        inf.close()
Example #17
0
def _get_videos(videos_type, **kwargs):
    videos = api.request('/videos/' + videos_type, method="GET", params=kwargs)

    if videos and 'videos' in videos:
        return [Video(meta={'video': video}) for video in videos['videos']]
    else:
        return False
Example #18
0
    def download(self, index, **kwargs):
        '''
		Resumes the download of item at index 'index' from the playlist
		'''
        vobj = self.res[index - 1]
        video = Video(vobj)
        return video.download(**kwargs)  # params
Example #19
0
def read_Video():
    file_names = []
    path = "F:\\Desktop\\opencv_detection\\"
    for i in range(0,50):
        label = random.randint(0,11)
        video = Video(i,path+"video"+str(i%3+1)+".mp4","label"+str(label),label,0)
        file_names.append(video)
    return file_names
Example #20
0
 def __init__(self):
     self.root = Tk.Tk()
     self.view = View(self.root, self)
     self.video_model = Video()
     self.user_input = ''
     self.recording = False
     self.video_data = ''
     self.output = ''
Example #21
0
 def __init__(self, frames):
     self.frames = frames
     self.tmats = []  # (frame, M, diff)
     self.count = 0
     self.total = 0
     self.minX = 0
     self.minY = 0
     self.maxX = 0
     self.maxY = 0
     video = Video()
     self.height, self.width = video.getFrame(g.file, 0).shape[:2]
Example #22
0
def generate_video_traffic(job):
    ''' Generate traffic file for the whole video.
  Args:
    in_db_file - should have all the images for which traffic is generated
    job - the same as for process_video
  '''
    assertParamIsThere(job, 'in_db_file')
    assertParamIsThere(job, 'out_video_dir')
    setParamUnlessThere(job, 'frame_range', '[::]')
    assertParamIsThere(job, 'video_dir')

    video = Video(video_dir=job['video_dir'])
    camera = video.build_camera()

    assert op.exists(atcity(job['in_db_file'])), \
        'in db %s does not exist' % atcity(job['in_db_file'])
    conn_in = sqlite3.connect(atcity(job['in_db_file']))
    c_in = conn_in.cursor()
    c_in.execute('SELECT time FROM images')
    timestamps = c_in.fetchall()
    conn_in.close()

    cad = Cad()

    if 'speed_kph' in job:
        model = TrafficModel(camera,
                             video,
                             cad=cad,
                             speed_kph=job['speed_kph'])
    elif 'num_cars' in job:
        model = TrafficModelRandom(camera,
                                   video,
                                   cad=cad,
                                   num_cars_mean=job['num_cars'])
    else:
        assert False

    diapason = Diapason(len(timestamps), job['frame_range'])

    traffic = {'in_db_file': job['in_db_file']}
    traffic['frames'] = []

    for frame_id in diapason.frame_range:
        logging.info('generating traffic for frame %d' % frame_id)
        timestamp = timestamps[frame_id][0]
        time = parseTimeString(timestamp)
        traffic_frame = model.get_next_frame(time)
        traffic_frame['frame_id'] = frame_id  # for validating
        traffic['frames'].append(traffic_frame)

    return traffic
Example #23
0
def blendAverage(frames, file, ref, minX, maxX, minY, maxY, drizzleFactor,
                 drizzleInterpolation, conn):
    video = Video()
    stackedImage = None
    for frame, M, diff in frames:
        image = video.getFrame(file, frame)
        image = transform(image, ref, M, minX, maxX, minY, maxY, drizzleFactor,
                          drizzleInterpolation).astype(np.float64)
        if stackedImage is None:
            stackedImage = image
        else:
            stackedImage += image
        conn.send("Stacking Frames")
    return stackedImage
    def __init__(self):
        self.data_container = []
        book_file = open("book.txt", 'r')
        for line in book_file:
            data = []
            parsed_line = line.split('|')
            for i in range(0, 10):
                data.append(parsed_line[i])
            new_book = Book("Book", data[0], data[1], data[2], data[3],
                            data[4], data[5], data[6], data[7], data[8],
                            data[9])
            del data[:]
            self.data_container.append(new_book)

        periodical_file = open("periodical.txt", 'r')
        for line in periodical_file:
            data = []
            parsed_line = line.split('|')
            for i in range(0, 12):
                data.append(parsed_line[i])
            new_periodical = Periodical("Periodical", data[0], data[1],
                                        data[2], data[3], data[4], data[5],
                                        data[6], data[7], data[8], data[9],
                                        data[10], data[11])
            del data[:]
            self.data_container.append(new_periodical)

        video_file = open("video.txt", 'r')
        for line in video_file:
            data = []
            parsed_line = line.split('|')
            for i in range(0, 8):
                data.append(parsed_line[i])
            new_video = Video("Video", data[0], data[1], data[2], data[3],
                              data[4], data[5], data[6], data[7])
            del data[:]
            self.data_container.append(new_video)

        film_file = open("film.txt", 'r')
        for line in film_file:
            data = []
            parsed_line = line.split('|')
            for i in range(0, 6):
                data.append(parsed_line[i])
            new_film = Film("Film", data[0], data[1], data[2], data[3],
                            data[4], data[5])
            del data[:]
            self.data_container.append(new_film)
Example #25
0
 def openImageSequence(self, *args):
     self.openDialog.set_current_folder(path.expanduser("~"))
     self.openDialog.set_select_multiple(True)
     self.openDialog.set_filter(self.builder.get_object("imageFilter"))
     response = self.openDialog.run()
     self.openDialog.hide()
     if (response == Gtk.ResponseType.OK):
         try:
             g.file = self.openDialog.get_filenames()
             self.video = Video()
             self.video.checkMemory()
             thread = Thread(target=self.video.run, args=())
             thread.start()
             self.disableUI()
         except MemoryError as error:
             self.enableUI()
Example #26
0
    def add_video(self, session, video_id):
        album_id = self._get_safe('album_id')

        if album_id:
            video_action = api.request('/album/' + album_id + '/video/' +
                                       video_id,
                                       params=dict(session=session))

            if video_action:
                from Video import Video
                self.videos.append(
                    Video(video_id=video_action['albumVideo']['video_id']))
                return True
            else:
                return False
        return False
Example #27
0
 def inputVideo(self, startTime=0, endTime=0):
     WebDriverWait(self.bot, 10).until(
         EC.presence_of_element_located(
             (By.CLASS_NAME, "upload-btn-input")))
     file_input_element = self.bot.find_elements_by_class_name(
         "upload-btn-input")[0]
     # Check if file has correct .mp4 extension, else throw error.
     self.video = Video(self.userRequest["dir"], self.userRequest["vidTxt"])
     self.video.createVideo()
     if not startTime == 0 and endTime == 0:
         self.video.customCrop(startTime, endTime)
     while not os.path.exists(
             self.userRequest["dir"]):  # Wait for path to exist
         time.sleep(1)
     abs_path = os.path.join(os.getcwd(), self.userRequest["dir"])
     file_input_element.send_keys(abs_path)
Example #28
0
def upload():
    target = os.path.join(APP_ROOT, 'videos/')
    print(target)

    if not os.path.isdir(target):
        os.mkdir(target)

    for file in request.files.getlist("file"):
        print(file)
        filename = file.filename
        destination = "/".join([target, filename])
        print(destination)
        file.save(destination)
        video = Video(filename, destination)
        videoHandler.addVideo(video)
    return render_template("complete.html", variable=video.path)
Example #29
0
def get_videos_details(youtube, video_id):
    results = youtube.videos().list(
        part="snippet,contentDetails,statistics",
        id=video_id,
    ).execute()
    video_url = "https://www.youtube.com/watch?v=" + video_id
    title = results["items"][0]["snippet"]["title"]
    thumbnail_url = results["items"][0]["snippet"]["thumbnails"]["default"][
        "url"]
    original_image_url = results["items"][0]["snippet"]["thumbnails"]["high"][
        "url"]
    duration = results["items"][0]["contentDetails"]["duration"]
    views = results["items"][0]["statistics"]["viewCount"]

    video = Video(video_id, views, duration, title, video_url, thumbnail_url,
                  original_image_url)
    updates_list.append(video.add_video())
Example #30
0
 def predict_video(self, vname):
     self.video = Video(vname)
     self.verbosity = self.video.N / 20
     self.super_label, self.super_score = self.smodel.predict(vname)
     self.frame_label, self.frame_score = self.fmodel.predict(vname)
     cutlist = self.video.cutlist
     superlist = []
     for i in range(len(cutlist) - 1):
         start = cutlist[i]
         end = cutlist[i + 1]
         s = {}
         s['start'] = start
         s['end'] = end
         s['score'] = self.super_score[i]
         s['img'] = self.video.frame_imgs[i]
         superlist.append(s)
     return superlist, self.video