自定义AVA数据集(二)

上一篇文章自定义AVA数据集(一)_退即是进的博客-CSDN博客   ffmpeg已按每30秒长度剪辑视频,所需视频准备完毕,接下来需要分割视频 。在对视频进行切割前需要先下载git软件。因为我们切割视频所使用的是.sh文件,在Ubuntu上可以直接用bash xxx.sh可以直接运行,但是若在window上实现,就需要借助git。

1 安装 git

   安装过程参考Git 详细安装教程

2 分割视频 

   切割视频代码文件 cut_videos_frames.sh,代码如下(每个视频文件每秒30帧的图片(用于slowfast训练)):

#切割图片,每秒抽30帧
IN_DATA_DIR="D:/data/mydata"
OUT_DATA_DIR="D:/data/output"

if [[ ! -d "${OUT_DATA_DIR}" ]]; then
  echo "${OUT_DATA_DIR} doesn't exist. Creating it.";
  mkdir -p ${OUT_DATA_DIR}
fi

for video in $(ls -A1 -U ${IN_DATA_DIR}/*)
do
  video_name=${video##*/}

  if [[ $video_name = *".webm" ]]; then
    video_name=${video_name::-5}
  else
    video_name=${video_name::-4}
  fi

  out_video_dir=${OUT_DATA_DIR}/${video_name}/
  mkdir -p "${out_video_dir}"

  out_name="${out_video_dir}/${video_name}_%06d.jpg"

  ffmpeg -i "${video}" -r 30 -q:v 1 "${out_name}" 
done

 下面是(每个视频文件每秒抽1帧的图片(需要标注的图片))

#切割图片,每秒抽1帧
IN_DATA_DIR="D:/data/mydata"
OUT_DATA_DIR="D:/data/output"

if [[ ! -d "${OUT_DATA_DIR}" ]]; then
  echo "${OUT_DATA_DIR} doesn't exist. Creating it.";
  mkdir -p ${OUT_DATA_DIR}
fi

for video in $(ls -A1 -U ${IN_DATA_DIR}/*)
do
  video_name=${video##*/}

  if [[ $video_name = *".webm" ]]; then
    video_name=${video_name::-5}
  else
    video_name=${video_name::-4}
  fi

  out_video_dir=${OUT_DATA_DIR}/${video_name}/
  mkdir -p "${out_video_dir}"

  out_name="${out_video_dir}/${video_name}_%06d.jpg"

  ffmpeg -i "${video}" -r 1 -q:v 1 "${out_name}" 
done

 cut_videos_frames.sh 所在的目录:D:\data

3 在window中运行sh文件,进行切割视频

 将上面的步骤都完成后,在window上运行.sh文件对视频进行切割,现在需要用到git。

打开git方法,法一:

  进入cut_videos_frames.sh所在路径

法二:进入.sh所在的目录,在该路径中输入git bash,进入后即在该.sh所在目录的路径下 。

 然后输入 sh cut_videos_frames.sh,即可将D:\data\mydata文件夹下的所有视频进行切割。视频文件命名要有顺序。

 切割后D:\data\output文件夹如下:

4  Ubuntu上直接用下面的命令(进入到路径cut_videos_frames.sh中)
bash cut_videos_frames.sh

参考:自定义AVA数据集(在window上实现)_mmaction2 自定义数据集_郑琳潇的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值