首先大部分视频是压缩流媒体,你得有相应的解码器。也就是解压视频数据的算法,上网搜搜也许能搜索到相关的java类库。
然后你得建立自己一个“视频流”,原理类似于字节流,字符流等java标准类库里有的流。并编写相应算法,形成流位置与视频时间的映射,这样通过时间段的截取就可以得到相应的视频片段。最后是对所截取的流进行包装,写入文件信息,并最终写入硬盘形成新的完整的视频文件。
但要注意的是,因为视频文件较大,一次性全部读入内存对性能影响较大。对流的读取最好只取小片段,一点一点的处理。
这就是大概的原理,实现起来还是很有难度的,加油吧,网上资料很多,百度一下,找到它们
1、接收前端上传的文件
/
接收多文件
/
@RequestMapping("/upload")
public R uploadFile(@RequestParam Map<String, Object> params, >
// 复杂类型的request对象
Multipart>
// 获取文件名集合放入迭代器
Iterator<String> files = mRequestgetFileNames();
while (fileshasNext()) {
// 获取上传文件的对象
MultipartFile mFile = mRequestgetFile(filesnext());
if (mFile != null) {
//原始文件名称
String oldfile = mFilegetOriginalFilename();
//文件后缀
String suffix = oldfilesubstring(oldfileindexOf(''), oldfilelength());
String suffix2 = oldfilesubstring(oldfileindexOf('')+1, oldfilelength());
/文件处理/
}
}
}
2接收前端上传的文件
/
接收附件
@param request
@return
/
@ResponseBody
@RequestMapping(value="fileupload",method=RequestMethodPOST)
public void springUpload(>
//将当前上下文初始化给 CommonsMutipartResolver (多部分解析器)
CommonsMultipartResolver multipartResolver=new CommonsMultipartResolver(
requestgetSession()getServletContext());
//检查form中是否有enctype="multipart/form-data"
if(multipartResolverisMultipart(request)) {
//将request变成多部分request
Multipart>
//获取multiRequest 中所有的文件名
Iterator iter=multiRequestgetFileNames();
while(iterhasNext()){
//一次遍历所有文件
MultipartFile file=multiRequestgetFile(iternext()toString());
//最初上传文件名的文件名
String oldFilename = filegetOriginalFilename();
//获取初始文件名后缀
String fileSuffix = oldFilenamesubstring(oldFilenamelastIndexOf("") +1);
/文件处理/
}
}
3接收前端上传的文件
/
接收文件
@param model
@return
@throws IOException
@throws IllegalStateException
/
@RequestMapping(value = "imageupload")
public void imageUpload(MultipartFile file) throws IllegalStateException, IOException {
//文件名称
String realFileName = filegetOriginalFilename();
//文件后缀
String suffix = realFileNamesubstring(realFileNamelastIndexOf("") + 1);
/文件处理/
}
以上就是关于如何编写切割视频的java程序哪位有思路指点下全部的内容,包括:如何编写切割视频的java程序哪位有思路指点下、用java怎么实现从前端接收、处理并传回视频、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)