一、什么是m3u8:

M3U8视频格式也是一种M3U,只是它的编码格式是UTF-8格式。M3U用Latin-1字符集编码。M3U8格式特点是带有一个目录信息或文件。

二、为什么使用m3u8:

随着客户在移动端播放的需求日益强烈,我们的转码软件开始输出mp4格式文件,经过测试,发现优秀的软件压缩mp4跟flv压缩率几乎相差无几,于是我们把输出格式统一为mp4,经过我们软件处理后的mp4文件能实现无缓冲拖拽播放(快进播放),也解决了部分视频文件有声音无画面的问题,赢得了客户的好评。

随着客户的增加,mp4文件播放的弊端也日益凸显,主要集中在两个方面,一是当视频时长比较长的时候,mp4的关键帧元素往往很大,需要加载很长时间才能开始播放,网速不好的情况缓冲加载就要20多秒的时间,客户早已急不可耐。二是当用户打开一个视频播放的时候,浏览器会持续请求下载mp4文件直到下载完成,就算是用户暂停视频播放浏览器也会持续这种下载状态,如果这个视频文件是500M则会请求服务器下载500M文件,是1G则会不停下载1G,给服务器硬盘和宽带造成很大浪费和压力。

于是我们参考优酷土豆等大型视频网站系统的播放文件,发现他们的视频文件都是分段播放的,即把一个大的视频文件按照一定大小或时长把一个视频分为N段播放,这样的优势是打开视频加载速度快,可以达到秒播,另外一个优势是当视频播放第N段的时候,浏览器会下载N+1段,N+2则不会下载,大大缓解了服务器硬盘和宽带压力,可知道高昂的宽带成本才是视频网站的最大压力。这样的视频文件处理方式得到了大量客户的一致好评。

可是很快我们又发现了一个很严重的问题,xml分段列表的视频在IOS上面也是一筹莫展,为了让视频在IOS设备播放还得保留mp4文件给IOS设备播放。于是m3u8播放列表登场了。

m3u8是苹果公司开发的一项新型播放格式,这种播放格式支持目前市面的windows、androis、ios设备主流的浏览器,同样的视频文件既可以在flash环境播放,又能在无flash的html5环境播放,它的优势还不止于此,它可以实现多种码率在不同网速下的自动切换,网速好自动切换高清晰度视频,网速慢自动播放低清晰度文件,还可以实现流加密(视频文件本身加密)、分段下载播放、任意时间点拖拽播放、随机视频文件广告插入等等优势,所以最新版的云转码视频系统仅把m3u8作为唯一的播放格式而放弃了其他格式的输出。

三、安装ffmpeg:

首先下载windows 可用的ffmpeg文件

网址为:https://ffmpeg.zeranoe.com/builds/

1、下载后直接解压:

2、配置环境变量:

在系统变量的path中添加ffmpeg文件夹中 bin 的路径

配置完成后检测是否配置成功

在CMD中输入 ffmpeg -version,出现如下信息则配置成功

四、开始转换:

  1. 准备Mp4文件

打开CMD

根据文件位置在CMD中执行以下命令

ffmpeg -i E:\demo\demo.MP4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls E:\demo\demo.m3u8

如出现以下提示则转换成功

我们看一下转换m3u8文件夹中的文件

文件中包括一个m3u8文件和多个ts文件

我们打开m3u8文件

发现文件中其实就是指定了其他文件的路径。

个人的理解:转换后的文件就是几个视频的切片文件(.ts文件)组成的列表,在m3u8文件中记录了切片文件的顺序,当我们访问m3u8文件时,会依次加载几个小的视频切片文件。

当我们需要访问当前视频的时候只需要将地址直接指向当前m3u8文件地址即可

使用ffmpeg将MP4视频转换为m3u8格式相关推荐

  1. MP4视频转m3u8格式

    一.m3u8是什么? m3u8是苹果公司推出的视频播放标准,是m3u的一种,只是编码格式采用的是UTF-8. M3U文件是一个记录索引的纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对 ...

  2. srs服务器播放文件,使用SRS+ffmpeg搭建流媒体服务器播放m3u8格式视频

    1.简介 srs是一个简单的流媒体开源直播软件,ffmpeg是完整的跨平台解决方案,用于记录,转换和流传输音频和视频. 2.相关 官网下载页面:点击我到达 在线演示播放页面:点击我到达 Git页面:点 ...

  3. 使用 Python 将 MP4视频 转换为GIF动画

    使用 Python 将 MP4视频 转换为GIF动画 Python 可用于读取常见的 MP4 视频格式并将其转换为 GIF动画.当然,如果你愿意,你可以使用预先构建的软件,但是自己做很有趣(并且是一种 ...

  4. python之 ffmpeg给mp4视频添加字幕

    目录 ffmpeg给mp4视频加字幕 执行结果: ffmpeg给mp4视频加字幕 前期输入准备: mp4视频 外挂字幕:是一个单独的外部字幕文件,格式类型一般有srt.vtt.ass等等.播放视频时, ...

  5. mp4转gif 转换_如何将MP4视频转换为GIF

    GIF(图形交换格式)基本上是动画图像,由于能够传达大量信息而被广泛使用.因此,当您无法使用MP4或其他视频的时候,GIF就可以解决此问题.此外,在处理大量动画时,需要将MP4和其他格式的视频转换为G ...

  6. js将英文转换为数字_如何将MP4视频转换为GIF

    GIF(图形交换格式)基本上是动画图像,由于能够传达大量信息而被广泛使用.因此,当您无法使用MP4或其他视频的时候,GIF就可以解决此问题.此外,在处理大量动画时,需要将MP4和其他格式的视频转换为G ...

  7. 使用FFmpeg合并MP4视频

    使用FFmpeg合并MP4视频 1. 使用mpeg拼接 2. ==使用ts拼接== 使用FFmpeg合并MP4视频 windows/linux下均可用 1. 使用mpeg拼接 速度慢,文件大 将 mp ...

  8. m3u8转换到mp4 python_python实现m3u8格式转换为mp4视频格式

    开发动机:最近用手机QQ浏览器下载了一些视频,视频越来越多,占用了手机内存,于是想把下载的视频传到电脑上保存,可后来发现这些视频都是m3u8格式的,且这个格式的视频都切成了碎片,存在电脑里不方便查看, ...

  9. (工具ffmpeg)视频转换为flv格式,视频截取图片

    /**/ /// <summary>         /// 视频(avi,mov等等格式)转换为flv格式视频         /// </summary>          ...

最新文章

  1. AKOJ-1695-找素数
  2. 算法与数据结构(约瑟夫问题)
  3. 2019小程序没必要做了_2019微信小程序的发展前景怎么样?有必要开发微信小程序吗?...
  4. 如何获得github的oauth access token
  5. 离开时请告诉自己生意就是生意
  6. 深入浅出VC++串口编程--短信应用开发
  7. 渐变背景免费UI设计素材专辑,让设计显得魅力非凡
  8. es6添加删除class_es6-class的基本用法
  9. 【白皮书分享】2020智能体白皮书-华为.pdf(附下载链接)
  10. codeblocks中文编码问题
  11. 飞秋mac版字符乱码_Mac必装软件推荐,下载方法也给你了。
  12. 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
  13. 自定义django表单
  14. 一元线性回归预测:销售收入与广告支出实战
  15. 小米6显示服务器出错,小米6解锁BL显示未连接手机解决办法以及各种小技巧汇总......
  16. CRM及协同办公高保真原型、审批管理、办公申请、工单管理、任务管理、日程管理、工作报告、签到考勤、客户管理、销售线索、商机管理、订单管理、账务管理、统计报表、回款管理、发票管理、报销管理、拜访跟进
  17. 无法直接在IE中打开PDF文件的解决方法
  18. c语言五子棋学年论文,基于c语言五子棋小游戏生本科论文.doc
  19. pr导入预设发现带入原片,选择合适序列预设即可
  20. Cadillac CTS-V

热门文章

  1. 解决rabbitmq add_user 报错
  2. 【uniapp】 限时秒杀scroll-view商城秒杀倒计时
  3. 使用STM32CubeMX中的芯片仿真
  4. python之items()的用法
  5. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 K-Dimensional Foil II(二分瞎搞)
  6. 计算机前景 英语作文,计算机与我英语作文范文 The Computer and I
  7. C语言程序飞机大战,C语言版飞机大战游戏
  8. 微信的七年之痒要靠子弹短信来救?
  9. Ansible自动化运维工具之playbook剧本编写
  10. oracle 中(+)是什么意思?