使用ffmpeg将视频转成HLS(m3u8)格式

这篇具有很好参考价值的文章主要介绍了使用ffmpeg将视频转成HLS(m3u8)格式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  HLS (HTTP Live Streaming)是苹果推出的视频流协议,HLS格式的视频包含一个m3u8文本文件,以及众多的.ts的视频片段,而m3u8文本文件的作用就是将这些ts片段索引起来。 因为HLS协议是将视频切分成很多小的ts片段,这些小片段很适合放到cdn上,有很多视频文章都使用了hls格式传输视频。今天我在这里教大家如何用ffmpeg将mp4格式的视频转为HLS(m3u8)格式。

  如果不对视频重新编码的话,命令也很简单,如下:

ffmpeg -i input.mp4 -c:v copy -hls_time 2  -hls_segment_filename %d.ts -f hls output/playlist.m3u8

  这里用到了几个参数,作用分别如下:

参数 作用
-i 指定输入的文件名
-c:v 指定视频的编码格式,copy的意思是复用原始视频的编码信息,不重新编码
-hls_time 指定切分的ts文件时长,单位秒
-hls_segment_filename ts文件的命名格式
-f 指定输出的文件格式,实测这个参数可以省略

  这里有个坑,当我用上面命令行生成hls视频后,我发现每个ts的时长不是我指定的2s,而是10s。查阅资料后发现,ts切片的大小严格依赖于原始视频的GOP大小,因为必选保证一个ts内至少包含一个GOP,否则这个ts分片就无法使用。当然解决方式也很简单,我们只需要再新增一个参数 -force_key_frames "expr:gte(t,n_forced*2)" 这个参数的作用就是让视频GOP大小为2s,这样就能保证ts分片大小是我们想要的2s了。 完整命令如下:文章来源地址https://www.toymoban.com/news/detail-533924.html

ffmpeg -i input.mp4 -c:v copy -force_key_frames "expr:gte(t,n_forced*2)" -hls_time 2  -hls_segment_filename %d.ts -f hls output/playlist.m3u8

到了这里,关于使用ffmpeg将视频转成HLS(m3u8)格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • UE5接入在线直播视频源,如hls(m3u8)格式

    通过重编译VlcMedia插件,以支持在线直播视频在UE5中的播放,GIF动图如下: 本文主要包括插件的重编译、在线直播视频的接入,以及材质的创建三个部分。 2.1 VlcMedia插件重编译 GitHub上有 Ue4VlcMedia 插件,但最新的版本只支持到UE4.19,因此需要重编译源码以支持UE5。VlcMedia插件

    2024年02月12日
    浏览(32)
  • CRMEB知识付费二次开发 加密阿里云视频MP4点播链接为m3u8格式 hls blob协议

    只有添加分发加速的域名才能使用HLS加密,同时也要做HTTPS证书添加,不然也会报错。 1、这是电脑端视频播放页面效果 2、这个手机端H5视频播放页面效果 3、在网站后台上传你的视频内容 4、上传完之后可以进行预览 5、在阿里云控制台设置就好自己的转码模板 将不转码设为

    2024年02月08日
    浏览(54)
  • FFmpeg解决视频播放加载卡顿问题(FFmpeg+M3U8分片)

    在这静谧的时光里,我们能够更清晰地审视自己,思考未来的方向。每一步的坚实,都是对勇气的拥抱,每一个夜晚的努力,都是对未来的信仰。不要害怕独行,因为正是在寂静中,我们更能听见内心深处的声音,更能感受到梦想的脉动。 为什么会讨论这个问题呢,原因是我

    2024年01月18日
    浏览(39)
  • 【疑问&解决】访问CSDN文章的3种方式(自定义域名) | 关于网址的后缀:spm=1001.2014.3001.5501 | .m3u8文件、HLS协议? | 文心一言2023--7月15~16测试

      暧昧上头的那一刻,像极了爱情,但终归不是爱情哦!     🎯作者主页: 追光者♂🔥          🌸个人简介:   💖[1] 计算机专业硕士研究生💖   🌟[2] 2022年度博客之星人工智能领域TOP4🌟   🏅[3] 阿里云社区特邀专家博主🏅   🏆[4] CSDN-人工智能领域优质创作者🏆

    2024年02月13日
    浏览(39)
  • hls.js如何播放m3u8文件(实例)?

     HLS(HTTP Live Streaming)是一种视频流传输协议,是苹果推出的适用于iOS与macOS平台的流媒体传输协议。它将视频分割成若干个小段,每个小段大小一般为2~10秒不等,并通过HTTP协议进行传输。通过在每个小段之间插入若干秒的间隔,可以提高视频的传输稳定性和用户的观看体验

    2023年04月23日
    浏览(36)
  • uniapp 使用 mui-player 插件播放 m3u8/flv 视频流

    背景 :uniapp 开发的h5项目,需要播放m3u8/flv后缀的视频,网上有很多视频插件,但是样式和效果不尽如人意,博主最后选择mui-player插件,定制化稍微强一点以及有官方文档可以阅读,官网文档https://muiplayer.js.org/zh/guide/ tips :建议先阅读官方文档,再在页面进行引入 博主最后

    2023年04月19日
    浏览(47)
  • Windows上搭建rtsp-simple-server流媒体服务器实现rtsp、rtmp等推流以及转流、前端html与Vue中播放hls(m3u8)视频流

    Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流: Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流_霸道流氓气质的博客-CSDN博客 上面讲了Nginx-http-flv-module+flv.js进行流媒体服务器搭建和前端播放视频流的过

    2024年02月01日
    浏览(53)
  • 给数字人生成加上界面,基于ER-NeRF/RAD-NeRF/AD-NeRF,Gradio框架构建WEBUI,使用HLS流媒体,实现边推理边播放——之三:在WEBUI中播放m3u8视频,边推边存边播放

    前面两篇文章讲了Gradio输出日志和ER-NeRF推理的图转存为ts文件 这篇就讲讲如何在Gradio中实时的播放服务器生成的m3u8文件 要让web上能播放,那首先要有个播放器,支持hls协议的web播放器,有video.js和hls.js等等,原生的video也能播,我这里选用hls.js 除了播放器,还得要让web前端

    2024年02月03日
    浏览(49)
  • 关于网页视频下载方法(仅针对存在index.m3u8)

    必备工具:迅雷、ffmpeg、python环境 选用工具:猫抓插件 像腾讯课堂希望下载的课 1.下载m3u8文件。 首先使用【猫抓视频下载】的浏览器拓展,可以清晰地看到,它不抓到的内容。我们需要的就是这个 .m3u8 的文件。 ps:其中可以也将其中的一个ts文件下下来,主要需要的是它的

    2024年02月06日
    浏览(40)
  • Web_单一视频文件mp4转换为m3u分段ts文件实现边下边播

    Builds - CODEX FFMPEG @ gyan.dev 先解压缩,会看到如下结构: 进入bin目录, 把需要转换的视频文件复制过来 ,同时 新建一个文件夹 用来存放转换后的文件,然后按住Shift键同时单击鼠标右键,选择打开Powershell窗口: 输入以下命令(根据实际修改)后按Enter键: ffmpeg -i 源视频名字

    2024年02月10日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包