HD_VG_130M数据集预处理

数据集介绍

HD_VG_130M是文生视频常用数据集,其视频来源于油管,可通过该谷歌云盘链接下载官方文件,如下所示,其中metafiles中包含20个json文件,请先将其全部下载到本地,假设保存地址为"E:/HD_VG_130M_Dataset/"
在这里插入图片描述
json文件格式如下所示,包含视频对应的网址和切片的时间段信息,以及对应切片的caption

在这里插入图片描述

数据集切片

注意:建议能够全局使用ffmpeg命令,且有 VPN

官方给出的json链接中包含了视频的网址,但需要用户提前将所有视频下载到文件夹"E:/HD_VG_130M_Dataset/download_videos/"中,可使用下yt-dlp载油管视频。接着设置args.workdir等文件夹参数如下所示,运行"cut_videos_hdvg.py"即可得到切片视频。

def parse_args():
    parser = argparse.ArgumentParser(description='youtube video processing')
    parser.add_argument('--workdir', default='E:/HD_VG_130M_Dataset/',type=str, help='Working Directory')
    parser.add_argument('--metafile', default='hdvg_0.json', type=str, help='youtube video meta')
    parser.add_argument('--resultfile', default='cut_part0.jsonl', type=str, help='processed videos')
    parser.add_argument('--log', default='log_part0.log', type=str, help='log')
    parser.add_argument('--rm_tmp_file', default=True, type=bool, help='Whether to remove tmp hdvila clips')
    args = parser.parse_args()
    return args

改进1:下一切一

为方便起见,我修改了"cut_videos_hdvg.py"中的extract_all_clip函数,使得能够下一个视频切一个视频,修改的部分如下所示

    def extract_all_clip(self):
        results = []
        for video_id, meta in tqdm(self.metas.items()):
            print(video_id)
            # 这里使用yt-dlp下载youtube视频并保存为mp4格式,路径为'./workdir/download_videos/*.mp4'
            video_temp_path = os.path.join(self.workdir, 'download_videos', video_id + '.mp4')
            if not os.path.exists(video_temp_path):
                video_temp_url = f'https://www.youtube.com/watch?v={video_id}'
                cmd_str = f'yt-dlp --merge-output-format mp4 -o \"{video_temp_path}\" {video_temp_url}'
                print(cmd_str)
                subprocess.run(cmd_str, encoding="utf-8", shell=True)

            # 这里读取刚下载的视频,若未下载则记录一下,然后跳过
            if not os.path.exists(video_temp_path):
                logger.info(f'Video missing: {video_id}')
            else:
                result = self.extract_clips(video_id, meta)
                results.extend(result)

            # 这里可以删除刚下载的视频,为方便后期调整纠错,不建议删除
            # os.remove(video_temp_path)

相关推荐

  1. 数据预处理

    2024-03-14 16:50:04       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 16:50:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 16:50:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 16:50:04       82 阅读
  4. Python语言-面向对象

    2024-03-14 16:50:04       91 阅读

热门阅读

  1. postgresql 保留几天的数据清理策略

    2024-03-14 16:50:04       48 阅读
  2. Flink StreamTask启动和执行源码分析

    2024-03-14 16:50:04       38 阅读
  3. Pandas + ChatGPT:实现交互式数据分析

    2024-03-14 16:50:04       45 阅读
  4. Vue3 watch侦听器

    2024-03-14 16:50:04       44 阅读
  5. C++常用容器总结

    2024-03-14 16:50:04       41 阅读
  6. c语言:第几天

    2024-03-14 16:50:04       44 阅读
  7. sublime 快捷键大全

    2024-03-14 16:50:04       26 阅读
  8. 编译器 编译原理

    2024-03-14 16:50:04       33 阅读
  9. web学习笔记(三十一)

    2024-03-14 16:50:04       39 阅读
  10. C++继承

    C++继承

    2024-03-14 16:50:04      38 阅读
  11. 3月13日做题总结(Linux真题)

    2024-03-14 16:50:04       44 阅读