本人菜鸟一只,被安排做点播(VOD服务器)的任务。表示自己一点都不会。从windows server 2012直接上手,因为Linux让我看也不会,windows server 2012长得真像win8上手快。
最开始去找的是nginx加ffmpeg切片的方式.m3u8文件做出来了,该文件也能被迅雷等播放器直接引用,可是我折在了如何让windows操作系统上的浏览器播放。我开始找video.js脚本,和其他的js播放器,因为零基础(其实找工作时候被培训班骗去学Java了,但是好久没用都忘得一干二净)所以这些都没有研究明白。以下几个推测:1、m3u8格式在video标签上不能直接用?我看文档说能,测试没有成功。2、ckplayer播放器,介绍说能支持m3u8播放,但是没测试成功,是否与我在服务器端没有使用rtsp推流有关?3、我使用的js脚本以及video标签均不支持IE8及以下的浏览器播放,测试html5media兼容脚本任然没有效果,是否和我操作方式不对有关?以上推测是我在实际中没解决的问题,不代表方案不能被大家使用,只是个人能力有限。
接着,领导帮我找了几个文档,在被安利的文档中,找到了一个叫做流化MP4的概念。实际上,ffmpeg的文档中应该也提到了流化,但是过于不起眼了。最开始我对流化理解错了,因为无论是要做切片,还是要做直接播放,视频应该都是视频编码h.264音频编码aac的,然后MP4格式封装。所以我把这个理解成了流化,后来查了一下流化,链接:https://blog.youkuaiyun.com/sunxiaopengsun/article/details/72782628(不是我参考的原文,但是解释的也很详细了)。简言之,流化是将原本无序排列的数据,按时间顺序排好。MP4的matedata是放在文件的末尾的,这个文件记录的是每个数据对应的顺序。在加载MP4文件时,需要加载全部之后才能播放,原因就是matedata在文件末尾。如果MP4文件小,网速快这件事还好说,如果这个文件大,那么等待加载就是头疼的事件。但是,这个matedata只要放到文件首位,就可以加载完这个matedata后MP4
做简单的点播,流化MP4
最新推荐文章于 2024-04-23 12:12:13 发布