如何编写切割视频的java程序哪位有思路指点下

如何编写切割视频的java程序哪位有思路指点下,第1张

首先大部分视频是压缩流媒体,你得有相应的解码器。也就是解压视频数据的算法,上网搜搜也许能搜索到相关的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怎么实现从前端接收、处理并传回视频、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9297490.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存