def result_page():
    url = request.url
    page = request.args.get('sp')
    favorite_video = []
    user_favorite = Video.find_video(session['account'])
    for video in user_favorite:
        favorite_video.append(video['link'])
    if page is None:
        search = request.args.get('search')
        soup = item.find_search_content(search)
        all_item = item.every_video(soup)
        all_page = item.page_bar(soup)
        return render_template("result.html", search=search, all_item=all_item, all_page=all_page, url=url,
                               favorite_video=favorite_video)
    elif page is not None:
        search = request.args.get('q')
        page = request.args.get('sp')
        current_page = request.args.get('current_page')
        value = "q={}".format(search) + "&" + "sp={}".format(page)
        soup = item.find_page_content(value)
        all_item = item.every_video(soup)
        all_page = item.page_bar(soup)
        return render_template("result_page.html", search=search, all_item=all_item, all_page=all_page,
                               current_page=current_page, int=int, url=url, favorite_video=favorite_video)
    else:
        return redirect("/")
示例#2
0
def favorite_method():
    if session['account']:
        if request.method == 'POST':
            url = request.form['url']
            title = request.form['title']
            link = request.form['link']
            img = request.form['img']
            account = session['account']
            Video(account, title, link, img).save_to_db()
            return redirect(url)
        else:
            account = session['account']
            user_video = Video.find_video(account)
            return render_template("favorite.html", user_video=user_video)
    else:
        return redirect("/login")
示例#3
0
def main():
    parser = argparse.ArgumentParser(
        description=
        "[Crop] Crop out a landscape video and make it a virtical video.",
        formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    parser.add_argument("-f",
                        "-file",
                        type=argparse.FileType("r"),
                        help="[required]input target video file.",
                        required=True)
    parser.add_argument(
        "-w",
        "-workdir",
        type=str,
        help="[required]Directory path where script saves tmp files.",
        required=True)
    parser.add_argument(
        "-a",
        "-average",
        type=int,
        default=Const.AVERAGE_FLAMES,
        help=
        "The number of frames to be averaged over in order to make the video smooth."
    )
    args = parser.parse_args()

    video: Video = Video(args.f.name)
    detector: ActorDetector = ActorDetector(video)
    convolve: Convolve = Convolve(args.a)
    original_centers = []
    center_x = video.width // 2

    print("[Step. 1/4] Create Video Resources.")
    vr = VideoResource(video=video, baseDir=args.w).create()

    print("[Step. 2/4] Detect Actor.")
    for image_path in tqdm(vr.get_image_paths()):
        actor: Person = detector.get_actor(image_path)
        if actor is not None:
            original_centers.append(actor.center_x)
            center_x = actor.center_x
        else:
            original_centers.append(center_x)

    convolved_centers: list = convolve.calculate(np.array(original_centers))
    zzz = list(zip(vr.get_image_paths(), original_centers, convolved_centers))
    # TODO : 座標のファイル書き出し

    print("[Step. 3/4] Crop Actor.")
    cropper = Cropper(args.w, video)
    for image_path, _, center_position in tqdm(zzz):
        cropper.crop(image_path, center_position)

    print("[Step. 4/4] Create Croped Video.")
    Encoder(args.w, cropper.get_images_path(), vr.get_sound_path(),
            video.fps).encode()
def find_videos_in_playlist(url, path):
    parsed_HTML = parse_HTML(scrape(url))
    a_tags = select_a_tags(parsed_HTML)

    videos = []

    for a_tag in a_tags:
        title = get_video_title(a_tag)
        url = a_tag["href"]
        videos.append(Video(title, url, path))

    return videos
示例#5
0
def category_method():
    url = request.url
    favorite_video = []
    user_favorite = Video.find_video(session['account'])
    for video in user_favorite:
        favorite_video.append(video['Link'])

    category = "https://www.imovie4u.com/genre/horror/"
    soup = item.find_home_content(category)
    all_movie = item.find_home_movie(soup)

    return render_template("category.html",
                           all_movie=all_movie,
                           url=url,
                           favorite_video=favorite_video)
示例#6
0
def result_page():
    url = request.url
    favorite_video = []
    user_favorite = Video.find_video(session['account'])
    for video in user_favorite:
        favorite_video.append(video['Link'])
    search = request.args.get('search')
    soup = item.find_search_content(search)
    all_movie = item.every_movie(soup)

    return render_template("result.html",
                           result=search,
                           all_movie=all_movie,
                           url=url,
                           favorite_video=favorite_video)
示例#7
0
def home_page():
    url = request.url
    favorite_video = []
    user_favorite = Video.find_video(session['account'])
    for video in user_favorite:
        favorite_video.append(video['Link'])

    page = request.form['page']
    soup = item.find_page_content(page)
    all_movie = item.find_home_movie(soup)
    all_page = item.page_bar()

    return render_template("home.html",
                           all_movie=all_movie,
                           url=url,
                           favorite_video=favorite_video,
                           all_page=all_page)
示例#8
0
def hello():
    session['account'] = session.get('account')
    session['name'] = session.get('name')

    url = request.url
    favorite_video = []
    user_favorite = Video.find_video(session['account'])
    for video in user_favorite:
        favorite_video.append(video['Link'])

    home = "https://www.imovie4u.com/movies/"
    soup = item.find_home_content(home)
    all_movie = item.find_home_movie(soup)
    all_page = item.page_bar()

    return render_template("home.html",
                           all_movie=all_movie,
                           url=url,
                           favorite_video=favorite_video,
                           all_page=all_page)
示例#9
0
def delete_method():
    link = request.form['link']
    account = session['account']
    Video.delete_video(account, link)
    return redirect("/favorite")
示例#10
0
    def test_hoge(self):
        baseDir = "/tmp/test"
        video = Video("10.mp4")
        vr = VideoResource(video, baseDir)

        Encoder(baseDir, vr.get_image_path(), vr.get_sound_path(), video.fps).encode()
示例#11
0
 def test_no_video(self):
     with self.assertRaises(Exception):
         Video("nofile.mp4")
示例#12
0
 def test_hoge2(self):
     video = Video("./10.mp4")
     vr = VideoResource(video, "/tmp/hoge")
     for r in vr.get_image_paths():
         print(r)
     print(vr.get_sound_path())
示例#13
0
 def test_get_actor(self):
     ad = ActorDetector(Video("./10.mp4"))
     ad.get_actor("/tmp/hoge/image_00001.png")