对视频进行分块,断点续传

这篇具有很好参考价值的文章主要介绍了对视频进行分块,断点续传。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 分块测试

    //分块测试
    @Test
    public void testChunk() throws IOException {
        //源路径
        File sourceFile = new File("D:\\BaiduNetdiskDownload\\Day1-00.项目导学.mp4");
        //分块文件存储路径
        String chunkFilePath = "D:\\develop\\chunk\\";
        //分块文件大小
        int chunkSize = 1024*1024*1;
        //分块文件个数
        int chunkNum = (int) Math.ceil(sourceFile.length()*1.0/chunkSize);
        //使用流从源文件读数据,向分块文件中读数据
        RandomAccessFile raf_r = new RandomAccessFile(sourceFile,"r");
        byte[] bytes = new byte[1024];
        for (int i = 0; i < chunkNum; i++) {
            //创建分块文件夹
            File chunkFile = new File(chunkFilePath + i);
            //创建分块文件写入流
            RandomAccessFile raf_rw = new RandomAccessFile(chunkFile, "rw");
            int len = -1;
            //将数据读到缓冲区中
            while((len=raf_r.read(bytes))!=-1){
                //将数据从缓冲区读出后写入文件中
                raf_rw.write(bytes,0,len);
                if(chunkFile.length()>=chunkSize){
                    break;
                }
            }
            raf_rw.close();
        }
        raf_r.close();
    }

将视频分块成1mb一份的文件 对视频进行分块,断点续传,java

将分块的视频重新合并文章来源地址https://www.toymoban.com/news/detail-829041.html

//将分块进行合并
    @Test
    public void testMerge() throws IOException {
        //块文件目录
        File chunkFolder = new File("D:\\develop\\chunk\\");
        //源文件
        File sourceFile = new File("D:\\BaiduNetdiskDownload\\Day1-00.项目导学.mp4");
        //合并后的文件
        File mergeFile = new File("D:\\develop\\Day1-00.项目导学2.mp4");
        //取出所有分块文件
        File[] files = chunkFolder.listFiles();

        List<File> filesList = Arrays.asList(files);
        //排序
        Collections.sort(filesList, new Comparator<File>() {
            @Override
            public int compare(File o1, File o2) {
                return Integer.parseInt(o1.getName())-Integer.parseInt(o2.getName());
            }
        });

        //写入流
        RandomAccessFile raf_rw = new RandomAccessFile(mergeFile,"rw");
        //缓冲区
        byte[] bytes = new byte[1024];

        for (File file : filesList) {
            int len = -1;
            //读分块的流
            RandomAccessFile raf_r = new RandomAccessFile(file,"r");
            while ((len=raf_r.read(bytes))!=-1){
                raf_rw.write(bytes,0,len);
            }
            raf_r.close();
        }
        raf_rw.close();
    }

到了这里,关于对视频进行分块,断点续传的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java实现文件断点续传

    文件断点续传代码 测试代码

    2024年03月09日
    浏览(41)
  • aliyun-oss-sdk阿里云OSS视频上传(断点续传)前端实现

    最近上传视频的功能,突然炸了,两年没动的代码,突然不行辽,首次上传成功,后面继续上传就可以,但凡有一次上传失败,再上传文件就不行。 这里博主使用的是凭证上传方式哈。 官方文档:Web(JavaScript)上传SDK 查看了官方文档,确实是提到了,如使用1.5.3之前版本重

    2024年02月07日
    浏览(40)
  • minio&前后端分离上传视频/上传大文件——前后端分离断点续传&minio分片上传实现

    🍀🍀🍀🍀分布式文件系统-minio: 第一章:分布式文件系统介绍与minio介绍与使用(附minio java client 使用) 第二章:minio前后端分离上传视频/上传大文件——前后端分离断点续传minio分片上传实现 断点续传指的是在下载或上传时,将下载或上传任务(一个文件或一个压缩包

    2024年02月03日
    浏览(54)
  • Spring Boot实现HTTP大文件断点续传分片下载-大视频分段渐进式播放

    服务端如何将一个大视频文件做切分,分段响应给客户端,让浏览器可以渐进式地播放。 Spring Boot实现HTTP分片下载断点续传,从而实现H5页面的大视频播放问题,实现渐进式播放,每次只播放需要播放的内容就可以了,不需要加载整个文件到内存中。 文件的断点续传、文件多

    2024年02月14日
    浏览(75)
  • Spring-Boot实现HTTP大文件断点续传分片下载-大视频分段渐进式播放

    服务端如何将一个大视频文件做切分,分段响应给客户端,让浏览器可以渐进式地播放。 Spring Boot实现HTTP分片下载断点续传,从而实现H5页面的大视频播放问题,实现渐进式播放,每次只播放需要播放的内容就可以了,不需要加载整个文件到内存中。 文件的断点续传、文件多

    2024年02月11日
    浏览(56)
  • JAVA面试题分享五百一十一:Spring Boot基于WebUploader实现超大文件上传和断点续传

    目录 前言 目标 实现思路 大文件分片 合并分片 断点续传 代码实现 1、webuploader组件中,分片上传怎么开启? 2、webuploader组件中,文件的md5值如何计算? 3、webuploader组件中,分片文件的md5值如何计算? 4、webuploader组件中,分片上传的的请求在哪里触发? 5、前端、后端如何校

    2024年02月19日
    浏览(61)
  • springboot项目实现断点续传

    java代码 前端代码 mainjs导入uploader 安装uploader和spark-md5的依赖 创建uploader组件

    2024年02月11日
    浏览(45)
  • 1. 大文件上传如何断点续传

    文件分片 - 将文件分割成多个小块,以便于上传和管理。 计算文件以及分片文件的Hash值 - 生成唯一标识符 - 通过计算文件及其分片的Hash值来创建一个唯一的标识符。 上传分片 - 根据标识符判断分片文件上传状态 - 避免重复上传。 如果上传中断,下次上传时根据标识符跳过

    2024年04月22日
    浏览(33)
  • 【项目实战】大文件断点续传,搞起

    今天给大家分享的又是一篇实战文章,也是最近私活里遇到的,万能的互联网给了我办法,分享一下。 最近接到一个新的需求,需要上传 2G 左右的视频文件,用测试环境的 OSS 试了一下,上传需要十几分钟,再考虑到公司的资源问题,果断放弃该方案。 一提到大文件上传,

    2024年02月12日
    浏览(48)
  • springboot 、html分片上传,断点续传

    后端代码 注意:合并分片代码中: Files.write(mergedFilePath, Files.readAllBytes(chunkFilePath), StandardOpenOption.APPEND); 如果不设置该值 StandardOpenOption.APPEND ,无法打开合并后的文件 前端代码

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包