关于mp4 在线播放加载时间长的问题

简介: 关于mp4 在线播放加载时间长的问题

问题描述

有时候我们会遇到一些mp4视频,一开始加载播放的时候很慢,大家都会以为是网络问题导致,其实不是的。

问题原因

分析原因前,需要下载一个工具mp4info 打开加载慢的mp4文件

image.png

可以看到这个mp4视频的moov是在mdat后边,这样的视频文件如果较大,通过网络流加载播放的时候,就会在开始播放时候需要较长时间加载后才能播放

由于moovatom中包含了metadata (可以简单理解为音视频流的编码格式,码率,分辨率,等等),当moovatom 在mdatatom后边位置的时候,就会导致加载网络流的时候,客户端先要下载完mdatatom 数据才能下载到moovatom数据,那由于客户端播放器解码是要根据metadata中的信息来解码的时候,就要等moov下载数据加载完才可以,这个时候的现象就比较慢。那如何解决这个问题呢?

解决方案

可以用ffmpeg 工具来进行转码

示例命令

ffmpeg -i 源.mp4 -codec copy -movflags faststart 目标.mp4

image.png

这样转码后,moov就在mdat 的前边了,网络流播放可以加载较小的数据,获取到metadata信息后就可以解码边下载边播放了。大大提升播放体验。

 

适用范围

  • OSS
  • VOD
相关文章
|
算法
专题九Simulink仿真基础-1
专题九Simulink仿真基础
657 1
|
城市大脑 安全 计算机视觉
课时13:城市数据大脑介绍
阿里云与杭州市合作打造的城市数据大脑,通过智能调控红绿灯、实时视频分析交通事件,提升了道路通行效率。如今,城市大脑不仅能主动发现并处理交通事故,还能为救护车规划最优路线,从被动接警转变为积极应对,使城市交通更加顺畅和安全。交警们希望通过这一系统,让杭州变得更加美好,实现更愉快的出行体验。
667 0
|
SQL API Python
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
|
存储 搜索推荐 算法
Java中的文本搜索与全文检索引擎
Java中的文本搜索与全文检索引擎
|
存储 缓存 Unix
QEMU-img工具
QEMU-img工具
2825 1
|
NoSQL JavaScript 安全
精心操作MongoDB:删除数据库的关键步骤和重要事项
精心操作MongoDB:删除数据库的关键步骤和重要事项
985 0
|
存储 测试技术 Apache
高效管理JMeter中的Cookies:测试工程师的全面指南
Apache JMeter的Cookie管理器是性能测试中的关键工具,用于模拟用户会话和保持状态。本文档详细介绍了如何配置和使用Cookie管理器:添加HTTP Cookie Manager到测试计划,配置清除每次迭代Cookies的选项,以及设置登录和验证请求。此外,还讨论了验证、调试、进阶配置,如Cookie政策、跨域Cookies和正则表达式提取Cookie。通过掌握这些步骤,可以提升测试的准确性和效率。
|
安全 iOS开发
浏海屏手机在部分页面通过[[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom得到底部安全区高度为0问题
浏海屏手机在部分页面通过[[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom得到底部安全区高度为0问题
247 0
|
JavaScript 前端开发 编译器
emscripten 安装与使用, 让C语言出现在前端
会安装sdk-release-upstream, node.js, 等,因为是从 https://storage.googleapis.com/ 上下载相应的软件包,如果您因网络原因不能直接访问这个域名,则可能需要设置代理下载。
1569 0
emscripten 安装与使用, 让C语言出现在前端
|
编译器 C语言 Windows
FFMPEG视频开发:Window系统下载部署FFMPEG库并获取摄像头数据保存为MP4文件存放到本地(使用FFMPEG本身接口获取摄像头数据)
FFMPEG视频开发:Window系统下载部署FFMPEG库并获取摄像头数据保存为MP4文件存放到本地(使用FFMPEG本身接口获取摄像头数据)
731 0
FFMPEG视频开发:Window系统下载部署FFMPEG库并获取摄像头数据保存为MP4文件存放到本地(使用FFMPEG本身接口获取摄像头数据)

热门文章

最新文章

下一篇
开通oss服务