java将m3u8格式转成视频文件的方法

这是一次尝试,android手机将在线的m3u8小电影保存到手机端,手机端把文件复制到电脑端。
然后使用小工具合并成可播放的视频。

/**
 * 合并视频文件
 *
 */
public class MergeVideos {
 /**
 * source为源地址,destination为合并之后的文件地址,videoName为合并后视频的名字,num为视频数量
 * @param source
 * @param destination
 * @throws IOException
 */
 public static void MergeVideos(File source, String destination) throws IOException{
 FileOutputStream out = new FileOutputStream(destination);
 FileInputStream in = null;
 File[] files = source.listFiles();
 for(File file: files){
  in = new FileInputStream(file);
  byte[] bytes = new byte[1024];
  int len = 0;
  while((len = in.read(bytes)) > 0){
  out.write(bytes,0,len);
  }
 }
 in.close();
 out.close();
 }
}
public class M3u8Util{
  /**
   * 根目录
   * @param root
   */
  public static void findFile(File root) throws IOException {
    if(root.exists()){
      if(root.isDirectory()){
        File[] categorys=root.listFiles();
        for(File cate: categorys){
          if(rename(cate)){
            MergeVideos.MergeVideos(cate,cate.getName()+".ts");
          }
        }
      }else{
        System.out.println("file name: "+root.getName());
      }
    }
  }
  /**
   * 将0 改成00或者 000
   * @param cat
   */
  public static boolean rename(File cat){
    if(cat.exists()){
      if(cat.isDirectory()){
        File[] files=cat.listFiles();
        int len=String.valueOf(files.length).length();
        String file0=files[0].getName();
        String pre=file0.substring(0,file0.length()-1);
        Integer max=pre.length()+len;
        Arrays.stream(files)
            .filter(temp->max-temp.getName().length()>0)
            .forEach(item->{
              int fill=max-item.getName().length();
              String name="";
              for(int i=0;i<fill;i++){
                name+=0;
              }
              String n=item.getAbsolutePath().replace(pre,pre+name);
              item.renameTo(new File(n));
            });
        return true;
      }else{
        System.out.println("file name: "+cat.getName());
      }
    }
    return false;
  }

核心代码如上,再加上一个swing界面,堪称完美。

目录选择方式,可以选择粘贴,或者文件选择的方式。

运行完成。合并的文件都好了。

总结

到此这篇关于java将m3u8格式转成视频文件的方法的文章就介绍到这了,更多相关java m3u8 视频内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java调用ffmpeg实现视频转换的方法

    本文实例讲述了java调用ffmpeg实现视频转换的方法.分享给大家供大家参考.具体分析如下: 这里环境我是在windows平台下测试的... 需要在e:\下有ffmpeg.exe;mencoder.exe;drv43260.dll;pncrt.dll共4个文件.   还要在e:\input下放各种文件名为a的以下各种视频文件:还要e:\output:java程序执行后能得到一个a.flv的已转换的文件. ffmpeg.exe能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov

  • Java爬虫抓取视频网站下载链接

    本篇文章抓取目标网站的链接的基础上,进一步提高难度,抓取目标页面上我们所需要的内容并保存在数据库中.这里的测试案例选用了一个我常用的电影下载网站(http://www.80s.la/).本来是想抓取网站上的所有电影的下载链接,后来感觉需要的时间太长,因此改成了抓取2015年电影的下载链接. 一 原理简介 其实原理都跟第一篇文章差不多,不同的是鉴于这个网站的分类列表实在太多,如果不对这些标签加以取舍的话,需要花费的时间难以想象. 分类链接和标签链接都不要,不通过这些链接去爬取其他页面,只通过页底的

  • java创建简易视频播放器

    最近有个多媒体的作业,要求使用visualC++和OpenCV编写一个简易的视频播放器,对于C/C++残疾者而言是不可能的,于是萌生了用Java编写的想法.具体经验分享一下. 目标:制作简易视频播放器 开发工具:eclipse4.5.1:VLC2.2.1 具体内容:完成了视频的加载.播放.退出的功能:实现了视频播放过程中控制播放进程:实现播放过程中控制暂停. 最终程序效果图如下: 开发过程参考学习资源: 极客学院视屏教程 Java framework for the vlc media play

  • java实现优酷视频地址解析示例代码分享

    举个例子比较好理解,比如我现在要下http://v.youku.com/v_show/id_XNDM2Mjc0MzAw.html这个视频.这里我们要获得的是视频的id,就是XNDM2Mjc0MzAw这部分,这是一个视频唯一的,所以在解析的时候肯定会用到. 为了能看清楚youku视频的播放过程,可以使用火狐的插件firebug对网页进行跟踪,如下图. 可以看到有很多GET,我们要找的应该是以这个id作为参数的GET,在下面我们可以找到这个链接http://v.youku.com/player/ge

  • Java使用FFmpeg处理视频文件的方法教程

    前言 本文主要讲述如何使用Java + FFmpeg实现对视频文件的信息提取.码率压缩.分辨率转换等功能: 之前在网上浏览了一大圈Java使用FFmpeg处理音视频的文章,大多都讲的比较简单,楼主在实操过程中踩了很多坑也填了很多坑,希望这份详细的踩坑&填坑指南能帮助到大家: 1. 什么是FFmpeg 点我了解 2. 开发前准备 在使用Java调用FFmpeg处理音视频之前,需要先安装FFmpeg,安装方法分为两种: 引入封装了FFmpeg的开源框架 在系统中手动安装FFmpeg 2.1 引入封装

  • Java获取视频时长及截取帧截图详解

    前言 只是最近碰到有这方面的项目需求,所以简单 Mark 下本文.下面的示例是参考过他人分享的文章,之后本人再自行实践.调整和测试过的,希望对有这方面需求的人有所帮助. 示例 添加依赖 <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platform</artifactId> <version>1.4.4</version> </depe

  • 教你轻松制作java视频播放器

    前言 跳过废话,直接看正文 当年入坑Java是因为它的跨平台优势.那时我认为,"编写一次,处处运行."这听上去多么牛逼,应该是所有语言发展的终极之道,java势必会一统天下. 然而事实证明,那时的我还是太年轻. 正所谓鱼和熊掌不可兼得,若要享受跨平台带来的方便,便不可避免地要接受性能上的不足.事实上,java一直在致力于提高虚拟机的性能(JIT等技术),但面对对实时计算性能要求很高或涉及到用硬件优化的任务(视频的硬件编码.解码)时,仍远远比不上c或c++.因此,很少能够看到有人用jav

  • Java刷视频浏览量点赞量的实现代码

    说明 这几天班主任一直让我们访问一个网页来观察看视频,增加访问次数.每个班级还有指定的名额...而且经过我的测试,点赞次数是在观看视频一会才出现的.. 可是身为计算机专业的 肯定不想一直点啊 点啊 于是我就有了一个大胆的想法 分析 于是我就查看网页的源代码 这行代码是弹出点赞的时间为18s. 18秒后发生了什么呢 ?继续看 可以看到这个弹出点赞的父div为class="video_mask" 而且默认的显示框类型为none,即不显示. 好吧 废话不多说. 主要看下面的 如果我们点击了t

  • java将m3u8格式转成视频文件的方法

    这是一次尝试,android手机将在线的m3u8小电影保存到手机端,手机端把文件复制到电脑端. 然后使用小工具合并成可播放的视频. /** * 合并视频文件 * */ public class MergeVideos { /** * source为源地址,destination为合并之后的文件地址,videoName为合并后视频的名字,num为视频数量 * @param source * @param destination * @throws IOException */ public sta

  • Python解析m3u8拼接下载mp4视频文件的示例代码

    一.关于m3u8: m3u8是苹果公司推出一种视频播放标准,是m3u的一种,不过编码方式是utf-8,是一种文件检索格式,将视频切割成一小段一小段的ts格式的视频文件,然后存在服务器中(现在为了减少I/o访问次数,一般存在服务器的内存中),通过m3u8解析出来路径,然后去请求. 示例: #EXTM3U #EXT-X-TARGETDURATION:10 #EXTINF:9, http://data.video.iqiyi.com/videos/vts/20210301/69/b8/73ad4ef0

  • python实现m3u8格式转换为mp4视频格式

    开发动机:最近用手机QQ浏览器下载了一些视频,视频越来越多,占用了手机内存,于是想把下载的视频传到电脑上保存,可后来发现这些视频都是m3u8格式的,且这个格式的视频都切成了碎片,存在电脑里不方便查看,于是想把它转换为其他可以直接打开播放的完整视频,到网上找了一些工具,都不怎么好用,后来发现一个手机端的"缓冲合并工具",倒是可以用,但是合并的视频顺序是乱的,碎片的视频顺序还需要用户手动调整,感觉太耽误时间了,于是自己打算写一个转换工具. 直接上代码:(程序的文件名为:convert_m3

  • Java实现将txt文件转成xls文件的方法

    最近项目用到txt文件和xls文件的转换,这里记录一下具体的思路. 下面利用java代码实现txt转xls,这里要使用到jxl.jar包,这个包是通过java来操作Excel表格的工具类库. 该jar包支持字体.数字.日期操作,能够修饰单元格属性,还能够支持图像和图表,基本上已经满足我们的日常操作,最主要的是这套API是纯Java实现的,在Windows和Linux操作系统下,它都可以正确的处理Excel文件. 具体实现代码如下: package test; import java.io.Buf

  • jsp播放视频文件的方法总结

    本文实例讲述了jsp播放视频文件的方法.分享给大家供大家参考,具体如下: 1.avi格式 代码片断如下: JSP代码: <object id="video" width="400" height="200" border="0" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> <param name="ShowDispl

  • C#中将DataTable转换成CSV文件的方法

    DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表.CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记.CSV文件是个纯文本文件,每一行表示一张图片的许多属性. 在.net项目中运用C#将DataTable转化为CSV文件,现在提供一个较为通用的方法,具体代码如下: /// <summary> /// 将DataTable转换成CSV文件 /// </summary> /// <

  • Vue webpack 项目自动打包压缩成zip文件的方法

    这段时间用 Vue2.0 开发项目,每次打包都会用到 npm run build 命令,但是每次部署时给后端发包都要手动zip压缩,这样一两次还行,但遇到项目板块测试和临时加急功能测试的时候,一天可能就要打包好多次,这就很烦了.所以索性在执行 npm run build 命令时就直接打包成zip文件,方便省事! 1.插件装备 webpack插件:filemanager-webpack-plugin,该插件可执行打包,复制,移动,删除文件以及新文件夹在build之前及之后创建. 安装: npm i

  • python实现将html表格转换成CSV文件的方法

    本文实例讲述了python实现将html表格转换成CSV文件的方法.分享给大家供大家参考.具体如下: 使用方法:python html2csv.py *.html 这段代码使用了 HTMLParser 模块 #!/usr/bin/python # -*- coding: iso-8859-1 -*- # Hello, this program is written in Python - http://python.org programname = 'html2csv - version 20

  • python 自动化将markdown文件转成html文件的方法

    一.背景 我们项目开发人员写的文档都是markdown文件.对于其它组的同学要进行阅读不是很方便.每次编辑完markdown文件,我都是用软件将md文件转成html文件.刚开始转的时候,还没啥,转得次数多了,就觉得不能继续这样下去了.作为一名开发人员,还是让机器去做这些琐碎的事情吧.故写了两个脚本将md文件转成html文件,并将其放置在web服务器下,方便其他人员阅读. 主要有两个脚本和一个定时任务: •一个python脚本,主要将md文件转成html文件: •一个shell脚本,主要用于管理逻

  • python调用java模块SmartXLS和jpype修改excel文件的方法

    本文实例讲述了python调用java模块SmartXLS和jpype修改excel文件的方法.分享给大家供大家参考.具体实现方法如下: # -*- coding: utf8 -*- """ 使用java的模块SmartXLS和jpype修改excel 和xlrd,xlwt不同的是它可以生成和保持图表 """ from __future__ import print_function, division import os import jpyp

随机推荐