windows使用ffmpeg将MP4转m3u8使用参数详解,视频添加水印和压缩

这篇具有很好参考价值的文章主要介绍了windows使用ffmpeg将MP4转m3u8使用参数详解,视频添加水印和压缩。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

背景:

一、什么是m3u8:

二、为什么使用m3u8:

三、安装ffmpeg:

1、下载后直接解压:

2、配置环境变量:

四、开始转换m3u8:

五、视频添加水印和压缩:

1. 给视频加上水印图片

2.输出视频的尺寸

3.输出文件的起始文件

4.输出文件的最小大小 和 最大的大小(会影响视频质量)


背景:

        近期公司购买了海外课程,面向高校推广;因此需要开发点播平台,但是面对错综复杂的客户群体,需要解决用户体检以及防盗链问题;因此,我们选择了m3u8。

一、什么是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文件(Linux环境其他章节再讲讲)

网址为:https://github.com/BtbN/FFmpeg-Builds/releases

ffmpeg m3u8,# FFMPEG,ffmpeg,音视频

1、下载后直接解压:

下载完成后解压压缩包,完成后bin目录下ffmpeg.exe文件是之后程序启动时需要使用的

ffmpeg m3u8,# FFMPEG,ffmpeg,音视频

2、配置环境变量:

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

ffmpeg m3u8,# FFMPEG,ffmpeg,音视频

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

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

四、开始转换m3u8:

准备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文件

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

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


五、视频添加水印和压缩:

ffmpeg -i E:\videos\video.mp4 -i E:\videos\logo.png -filter_complex overlay -profile:v baseline -level 3.0 -s 1024x1080 -start_number 0 -hls_time 0.5 -b:v 125k -bufsize 150k -hls_list_size 0 -f hls E:\videos\video\video.m3u8

1. 给视频加上水印图片

-i E:\videos\logo.png 给视频加上水印图片 -filter_complex overlay 位置位于视频左上角

左上角: -filter_complex overlay
左下角: -filter_complex overlay=0:H-h

右上角: -filter_complex overlay=W-w

右下角: -filter_complex overlay=W-w:H-h

2.输出视频的尺寸

-s 1024x1080

3.输出文件的起始文件

-start_number 0

4.输出文件的最小大小 和 最大的大小(会影响视频质量)

-b:v 125k -bufsize 150k

参考链接:FFmpeg常用命令汇总_ffmpeg -i input.ts_梧桐樹下的博客-CSDN博客

参考链接:https://www.jianshu.com/p/e3f6c3705033
参考链接:https://www.jianshu.com/p/36475d6f4558
 


如果本篇文章对你有帮助的话,很高兴能够帮助上你。

当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。文章来源地址https://www.toymoban.com/news/detail-733600.html

到了这里,关于windows使用ffmpeg将MP4转m3u8使用参数详解,视频添加水印和压缩的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 调用JSch实现mp4转m3u8格式

    今天记录一下通过JSch实现MP4转m3u8格式文件。另外,如果需要转载我的文章,请表明文章出处及作者。https://blog.csdn.net/caleb_520/article/details/131701421?spm=1001.2014.3001.5502 ProcessBuilder ,这个是通过 java 调用 cmd 命令 JSch,由Java实现的SSH2协议的库,它提供了一种在Java程序中连接和操作

    2024年02月16日
    浏览(27)
  • python 爬虫 m3u8 视频文件 加密解密 整合mp4

    完整代码如下: 1. 认识m3u8文件 m3u8 的结构详细分析可以看这个链接m3u8 文件格式详解 - 简书 (jianshu.com),这里我们只简要介绍一下; 相信无论多小白都应该知道如何打开开发者模型解析得到下面的结果; 要注意的是,只有预览里面包含了 ts 信息的才算是我们需要的 m3u8 文件

    2024年02月20日
    浏览(29)
  • 前端vue播放m3u8、flv、mp4视频的方法

    安装依赖 npm install video.js --save // 视频播放器插件 npm install videojs-contrib-hls --save // 播放hls流插件 页面引入插件 页面中的使用 简介:flv.js是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。由 bilibili 网站开源。 开源地址: https://github.com/Bilibili/flv.js/ 安装依

    2024年02月13日
    浏览(41)
  • linux离线状态下将视频mp4格式转换m3u8

    因为业务需求,python文件生成的视频为MP4格式,无法在前端浏览器正常播放,需切换m3u8格式,但因为服务器是没有网络的,因袭需要在离线状态下进行完成。 看网上许多教程,ffmpeg可完成视频格式的转换,首先进行离线安装。 参考博文:https://blog.csdn.net/weixin_45181398/article

    2023年04月08日
    浏览(30)
  • m3u8、rtmp、flv、mp4在线测试地址(亲测有效)

    1. m3u8: 湖南卫视直播:http://219.151.31.38/liveplay-kk.rtxapp.com/live/program/live/hnwshd/4000000/mnf.m3u8 计时器:http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8 2. rtmp: 伊拉克 Al Sharqiya 电视台: rtmp://ns8.indexforce.com/home/mystream 韩国GOOD TV: rtmp://mobliestream.c3tv.com:554/live/goodtv.sdp 3. flv 西瓜播

    2024年02月11日
    浏览(43)
  • Ueditor 富文本编辑器 插入 m3u8 和 mp4 视频(PHP)

    当前环境:PHP、Ueditor的版本是1.4.3 新的需求是,需要在Ueditor 富文本编辑器中,插入视频播放,并且视频格式有MP4,也有M3U8。 百度编辑器默认的是embed,需要修改下配置。 ueditor.all.js 和 ueditor.config.js 这两个文件要改一些东西,具体我这里就不展示了,网上有很多文章都有写

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

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

    2024年02月08日
    浏览(42)
  • 使用ffmpeg将视频转成HLS(m3u8)格式

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

    2024年02月13日
    浏览(35)
  • 在AWS Lambda中使用FFmpeg处理m3u8视频流

    在直播里领域,我们经常需要对视频流进行处理。FFmpeg则是该领域中处理的利器。这篇文章,我们将以视频流截图为例,讲解如何在AWS Lambda中对m3u8视频流进行截图。因为Lambda是无服务架构,其本地存储是不可靠的,于是最后我们需要将截图文件上传S3桶。 这块的方案可以见

    2024年02月03日
    浏览(44)
  • ffmpeg 下载网上m3u8的视频文件

    FFmpeg 是一个音视频领域使用最广泛的跨平台开源库。由C语言编写,但广泛的为 C/C++、C#、Java、Python 等主流编程语言所调用。它集合了几乎所有的编码解码库与流协议,几乎能完美处理音视频开发领域的所有需求。 方式一:源码安装 FFmpeg 通过编译源码安装 FFmpeg 的优点是可

    2023年04月09日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包