关于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
相关文章
|
开发工具 图形学 git
Unity 之 加载工程卡在音频处不动(Unity识别不出音频文件)
在Git上克隆同事上传的工程,打开是卡在音频处不动解决方案分享。
654 0
Unity 之 加载工程卡在音频处不动(Unity识别不出音频文件)
|
3月前
|
开发工具 Android开发
Android平台RTMP推送|轻量级RTSP服务|GB28181设备接入模块之实时快照保存JPG还是PNG?
Android平台RTMP推送|轻量级RTSP服务|GB28181设备接入模块之实时快照保存JPG还是PNG?
|
数据安全/隐私保护
亲测可行!!!将下载好的优酷文件kux格式转为MP4格式
亲测可行!!!将下载好的优酷文件kux格式转为MP4格式
亲测可行!!!将下载好的优酷文件kux格式转为MP4格式
|
编解码
如何解决虚拟主机MP4格式的视频播放黑屏
如何解决虚拟主机MP4格式的视频播放黑屏
|
Java Maven
获取MP3音频时长 | Java工具类
获取MP3音频时长 | Java工具类
获取MP3音频时长 | Java工具类
|
编解码 Ubuntu
FFMPEG音频视频开发: 视频转码、合并、修改分辨率、比特率
FFMPEG音频视频开发: 视频转码、合并、修改分辨率、比特率
1157 0
|
Ubuntu Linux
FFMPEG音频开发: Linux下采集摄像头(使用V4L2框架)数据录制成MP4视频保存到本地
FFMPEG音频开发: Linux下采集摄像头(使用V4L2框架)数据录制成MP4视频保存到本地
1273 0
FFMPEG音频开发: Linux下采集摄像头(使用V4L2框架)数据录制成MP4视频保存到本地
|
编译器 C语言 Windows
FFMPEG视频开发:Window系统下载部署FFMPEG库并获取摄像头数据保存为MP4文件存放到本地(使用FFMPEG本身接口获取摄像头数据)
FFMPEG视频开发:Window系统下载部署FFMPEG库并获取摄像头数据保存为MP4文件存放到本地(使用FFMPEG本身接口获取摄像头数据)
317 0
FFMPEG视频开发:Window系统下载部署FFMPEG库并获取摄像头数据保存为MP4文件存放到本地(使用FFMPEG本身接口获取摄像头数据)
几种播放视频文件的方式
几种播放视频文件的方式(一) —— 总结播放视频的几种方式(一)几种播放视频文件的方式(二) —— 基于MediaPlayer框架的视频播放(一)几种播放视频文件的方式(三) —— 基于AVFoundation框架视频播放(一)几种播放视频文件的方式(...
1132 0