Ejemplo n.º 1
0
 def process_videoed_video_from_sequence(arguments):
     os_utils.set_process_lowest_prio()
     from mainscripts import VideoEd
     VideoEd.video_from_sequence(arguments.input_dir, arguments.output_file,
                                 arguments.reference_file, arguments.ext,
                                 arguments.fps, arguments.bitrate,
                                 arguments.lossless)
Ejemplo n.º 2
0
 def process_videoed_cut_video(arguments):        
     from mainscripts import VideoEd
     VideoEd.cut_video (arguments.input_file, 
                        arguments.from_time, 
                        arguments.to_time, 
                        arguments.audio_track_id, 
                        arguments.bitrate)
Ejemplo n.º 3
0
 def process_videoed_cut_video(arguments):
     os_utils.set_process_lowest_prio()
     from mainscripts import VideoEd
     VideoEd.cut_video (arguments.input_file,
                        arguments.from_time,
                        arguments.to_time,
                        arguments.audio_track_id,
                        arguments.bitrate)
Ejemplo n.º 4
0
def SPExtractVideo(context):
    args = context.args

    inputFile = get_all_files(args.inputData)

    VideoEd.extract_video(inputFile[0], args.outputData, args.outputExt,
                          args.fps)

    return args.outputData
Ejemplo n.º 5
0
def SPDenoise(context):
    args = context.args

    VideoEd.denoise_image_sequence(args.inputData,
                                   args.outputData,
                                   ext=args.ext,
                                   factor=args.factor)

    return args.outputData
Ejemplo n.º 6
0
 def process_videoed_video_from_sequence(arguments):
     osex.set_process_lowest_prio()
     from mainscripts import VideoEd
     VideoEd.video_from_sequence(input_dir=arguments.input_dir,
                                 output_file=arguments.output_file,
                                 reference_file=arguments.reference_file,
                                 ext=arguments.ext,
                                 fps=arguments.fps,
                                 bitrate=arguments.bitrate,
                                 include_audio=arguments.include_audio,
                                 lossless=arguments.lossless)
Ejemplo n.º 7
0
Archivo: F.py Proyecto: wa407/YML
def prepare(workspace, detector="s3fd", manual_fix=False):
    import os
    import shutil
    from mainscripts import Extractor
    from mainscripts import VideoEd
    for f in os.listdir(workspace):
        ext = os.path.splitext(f)[-1]
        if ext not in ['.mp4', '.avi']:
            continue
        if f.startswith("result"):
            continue
        # 获取所有的data_dst文件
        tmp_dir = os.path.join(workspace, "_tmp")
        tmp_aligned = os.path.join(tmp_dir, "aligned")
        tmp_video_dir = os.path.join(tmp_dir, "video")
        if os.path.exists(tmp_dir):
            shutil.rmtree(tmp_dir)
        if not os.path.exists(tmp_dir):
            os.mkdir(tmp_dir)
            os.mkdir(tmp_video_dir)
        video = os.path.join(workspace, f)
        # 提取帧
        VideoEd.extract_video(video, tmp_dir, "png", 0)
        # 提取人脸
        if detector == "manual":
            import winsound
            winsound.Beep(300, 500)
        Extractor.main(tmp_dir,
                       tmp_aligned,
                       detector=detector,
                       manual_fix=manual_fix)
        # fanseg
        Extractor.extract_fanseg(tmp_aligned)
        if detector != "manual":
            #     # 两组人脸匹配
            #     skip_by_pitch(os.path.join(workspace, "data_src", "aligned"), os.path.join(tmp_dir, "aligned"))
            # 排序
            dfl.dfl_sort_by_hist(tmp_aligned)
        # 保存video
        shutil.copy(video, tmp_video_dir)
        # 重命名
        fname = f.replace(ext, "")
        dst_dir = os.path.join(workspace,
                               "data_dst_%s_%s" % (get_time_str(), fname))
        shutil.move(tmp_dir, dst_dir)
        # 移动video
        data_trash = os.path.join(workspace, "../trash_workspace")
        if not os.path.exists(data_trash):
            os.mkdir(data_trash)
        shutil.move(video, data_trash)
    import winsound
    winsound.Beep(300, 500)
Ejemplo n.º 8
0
def SPCutVideo(context):
    args = context.args

    fileList = get_all_files(args.inputData)

    VideoEd.cut_video(
        fileList[0],
        args.outputData,
        args.fromTime,
        args.toTime,
        args.audioTrackId,
        args.bitrate,
    )

    return args.outputData
Ejemplo n.º 9
0
def SPVideoFromSequence(context):
    args = context.args
    if args.referenceFolder:
        referenceFile = get_all_files(args.referenceFolder)

    VideoEd.video_from_sequence(
        args.inputData,
        os.path.join(args.outputData, args.fileName),
        referenceFile[0],
        args.ext,
        args.fps,
        args.bitrate,
        args.lossless,
    )

    return args.outputData
Ejemplo n.º 10
0
 def process_videoed_denoise_image_sequence(arguments):
     os_utils.set_process_lowest_prio()
     from mainscripts import VideoEd
     VideoEd.denoise_image_sequence (arguments.input_dir, arguments.ext, arguments.factor)
Ejemplo n.º 11
0
 def process_videoed_extract_video(arguments):
     os_utils.set_process_lowest_prio()
     from mainscripts import VideoEd
     VideoEd.extract_video (arguments.input_file, arguments.output_dir, arguments.output_ext, arguments.fps)
Ejemplo n.º 12
0
 def process_videoed_denoise_image_sequence(arguments):        
     from mainscripts import VideoEd
     VideoEd.denoise_image_sequence (arguments.input_dir, arguments.ext, arguments.factor)
Ejemplo n.º 13
0
 def process_videoed_extract_video(arguments):        
     from mainscripts import VideoEd
     VideoEd.extract_video (arguments.input_file, arguments.output_dir, arguments.output_ext, arguments.fps)
Ejemplo n.º 14
0
def extract():
    import os
    import shutil
    from mainscripts import VideoEd
    from mainscripts import Extractor
    from interact import interact as io

    root_dir = get_root_path()
    extract_workspace = os.path.join(root_dir, "extract_workspace")
    target_dir = os.path.join(extract_workspace, "aligned_")

    valid_exts = [".mp4", ".avi", ".wmv", ".mkv"]

    fps = io.input_int(
        "Enter FPS ( ?:help skip:fullfps ) : ",
        0,
        help_message=
        "How many frames of every second of the video will be extracted.")
    min_pixel = io.input_int("Enter Min Pixel ( ?:help skip: 512) : ",
                             512,
                             help_message="Min Pixel")

    def file_filter(file):
        if os.path.isdir(os.path.join(extract_workspace, file)):
            return False
        ext = os.path.splitext(file)[-1]
        if ext not in valid_exts:
            return False
        return True

    files = list(filter(file_filter, os.listdir(extract_workspace)))
    files.sort()
    pos = 0
    for file in files:
        pos += 1
        io.log_info("@@@@@  Start Process %s, %d / %d" %
                    (file, pos, len(files)))
        # 提取图片
        input_file = os.path.join(extract_workspace, file)
        output_dir = os.path.join(extract_workspace, "extract_images")
        if not os.path.exists(output_dir):
            os.mkdir(output_dir)
        for f in os.listdir(output_dir):
            os.remove(os.path.join(output_dir, f))
        VideoEd.extract_video(input_file,
                              output_dir,
                              output_ext="png",
                              fps=fps)
        io.log_info("@@@@@  Start Extract %s, %d / %d" %
                    (file, pos, len(files)))
        # 提取人脸
        input_dir = output_dir
        output_dir = os.path.join(extract_workspace, "_current")
        debug_dir = os.path.join(extract_workspace, "debug")
        Extractor.main(input_dir,
                       output_dir,
                       debug_dir,
                       "s3fd",
                       min_pixel=min_pixel)
        # fanseg
        io.log_info("@@@@@  Start FanSeg %s, %d / %d" %
                    (file, pos, len(files)))
        Extractor.extract_fanseg(output_dir)
        # 复制到结果集
        io.log_info("@@@@@  Start Move %s, %d / %d" % (file, pos, len(files)))
        if not os.path.exists(target_dir):
            os.mkdir(target_dir)
        ts = get_time_str()
        for f in os.listdir(output_dir):
            src = os.path.join(output_dir, f)
            dst = os.path.join(target_dir, "%s_%s" % (ts, f))
            shutil.move(src, dst)
        # 全部做完,删除该文件
        io.log_info("@@@@@  Finish %s, %d / %d" % (file, pos, len(files)))
        os.remove(os.path.join(extract_workspace, file))
        os.rmdir(output_dir)
Ejemplo n.º 15
0
 def process_videoed_extract_video(arguments):
     osex.set_process_lowest_prio()
     from mainscripts import VideoEd
     VideoEd.extract_video(arguments.input_file, arguments.output_dir,
                           arguments.output_ext, arguments.fps,
                           arguments.start_frame, arguments.end_frame)