当前位置: 首页 > news >正文

摄影师个人网站怎么做seo下拉优化

摄影师个人网站怎么做,seo下拉优化,手机app软件开发用什么语言,幕墙设计培训乡网站建设flv视频格式批量截取封面图(不占内存版)--其他视频格式也通用 需求(实现的效果)功能实现htmlcssjs 需求(实现的效果) 批量显示视频,后端若返回有imgUrl,则直接显示图1, 若无&#xf…

flv视频格式批量截取封面图(不占内存版)--其他视频格式也通用

  • 需求(实现的效果)
  • 功能实现
    • html
    • css
    • js

需求(实现的效果)

批量显示视频,后端若返回有imgUrl,则直接显示图1,
若无,则需要根据视频地址自己截取,截取中显示图2,
截取过程中如图3,截取完直接返回图片信息,如图1格式,未返回的仍显示加载动画,如图2

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

功能实现

需要使用插件播放、截取flv格式视频。当前使用的是mpegts.js
具体使用可移步 vue使用mpegts.js教程

html

<div:key="ind"v-for="(ite, ind) in objects"class="description-content"><divv-if="ite.fileUrl"class="imgurlExit"><!-- 显示图片封面背景 --><imgv-if="ite.imgUrl":src="ite.imgUrl"class="descriptionImg"/><!-- 无图片、纯黑背景 --><divclass="descriptionImg"v-else></div><!-- 播放图标 --><a-icontype="play-circle"class="centerIcon"v-if="ite.imgUrl"/><!-- 加载动画 --><imgsrc="@/assets/images/initImg.gif"class="centerIcon"v-else/></div><divclass="descriptionImg"v-else>未抓取到视频</div></div>

css

   .description-content {width: 220px;margin: 0 20px;margin-top: 20px;.imgurlExit {position: relative;height: 180px;.centerIcon {position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);color: #fff;font-size: 40px;}}.descriptionImg {width: 220px;height: 180px;background: #000;color: #fff;font-weight: 800;text-align: center;line-height: 180px;border-radius: 10px;}}

js

mpegts.js具体使用可移步 vue使用mpegts.js教程

import mpegts from "mpegts.js";// 获取数据时进行判断 item.fileUrl存在且item.imgUrl不存在时。生成图片信息并返回更新数据async getData() {const res = await getList({});if (res.success) {this.objects = res.data; //objects 为data中定义的数据this.$nextTick(() => {this.objects.map((item) => {if (item.fileUrl && !item.imgUrl) {this.getImage(item.fileUrl).then((res) => {item.imgUrl = res;});}});});}},// 获取视频的图片getImage(url) {return new Promise((resolve, reject) => {const extension = url.split("."); //获取类型const videoElement = document.createElement("video");videoElement.muted = true; // 静音videoElement.autoplay = true; // 自动播放if (mpegts.isSupported()) {// mpegts 具体用法可移步首页教程const flvPlayer = mpegts.createPlayer({type: extension[extension.length - 1],url,isLive: true,isAutoPlay: true,isContinue: true,lazyLoad: true,hasAudio: false,},{enableWorker: true,enableStashBuffer: false,stashInitialSize: 128,});flvPlayer.attachMediaElement(videoElement);flvPlayer.load(); //加载setTimeout(() => {flvPlayer.play().then(() => {this.destory(flvPlayer);}).catch((err) => {this.destory(flvPlayer);console.log("err", err);});});}// 监听视频数据加载事件videoElement.addEventListener("loadeddata", function () {// 播放及暂停const canvasElement = document.createElement("canvas");const ctx = canvasElement.getContext("2d");canvasElement.width = 220;canvasElement.height = 180;// 绘制当前帧到 canvasif (ctx) {ctx.drawImage(videoElement, 0, 0, canvasElement.width, canvasElement.height);}const imageDataUrl = canvasElement.toDataURL();resolve(imageDataUrl);videoElement.pause();// 移除video元素 注 document.createElemet创建的元素需要挂载到具体的dom才可以进行删除document.body.appendChild(videoElement);document.body.appendChild(canvasElement);document.body.removeChild(videoElement);document.body.removeChild(canvasElement);});});}, // 销毁 mpegts 对象destory(player) {if (player) {try {player.pause();player.unload();player.detachMediaElement();player.destroy();player = null;} catch (e) {// console.log(e);}}},
http://www.15wanjia.com/news/52768.html

相关文章:

  • wordpress标签集合济南seo优化公司助力排名
  • 建设网站需要准备什么手续制作网页用什么软件
  • 什么颜色做网站显的大气线上销售平台都有哪些
  • bs网站开发seo外包公司需要什么
  • 青海做网站哪家好谷歌seo优化怎么做
  • 网络工程适合女生吗怎么做seo
  • 一个网站大概多少页面怎么宣传网站
  • 如何制作网站视频的软件深圳seo外包
  • 深圳产品型网站建设买卖网交易平台
  • 电脑网址打不开网页怎么办百度快照优化公司
  • 部门网站建设管理经验交流材料长沙在线网站的目标客户
  • 广东网站建设微信商城运营建站平台哪个好
  • 宇泽佛山网站建设站长平台官网
  • 网上兼职做效果图网站站长之家 站长工具
  • 高端网站服务范围镇江百度seo
  • 毕业设计做视频网站设计哪家公司网站做得好
  • 集团网站建设定制网站建设自己个人怎样做电商
  • 怎么看网站是不是做竞价seo工具不包括
  • 软件开发培训一般要多少钱保定百度首页优化
  • 深圳网a深圳网站建设网络推广app
  • 物流的网站模板宁波seo关键词排名优化
  • 在线生成多款表白网站是怎么做的网站怎么优化自己免费
  • 襄阳做网站公司哪家好爱站网长尾关键词挖掘
  • 做宠物网站心得近三天发生的大事
  • 淘客网站添加到桌面西安百度推广优化公司
  • 毕业设计代做网站php优化关键词排名哪家好
  • 个人可以做电影网站吗国外搜索引擎优化
  • 孝感住房和城乡建设部网站百度云网页版入口
  • 网站建设策划书缺点网站排名软件利搜
  • 不会编程如何做自己的网站营销型网站建设推广