当前位置:   article > 正文

第四篇——胡咧咧之动漫素材如何快速分类?_怎么把动漫快速分解为素材

怎么把动漫快速分解为素材

第四篇——胡咧咧之动漫素材如何快速分类?

上一篇,提到直接拼接是不行的哈。

这里呢,剪辑人面临的一个难点是如何整备自己的素材资源呢?
我也是想了很久,问度娘,很多人都说自己弄个素材库,再找就方便了。

我呢,也不打算找其他方法了,如果有,麻烦告知一下我哈,谢谢了,大佬!!!爱你么么哒
在这里插入图片描述

这么多视频,我不可能从头看完,再做笔记,记下第几集几分几秒开始是鸣人哈哈大笑,从几分几秒开始战斗,我的时间不允许这么干,这不是要肝死我嘛。心疼我的肝,我还是用java看看能不能解决吧。

百度了一下,是有的,叫FFMPEG,好像还很有名的样子,总算是给了我一点希望。。。

继续搜寻下去,各种奇葩指令,cmd执行。

灵机一动,去码云上找找,果然,有大佬贡献过此方面的代码,百度也有代码,比对了一下,直接上手重写了一下代码,大意就是通过java去执行cmd里的ffmpeg的各种命令,用java实现业务逻辑,用ffmpeg实现视频分割,拼接,好像还有很多功能,只可惜我不会用,啧啧

先实现的是,分割,指定时间3秒,将所有视频全部分割成3s一段的小视频,这个好处就是,一目了然,不用看视频了。

下面我随便切了一个视频哈,这样查看缩略图就能快速定位自己的视频素材了,感觉还可以吧,毕竟程序只能帮助解决一部分劳动力,要是那么完美,也不太现实,目前,只能采取半程序自动化半人工筛选的方式,快速组织自己的视频素材库。

在这里插入图片描述

接下来就是分类,比如:鸣人哭,笑,踢腿,出拳,战斗等,进行分类,

第一想到的就是图片识别自动分类,可是百度了一下,机器学习搞不了啊,估计是有难度的,只能花时间,人工上了,我亲自筛选了。

可能这种分割视频软件市面上也有,可是,不是收费就是试用,最后还是要让我掏MONEY,我兜比脸都干净,大爷们啊,饶了我吧。我只想挣点块八毛的,别糟蹋我了。所以,没办法,自己动手,自给自足,只能自己上代码了,好处就是,我专有,为我私人定制,哈哈,我也体验一下甲方,自己提需求,自己动手解决吧

	/**
	 * 截取
	 * @param newVideoTime//设置每个视频总时间,s秒
	 * @param chaVideoTime//设置每个视频上下浮动时间,s秒
	 */
	public static void toclip(String inpath,String outpath) {
		
		int newtime=Integer.parseInt(PropertiesUtil.get("clip_newtime"));//设置每个切片视频的时间,s秒
		int chatime=Integer.parseInt(PropertiesUtil.get("clip_chatime"));//设置每个视频上下浮动时间,s秒
		
		System.out.println("********开始获取文件夹下所有文件********");
		FileUtil.deleteEveryThing(outpath);//全部删除
		FileUtil.mkDirs(outpath);//文件夹不存在则创建 
		File partsfile = new File(inpath);
        if (partsfile.isDirectory()) {
        	File[] files = partsfile.listFiles();
        	for (int j = 0; j < files.length; j++) {
        		String file_path=files[j].getAbsolutePath();//
        		
        		VideoParameters video=FormatConversion.getVideoParameters(file_path);
        		if (null == video) {
        			throw new RuntimeException("未解析到视频信息");
        		}
        		
        		
        		File videoFile = new File(file_path);//视频源
        		//创建文件夹以part文件名命名
        		String video_name=videoFile.getName();
        		String part_name=video_name.substring(0,video_name.lastIndexOf("."));
        		String part_outpath=outpath+"/"+part_name;
        		FileUtil.mkDirs(part_outpath);//文件夹不存在则创建 
        		
        		Long videoTimeL=video.getVideoLengthTime();//视频时长 ,单位:秒
        		int count=videoTimeL.intValue()/newtime;//newtime每个视频总时间,s秒
        		//System.out.println(count);//总个数
        		String numstr="";
        		for(int i=1;i<=count;i++) {
        			
        			numstr=CommonUtil.numtostr(i);
        			
        			//新视频路径==拼接新文件路径,拼接原文件名
        			String newFilePath=part_outpath+"/"+numstr+"_"+videoFile.getName();
        			File outputFile = new File(newFilePath);//剪切后视频
        			
        			// int random=new Random().nextInt(videoTimeCha);//视频随机时间,目的生产不同时段的视频
        			int random=(int)(Math.random() * chatime);//视频随机时间,目的生产不同时段的视频
        			Long newVideoTime1=(newtime*i+random)*1000L;//计算剪切开始时间,毫秒
        			//计算时分秒
        			SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");//初始化Formatter的转换格式。
        			formatter.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));
        			String hms = formatter.format(newVideoTime1);
        			//System.out.println(hms);
        			
        			String[] hmsarr = hms.split(":");
        			Time time= new Time(0);
        			time.setHours(Integer.parseInt(hmsarr[0]));
        			time.setMinutes(Integer.parseInt(hmsarr[1]));
        			time.setSeconds(Integer.parseInt(hmsarr[2]));
        			System.out.println(time.toString());
        			
        			VideoService.cutVideo(videoFile, outputFile, time, newtime+random);
        		}
        	}
        }
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

对你没看错,就是这么个代码,就能裁剪了,电脑配置高,贼快贼快,好了,先做第一步,裁剪,后面再和大家说哈,心急吃不了热豆腐,我也是边摸索边干吧。

对不起大家,我只是个菜鸡,宝宝心里苦啊。。。。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/485726
推荐阅读
相关标签
  

闽ICP备14008679号