mp4切片m3u8(ffmpeg)

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,其稳定性受到从事视频方面工作者的喜爱。
最近在做一个视频方面的项目,就用到了ffmpeg,真的很好用,昨天通过ffmpeg将mp4视频转换m3u8格式, 将视频均匀分割,在播放时可以很快的进行加载完成并进行播放,比传统的mp4格式加载更快,更能将浏览器的压力降低,因为加载一段十几兆的视频比加载几百兆视频更加容易,对一些电脑配置较低的用户尤为重要,因为在做的这个项目主要是在IE浏览器使用,而IE通过h5播放会比较卡,用谷歌内核的浏览器可能感觉不到,所以如果你的项目也是在IE播放,m3u8格式的视频绝对是一大优化利器,我做的这个项目是一个页面加载两个视频,对我说优化效果更令人满意。

m3u8转mp4

ffmpeg -i  YTDYK_151.0-155.2_1920.mp4 -y -map 0 -f segment -segment_time 10 -segment_list YTDYK_151.0-155.2_1920.m3u8 -segment_list_entry_prefix http://192.168.1.67/video/  YTDYK_151.0-155.2_1920-%03d.ts
  1. ffmpeg是ffmpeg可执行程序,实际使用需加路径
  2. -y 是否覆盖
  3. -segment_time 每段视频时间 必须是10的倍数
  4. -segment_list m3u8的存储路径
  5. -segment_list_entry_prefix 生成m3u8列表文件的,可以用来增加绝对路径和相对路径
  6. 最后则是ts切片文件的存储路径

为了防止新手容易出现问题,附上我写的一个demo,希望能帮到你

String cmd="D:\\IdeaReq2\\src\\main\\resources\\ffmpeg\\ffmpeg.exe -i " +
               "C:\\Users\\Administrator.USER-20190902AI\\Desktop\\2c92d0fb6cfa3491016cfa6ea9bc0078\\2019-06\\2c92d0fb6cfb1ddd016cfb246f2e001c\\0\\001\\YTDYK_151.0-155.2_1920.mp4" +
               " -y  ";
       cmd+="-map 0 -f segment -segment_time 10 -segment_list C:\\Users\\Administrator.USER-20190902AI\\Desktop\\2c92d0fb6cfa3491016cfa6ea9bc0078\\201906\\2c92d0fb6cfb1ddd016cfb246f2e001c\\0\\001\\YTDYK_151.0-155.2_1920.m3u8" +
               " -segment_list_entry_prefix http://192.168.1.67/video/  C:\\Users\\Administrator.USER-20190902AI\\Desktop\\2c92d0fb6cfa3491016cfa6ea9bc0078\\2019-06\\2c92d0fb6cfb1ddd016cfb246f2e001c\\0\\001\\YTDYK_151.0-155.2_1920-%03d.ts";
       Process process = Runtime.getRuntime().exec(cmd);
       System.out.println("---2--------");
       BufferedReader br= new BufferedReader(new InputStreamReader(process.getErrorStream()));
       String line = null;
       while ((line = br.readLine()) != null) {
    
    //输出控制台日志
           System.out.println(line);
       }
       process.waitFor();
       System.out.println("---3--------");

猜你喜欢

转载自blog.csdn.net/qq_38306425/article/details/102606130