【slowfast中ava数据集处理】ava数据集,将原视频裁剪为15分钟每段

下载完成ava的训练集后,下一步要做的就是把训练集切割为每个视频15分钟。

切割之前,要在windows下安装ffmpeg,git等东西,完成如下的操作

ffmpeg和git安装

Windows安装配置ffmpeg过程
ffmpeg下载链接(最好使用迅雷下载)

windows下安装git(linux,macos都可以在官网下载):Downloading Git(最好使用迅雷下载,github最近不稳定)
git的安装过程

Windows 系统下.sh文件的运行

ffmpeg裁剪视频测试

先拿一个ava视频拿来裁剪看看
如下图:
在这里插入图片描述
编写1.sh这个脚本,这个脚本内容很简单:

ffmpeg -ss 900 -t 901 -i "./_145Aa_xkuE.mp4" "./1.mp4"

接下来运行1.sh
在1.sh所在的位置单击鼠标右键,选择:Git Bash Here
在这里插入图片描述

在这里插入图片描述
输入命令:sh 1.sh

在这里插入图片描述使用cpu跑速度非常慢,可以看看cpu和GPU的消耗,cpu几乎满负荷,但是GPU基本没动。

在这里插入图片描述

使用ffmpeg剪辑训练视频

训练视频非常多,有299个,我的而电脑从上午8点半跑到晚上10点左右,剪辑了223个视频。
下面是剪辑视频的代码:

# videos文件里放的是原视频
# videos_15min文件里放的是剪辑的视频
IN_DATA_DIR="./videos"
OUT_DATA_DIR="./videos_15min"

# 剪辑处理代码
for video in $(ls -A1 -U ${IN_DATA_DIR}/*)
do
  out_name="${OUT_DATA_DIR}/${video##*/}"
  if [ ! -f "${out_name}" ]; then
    ffmpeg -ss 900 -t 901 -i "${video}" "${out_name}"
  fi
done

将这个代码保存为1.sh
然后单击鼠标右键选择Git Bash Here,在命令行输入:sh 1.sh

意外处理

这么多的视频。如果中途出现问题,就像我,剪辑到223个的时候,电脑就不小心关机了,总不能又花13个小时重新剪辑吧。

我们要做的就是,通过python把未处理的视频找出来,然后再次处理。

代码如下:

import os
import shutil

# 读出 videos_15min 文件里视频的名字
videos_15min = r'./videos_15min'
file1_list = os.listdir(videos_15min)

# 将 videos_15min 文件里视频名字保存到 数组 test_list 里
test_list = []
for file in file1_list:
    test_list.append(file)
    
# 读出 videos 文件里视频的名字
videos = r'./videos'
file2_list = os.listdir(videos)


# videos2_path  里保存未被处理的视频
videos2_path = r'./videos2'

# a用来计数已经处理的视频个数
# b用来计数未被处理的视频个数
a=0
b=0
# 找出 videos_15min 和 videos不同的文件(即未被处理的文件),然后在videos2里保存未被处理的
for i in file2_list:
    if i in test_list:
        b=b+1
	else:
        new_name = videos2_path + '\\' + i
        a=a+1
        shutil.copyfile(os.path.join(videos,i), new_name)

最后把未被处理的视频剪辑为15分钟,那么ava数据集裁剪过程就完成

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值