就是将视频文件转码(H264+ACC)、分片(n个.ts文件)、生成列表(.m3u8)

方便网站提供视频播放服务,提升加载速度,节省流量。

1、准备好源视频文件。

2、下载 ffmpeg(http://ffmpeg.org/download.html),软件为绿色版,解压即可使用,找到其中的 ffmpeg.exe 程序。

3、为了方便使用,可以将 ffmpeg.exe 所在目录加入环境变量,或者随时拿着走也行…

4、在 命令行提示符 或 PowerShell 中,使用 ffmpeg 的参数对视频进行处理。

以 PowerShell 为例:

ffmpeg -i '.\要转换的视频文件.mp4' -c:v h264 -flags +cgop -g 30 -hls_time 20 -hls_list_size 0 '.\输出文件名.m3u8'

-hls_list_size 为 m3u8 列表存储片段数量,0为全部,因为是点播,所以存储全部

-hls_time 为每个片段的时间长度,以秒为单位

5、更多转换参数,可参考:http://ffmpeg.org/ffmpeg-formats.html#hls-2

6、等待转换完成后,即可直接使用。

参考来源:http://blog.csdn.net/jookers/article/details/21694957

附:
浏览器视频播放插件 videojs :https://github.com/videojs/video.js
videojs 的 hls 支持插件:https://github.com/videojs/videojs-contrib-hls

浏览器视频播放插件 sewise-player(已很久不更新,但其flash对旧浏览器兼容性较好):https://github.com/jackzhang1204/sewise-player

将视频转换为 HLS(HTTP Live Streaming) 协议格式文件的更多相关文章

  1. 【视频开发】opencv不能读取MP4格式文件

    用OpenCV对视频进行处理时,不能打开.mp4格式的文件.后来解决办法是用ffmpeg.exe将mp4文件转码为avi文件,然后再进行处理.但是转码过程比较慢.后来查看opencv源代码,发现它也是 ...

  2. 基于HLS(HTTP Live Streaming)的视频直播分析与实现

    转自:http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html HLS(HTTP Live Streaming)的分析: HTT ...

  3. 视频推流模式HLS,HTTP,RTSP,RTMP协议的区别

    HTTP: 先通过服务器将FLV下载到本地缓存,然后再通过NetConnection的本地连接来播放这个FLV,这种方法是播放本地的视频,并不是播放服务器的视频.因此在本地缓存里可以找到这个FLV.其 ...

  4. java-cef系列视频第四集:自定义协议

    上一集我们介绍了如何为java-cef添加flashplayer支持. 本视频介绍java-cef中的自定义协议 本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 中国大陆许可协议进行许可.

  5. 【转】如何将qlv格式的腾讯视频转换为mp4格式

    一般来说,每个视频网站都会有自己的视频播放格式,如优酷的KUX.爱奇艺的QSV和腾讯的QLV等.但是大家知道,优酷是有转码功能的,而就目前来说腾讯视频还没有转码功能,这就给大家造成了一定的困扰.这里呢 ...

  6. 如何将qlv格式的腾讯视频转换为mp4格式

    一般来说,每个视频网站都会有自己的视频播放格式,如优酷的KUX.爱奇艺的QSV和腾讯的QLV等. 但是大家知道,优酷是有转码功能的,而就目前来说腾讯视频还没有转码功能,下面是将qlv格式的腾讯视频转换 ...

  7. OpenCV视频读取播放,视频转换为图片

    转载请注明出处!!! http://blog.csdn.net/zhonghuan1992 OpenCV视频读取播放,视频转换为图片 介绍几个有关视频读取的函数: VideoCapture::Vide ...

  8. HLS(HTTP Live Streaming)学习和探讨

    Introduction HTTP Live Streaming lets you send audio and video over HTTP from an ordinary web server ...

  9. Python小工具:利用ffmpy3库3秒钟将视频转换为音频

    作者 | pk 哥 来源公众号 | Python知识圈(ID:PythonCircle) 最近,有读者微信上私聊我,想让我写一篇视频批量转换成音频的文章,我答应了,周末宅家里把这个小工具做出来了. 这 ...

随机推荐

  1. 官方sakila测试库

    官方sakila测试库 http://downloads.mysql.com/docs/sakila-db.zip

  2. Webwork【05】请求跳转前 xwork.xml 的读取

    个人理解 WebWork 与 Struts2 都是将xml配置文件作为 Controler 跳转的基本依据,WebWork 跳转 Action 前 xml 文件的读取依赖 xwork-1.0.jar, ...

  3. Oracle Data Integrator 12c----一致性 CDC(Consistent CDC)

    一致性 CDC 中引入了变化集的概念.一个变化集中可以包括多个相互存在关联关系(如主外键引用关系)的表.CDC 在捕获和发布一个变化集中的变化时能够保证数据的一致性.这个练习介绍如何使用能够保证一致性 ...

  4. JVM中java实例对象在内存中的布局

    普通的Java对象实例 和  Java数组实例.Java数组实例的对象头多了一个数组的长度.Java虚拟机可以通过普通java对象的元数据来确定java对象的大小,但是从数组的元数据中却无法确定数组的 ...

  5. RHEL7-openldap安装配置二(客户端安装配置)

    LDAP用户登录流程: 当在客户端输入账号登录系统时,系统根据/etc/nsswitch.conf配置文件获取账号查找顺序,然后再根据PAM配置文件调用相关模块,对账号(/etc/passwd)及密码 ...

  6. Windows遇到ERR_NETWORK_ACCESS_DENIED处理方案

    问题描述: 用了总部vpn,总是打不开总部资源,之前可以一直提示,禁止访问互联网ERR_NETWORK_ACCESS_DENIED, 郁闷了好几天,今天自己查查资料解决了!说明,问题总是能解决的,只是 ...

  7. 导致线程死锁容易忽略的一点 SendMessage

    假如主线程 某一个按钮 点击的 响应要操作与另一个线程共享的 变量. 在这个点击响应里先lock 之后,假如另一个线程的变量正在 “使用”状态,并且内部又调用了SendMessage试图更新界面的某些 ...

  8. warning C4005 DXGI_STATUS_OCCLUDED

    注意包含顺序 要将 $(DXSDK_DIR)Include放在后面才行 $(VC_IncludePath)$(WindowsSDK_IncludePath)$(DXSDK_DIR)Include 为了 ...

  9. lua闭包

    function MakeCounter() return function() t = t + return t end end local func = MakeCounter() , do pr ...

  10. linux 的时区设置函数tzset() 【转】

    linux 的时区设置函数tzset() 本文转载于: http://blog.csdn.net/epicyong333/article/details/5258152 tzset #incude & ...