视频预加载(preload)实现

这篇具有很好参考价值的文章主要介绍了视频预加载(preload)实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如果网页中只有一个视频文件,您可能会使用 video 标签的 preload 属性来提示浏览器预加载的信息或内容量。但这意味着 Media Source Extensions(MSE)与 preload 将不兼容。

资源的获取将仅在HTML文档初始加载和解析完成后启动(例如, DOMContentLoaded 事件的触发),而 window.onload事件则完全不同,它在的资源都加载完成后才被触发。

video preload,音视频,javascript,前端
将 preload 属性设置为 metadata 表示用户不想马上加载视频,但是需要预先获取其元数据(尺寸,轨道列表,时长等)。 请注意,从 Chrome 64 开始, preload 的默认值是 metadata(以前是 auto )。
 

 <video id="video" preload="metadata" src="file.mp4" controls></video><script>  video.addEventListener('loadedmetadata', function() {    if (video.buffered.length === 0) return;    var bufferedSeconds = video.buffered.end(0) - video.buffered.start(0);    console.log(bufferedSeconds + ' seconds of video are ready to play!');  });</script>

将 preload 属性设置为 auto 表示浏览器将缓存整个视频,无需暂停缓冲,可以支持完整播放。
 

<video id="video" preload="auto" src="file.mp4" controls></video><script>  video.addEventListener('loadedmetadata', function() {    if (video.buffered.length === 0) return;    var bufferedSeconds = video.buffered.end(0) - video.buffered.start(0);    console.log(bufferedSeconds + ' seconds of video are ready to play!');  });</script>

由于 preload属性只是一个提示,浏览器可能会完全忽略 preload属性。写到这,请注意以下Chrome中的一些应用规则:

• 启用 Data Saver后 ,Chrome 会强制设置 preload 值为 none

• 在 Android 4.3中,由于 Android 的 bug,Chrome 会强制设置 preload 值为 none

• 在蜂窝连接(2G,3G和4G)时,Chrome 会强制设置 preload 值为 metadata

提示

如果您的网站在同一个域中包含多个视频资源,我建议您将 preload 值设置为 metadata 或定义 poster 属性并将 preload 设置为 none 。 这样,可以避免在同一域名中 HTTP 连接数达到最大时导致资源加载挂起(根据 HTTP 1.1规范6)。 请注意,如果视频不属于您的核心用户体验,这样做也会提高网页加载速度。文章来源地址https://www.toymoban.com/news/detail-768312.html

到了这里,关于视频预加载(preload)实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • JavaScript音视频,使用JavaScript如何在浏览器录制电脑摄像头画面为MP4视频文件并下载视频文件到本地

    本章介绍使用JavaScript如何在浏览器录制电脑摄像头画面为MP4视频文件并下载视频文件到本地。 1、使用navigator.mediaDevices.getUserMedia获取摄像头画面 2、将获取到的摄像头画面渲染到canvas画板上 3、将canvas转换为blob对象 4、通过document.createElement(‘a’)调用 href 方法获取此链接并触

    2024年02月02日
    浏览(84)
  • 音视频开发 RTMP协议发送H.264编码及AAC编码的音视频(C++实现)

    RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系Flash Player和RtmpServer,如 FMS , Red5 , crtmpserver 等。RTMP协议可用于实现直播、点播应用,通过 FMLE(Flash Media Live Encoder) 推送音

    2023年04月08日
    浏览(79)
  • 使用Python采集某网站视频,实现音视频自动合成!

      开发环境 模块的使用 采集下破站视频数据 通过开发者工具进行抓包分析,分析破站视频数据的来源。 开发者工具的使用 打开方式: 鼠标右键点击检查选择Network F12 ctrl + shift + i 想要开发者工具中有数据加载, 需要 刷新网页。 通过元素(Element)面板,我们能查看到想抓取

    2024年02月06日
    浏览(63)
  • 技术分享| 小程序实现音视频通话

    上一期我们把前期准备工作做完了,这一期就带大家实现音视频通话! 为了更好的区分功能,我分成了六个 js 文件 config.js 音视频与呼叫邀请配置 store.js 实现音视频通话的变量 rtc.js 音视频逻辑封装 live-code.js 微信推拉流状态码 rtm.js 呼叫邀请相关逻辑封装 util.js 其他方法

    2024年02月02日
    浏览(58)
  • WebRTC音视频通话-实现GPUImage视频美颜滤镜效果iOS

    WebRTC音视频通话-实现GPUImage视频美颜滤镜效果 在WebRTC音视频通话的GPUImage美颜效果图如下 可以看下 之前搭建ossrs服务,可以查看:https://blog.csdn.net/gloryFlow/article/details/132257196 之前实现iOS端调用ossrs音视频通话,可以查看:https://blog.csdn.net/gloryFlow/article/details/132262724 之前WebR

    2024年02月12日
    浏览(54)
  • iOS使用AVCaptureSession实现音视频采集

    AVCaptureSession配置采集行为并协调从输入设备到采集输出的数据流。要执行实时音视频采集,需要实例化采集会话并添加适当的输入和输出。 AVCaptureSession:管理输入输出音视频流 AVCaptureDevice:相机硬件的接口,用于控制硬件特性,诸如镜头的位置(前后摄像头)、曝光、闪光灯

    2024年02月06日
    浏览(47)
  • ffmpeg api实现将音视频混合

    需求: 将一首歌mp3格式,和一段无声音录屏mp4格式,合成到一起,使播放视频时能听到这首歌。 实现原理: 打开mp3音频,解析出输入音频流,再打开mp4视频,解析出输入视频流。 然后打开输出环境,创建2个输出流,分别对应音频输入流和视频输入流。 最后循环交替从音频

    2024年02月14日
    浏览(45)
  • WebRTC音视频通话-实现iOS端调用ossrs视频通话服务

    WebRTC音视频通话-实现iOS端调用ossrs视频通话服务 之前搭建ossrs服务,可以查看:https://blog.csdn.net/gloryFlow/article/details/132257196 这里iOS端使用GoogleWebRTC联调ossrs实现视频通话功能。 iOS端端效果图 ossrs效果图 WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站

    2024年02月13日
    浏览(59)
  • linux 运行开源音视频livekit,实现html视频语音聊天。

    linux版本: centos 7.9 先附上官方本地安装文档: Running LiveKit locally | LiveKit Docs 步骤: 1、首先在linux里面安装运行livekit: livekit.yaml文件的内容: 注意use_external_ip一定要设置true.这个是启用外部ip访问的。 然后就是keys:这个是创建token需要的, 前面的APIbxDWetqcjHaa是apikey, 后面的

    2024年03月26日
    浏览(64)
  • gstreamer中使用webrtc实现音视频对讲

    gstreamer官方源代码中有一个基于webrtc插件实现音视频通话的开源项目,下面介绍在Ubuntu系统中如何搭建环境并使用。 这里省略gstreamer安装,直接安装使用webrtcbin插件使用的相关库,参考官网。系统版本建议高于ubuntu18.04。 首先安装如下相关依赖库。 gstreamer项目编译官方建议

    2024年04月11日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包