XC的博客
xcshare.site

为什么有的mp4视频文件,不能边播放边加载,而是要等到视频全部缓存完毕才开始播放?

191
0

Author:

xc

©

Wordage:

共计 905 字

needs:

约 1 分钟

Popular:

191 ℃

Created:

目 录

概述

最近搞了一个视频播放页面: 《江格尔英雄赞》安达组合,超赞,如何下载CCTV视频? ,里面有两个从youtube下载的视频文件...乐队的夏天,可是播放的时候,要缓存好久,等播放的时候,几乎是100%缓存。
现在的人哪有那耐心,我就很好奇,啥原因?
搜了以下,网上普遍的回复是,mp4有个索引数据moov需要在mdat数据之前才行,如果是视频文件的末端,只能等浏览器读取到moov才行,所以要想一开始边播放边下载,就需要让索引数据moov移动在mdat数据之前,有个ffmpeg小工具可以做到,那就是-qt-faststart,在github上有分享,但没编译。
我附件分享一个编译好的exe文件,下载后,放在ffmpeg的安装目录bin下。

我使用了mp4info.exe这个小工具,神奇的发现:

mp4info截图

我的这个moov在mdat数据之前,只是后面有堆堆长传的索引数据,看似不正常,但既然是从youtube下载的,理应符合边播边下的道理。
不管它,利用ffmpeg处理以下:

ffmpeg -i 视频前.mp4 -codec copy -movflags faststart 视频后.mp4

再次用mp4info.exe查看修改后的数据索引,一下子就很规整了。

mp4info截图

上传测试,直接是秒开播放,赞。
特此记录以下.

附件分享

mp4info.exe
qt-faststart.exe

此处内容,需回复之后可见

共计 0 条评论,点此发表评论
博客主页 行业知识以及项目经验分享,是件有意义的事情。为国家培养中层力量,发挥自己的一点作用! 51统计
蜀ICP备2022005623号 川公网安备 51012202001212号 本站已运行 1 年 355 天 22 小时 7 分 Copyright © 2022 ~ 2024. xcshare:Hydraulic Engineer,生活记录与感想! All rights reserved.
历史足迹
分类目录
  • 💼工作
  • 🚴‍♂生活