首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏code秘密花园

    分析youtube

    在用户真实的使用场景当中,每有一个请求在播放器初始化之前,哪怕是一个http204的请求都会对我们视频播放的8分位时间有50-100ms的影响。 这是和他们采取的扁平化的设计是分不开的,而内联的svg不仅仅带来了体积小、连接数少的好处,如果你仔细观察你还会看到大部分的icon都是有小动效的,这些动效是依靠svg动画实现的,比传统的gif或者序列动画体积可要小太多了 而在视频连续播放的场景中,播放器的初始化也是一个巨大的开销往往要需要400-600ms来完成,在spf.js的加持下播放器不需要重新初始化只需要载入下一个视频的数据即可。 WebM/vp9 → AV1 视频网站的关键速度是首时间,影响这个时间的除了我们前面分析的页面加载顺序和资源优化外,很重要一点就是视频格式,而这当中youtube的魔法是真的多。 另一项魔法如上图,我们可以看到一画面被分割成了不同尺寸的格子,youtube对此进行了自动量化的实验,目的是对于视觉敏感的区域输出更多的细节,对于不敏感的区域降低细节。 ?

    3.7K20发布于 2019-08-23
  • 来自专栏我和未来有约会

    Silverlight制作动画

    打开http://www.emu-zone.org/www3/host/emugif/  这个网站.这里有很多游戏的gif动画.选一个存到本地用Fireworks打开.将其中的不同的图片取出做成一个png

    1.3K90发布于 2018-01-16
  • 来自专栏Android知识分享

    Android 动画:关于 动画 的使用都在这里了!

    前言 动画的使用 是 Android 开发中常用的知识 可是动画的种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策 本文将详细介绍 Android 动画中 动画的原理 原理 将动画拆分为 的形式,且定义每一 = 每一张图片 动画的本质:按序播放一组预先定义好的图片 ---- 3. 步骤2:设置 & 启动 动画 设置 & 启动 动画有两种方式:在XML / Java代码。 res/android" android:oneshot="true" // 设置是否只播放一次,默认为false > // item = 动画图片资源;duration = 设置一持续时间 总结 本文对Android 动画中的 动画 进行了详细分析 关于Android 动画的系列文章: 动画的使用,请参考文章: Android 属性动画:这是一篇很详细的 属性动画 总结&攻略

    2.3K30发布于 2019-02-22
  • 来自专栏计算机视觉理论及其实现

    python 用opencv接口把视频转化为图片

    目前收到800G左右的数据,视频格式,每段大约50分钟。首先要做的就是从这些视频中把每一的图片导出来,变成图片。 这里首先有一个小插曲,我发现我的视频格式一开始虽然是mp4,但是用普通的播放器播放不了,这就很诡异。于是我下载了完美解码,果然可以播放了。 下面贴上使用python 用opencv接口把视频转化为图片的程序,当然matlab也能干这个事儿,虽然我matlab比python熟,但是以后都用python编的,所以干脆用python了。

    3.6K20编辑于 2022-09-02
  • 来自专栏岳泽以博客

    使用steps实现动画

    开发中,一般配合精灵图实现动画效果。 将动画过程分成N份进行: animation-timing-function: steps(N); 精灵动画制作步骤 1.准备显示区域 设置盒子尺寸是一张小图的尺寸,背景图为当前精灵图。 /* 1680/12 : 保证显示区域的尺寸和一个精灵小图的尺寸相同 */ width: 140px; height: 140px; 2.定义动画 改变背景图的位置,移动的距离就是精灵图的宽度。 动画的开始状态和盒子的默认样式相同的, 可以省略开

    81810编辑于 2022-10-26
  • 来自专栏全栈程序员必看

    创建和使用动画

    AnimationDrawable可以用来创建一个新类是由一个表示Drawable资源-frame动画,可以使用XML。在的应用res/drawable讲动画目录Drawable资源定义为外部资源。

    69210编辑于 2022-07-05
  • 来自专栏蜉蝣禅修之道

    Android开发之动画优化

    Android上如果使用动画的话,可以很方便地使用AnimationDrawable,无论是先声明xml还是直接代码里设置,都是几分钟的事,但使用AnimationDrawable有一个致命的弱点, 这里我们利用View.postDelayed方法延时替换图片,这样就能做到动画的效果了,然后在替换图片之前,强制回收ImageView当前bitmap就可以减少内存消耗了,废话少说,上代码。 ); // 指定绑定的ImageView和图片资源数组以及每张图片的延时 waitAnim.playConstant(); // 循环播放 waitAnim.stopPlay(); // 停止播放 动画优化到这里结束了 ,后期我们或许可以继续优化,就是防止一个图片太大,加载时间过长,我们可以缓存多张,而不是现在的只缓存一张。

    1.8K20发布于 2018-05-24
  • 来自专栏Linux内核深入分析

    Android 学习之动画(Frame)

    动画就是将一些列图片,依次播放。利用肉眼的“视觉暂留”的原理,给用户的感觉是动画的错觉,动画的原理和早期的电影原理是一样的。 a:需要定义动画,可以通过代码定义,也可以通过XML文件定义,一般XML文件定义比较直观 <?xml version="1.0" encoding="utf-8"? ImageView的背景 //找到imageview ImageView iv = (ImageView) findViewById(R.id.iv); //将动画的资源文件设置为 R.layout.activity_main); //找到imageview ImageView iv = (ImageView) findViewById(R.id.iv); //将动画的资源文件设置为

    1.1K30编辑于 2022-05-08
  • 来自专栏全栈测试技术

    Python+Opencv解析一段视频保存到本地

    实现原理使用Python+Opencv,把视频流直接按帧率解析成图片,并保存到本地特点可以做到无视视频的长短,视频的帧率。 多长就解析多长,多少帧率就解析多少帧率,视频解析完直接退出,避免影响内存或者Opencv窗口卡死实现的效果针对一个本地视频:①时长:从1.02-4.22,共计3.21s②图片:每秒60张,视频解析出来共计 /MVI_1637.MOV") # 视频路径,直接把脚本和视频放在同一个目录下最好,也可以指定对应的视频路径 """ 图片信息打印 """ def get_image_info image.size) print(image.dtype) pixel_data = np.array(image) print(pixel_data) """ 读取数据并保存图片到本地制定位置 while(True): ret,frame = self.cap.read() #ret:True或者False,代表有没有读取到图片;frame:表示截取到一的图片

    1.1K20编辑于 2023-01-17
  • 来自专栏IMWeb前端团队

    rem动画与像素精度计算

    本文作者:IMWeb 孙世吉 原文出处:IMWeb社区 未经同意,禁止转载 目录 1.一个大动图带来的思考 2.rem与动画 3.浏览器精度计算 4.一个神奇的优化一个大动图带来的思考 是的,你没有看错,可怜的小老虎不仅被打了,连尾巴都被我们卸下来了,同时还切成了16份,将这16张尾巴放映就可以完美的呈现出小老虎摇摆的尾巴了。 steps(16) infinite; } @keyframes flash { 100% { background-position: -109.23rem 0; } } rem与动画 那我们上文这样在109rem的宽度下取16的时候,自然也就会出现多1px或者少1px的误差。这也就导致了我们动画出现了抖动! 三人行,必有我师焉 —— 孔子 CSS技巧:动画抖动解决方案 这篇文章里详细的介绍了: 抖动出现的原因 —— 逻辑像素映射到物理像素时出现“误差” 解决方案构想与实践 —— svg自适应缩放尺寸

    1.8K10发布于 2019-12-03
  • 来自专栏学习小记

    视频读取并保存至指定文件夹(opencv之python描述)

    ---- opencv遇到的问题: 原代码中读取每图片的代码行为: frame = video.read() 报错如下 ---- 文件存储的形式 代码.py img文件夹(保存视频视频1文件夹 视频1的每图片 视频2文件夹 视频2的每图片 …… video文件夹(存储视频文件) 视频1.avi 视频2.avi /video" get_frame(videoPath) 更多opencv处理视频的相关知识

    2.1K20发布于 2020-04-14
  • 来自专栏前端那些事

    过渡与动画 - 动画&steps调速函数

    但是如果我们想要实现动画,基于贝塞尔曲线的调速函数就显得有些无能为力了,因为我们并不需要之间的过渡状态,就像上篇中所看到的,所有基于贝塞尔曲线的调速函数都会在关键之间进行插值运算,从而产生平滑的过渡效果 但是在动画的场景下,这种平滑的特性恰恰毁掉了我们想要实现的动画的效果. 动画 我们经常会看到一段卡通影片、一个复杂进度的提示框、一个小loading, 我们不会单纯的选择一张GIF动画胜任,因为它的局限性和短板表现的很明显. 在某些场景下,基于图片的动画成了不错的选择。 ? steps()调速函数 写在前面中提到,我们不能基于贝塞尔曲线的调速函数完成我们所需要的动画,那么采用什么调速函数呢? 其实无所谓好与不好,更多的是适合与不适合,我们都崇拜的贝塞尔曲线在像小"loading"这样的动画中失败了,而steps()却展示出我们想要的效果.

    94210发布于 2018-07-31
  • 来自专栏前端那些事

    过渡与动画 - 动画&steps调速函数

    但是如果我们想要实现动画,基于贝塞尔曲线的调速函数就显得有些无能为力了,因为我们并不需要之间的过渡状态,就像上篇中所看到的,所有基于贝塞尔曲线的调速函数都会在关键之间进行插值运算,从而产生平滑的过渡效果 但是在动画的场景下,这种平滑的特性恰恰毁掉了我们想要实现的动画的效果. 动画 我们经常会看到一段卡通影片、一个复杂进度的提示框、一个小loading, 我们不会单纯的选择一张GIF动画胜任,因为它的局限性和短板表现的很明显. 在某些场景下,基于图片的动画成了不错的选择。 ? steps()调速函数 写在前面中提到,我们不能基于贝塞尔曲线的调速函数完成我们所需要的动画,那么采用什么调速函数呢? 其实无所谓好与不好,更多的是适合与不适合,我们都崇拜的贝塞尔曲线在像小"loading"这样的动画中失败了,而steps()却展示出我们想要的效果.

    1.7K70发布于 2018-01-05
  • 来自专栏菩提树下的杨过

    silverlight中制作动画播放gif收集

    动画”与“播放GIF”貌似二个风马牛不相干的问题,其实不然! 因为silverlight中的image控件不支持直接把gif动画做为source,所以象做动画常用的"走路的小人","加载loading小动画"...这类经典gif素材,无法直接使用,只能转化为动画来处理 2.用ImageBrush定时填充指定矩形 原文:https://cloud.tencent.com/developer/article/1020644 同样将各素材先准备好,用timer定时按顺序切换矩形的 www.cnblogs.com/024hi/archive/2009/09/14/1566653.html 这里用到了园子里另一位mvp jillzhang的开源gif处理库,借助这个工具类,将gif各取出形成一个

    1.7K70发布于 2018-01-23
  • 来自专栏李蔚蓬的专栏

    Android动画基础 | 概述、动画、视图动画

    属性动画 动画:动画的基础是,也即图片,图片一般由美工制作;      没有原图就无法制作动画,则应用范围比较小; 视图动画:应用广泛;      操作的是视图对象,可以令视图对象产生透明度渐变 、位移、旋转等效果;      但是也有它的局限性(局限于视图); 属性动画:操作的对象不再局限于视图,可以真实地改变对象的属性; 2 动画 概述: 动画也称图片动画, 通过在一个固定区域 , 张地呈现一系列事先加载好的图片而产生动画效果; 定义动画的方法: 使用AnimationDrawable对象定义动画; 它是一个Drawable容器(DrawableContainer :oneshot="true"属性,也可实现; 小结: 动画的基础是,也即图片,图片一般由美工制作; 没有原图就无法制作动画,则应用范围比较小; 将一套图设置在<animation-list 原理 上面说过, 动画的基础是,也即图片,图片一般由美工制作; 没有原图就无法制作动画,则应用范围比较小; 将一套图设置在<animation-list>(AnimationDrawable

    4.8K21发布于 2019-05-14
  • 来自专栏AI科技评论

    浙大蔡登团队:基于序列对比学习的长视频动作表征

    浙大蔡登团队携手微软亚洲研究院,提出了一个新的对比动作表征学习(CARL)框架,以自监督的方式学习动作表征,尤其是针对长视频;它考虑了时空上下文来提取表征,是一种基于Transformer的简单而高效的视频编码器 不过,许多实际应用,例如手语翻译、机器人模仿学习、动作对齐和相位分类都要求算法能够对具有数百的长视频进行建模,并提取表征,而不是全局特征。 直接使用为短视频片段分类而设计的现成骨架也不太现实,因为我们的任务是提取长视频表征。 图3 视频编码器(FVE)的结构。输入T视频,输出表征。ResNet-50在ImageNet上进行了预训练。我们冻结了ResNet-50的前四个残差块,只微调最后一个块。 2.3. 视频编码器 直接应用视频分类架构对数百的长视频序列进行建模,因其计算量巨大而无法实现。TCC提出了一种视频编码器,它将2D ResNet和3D卷积相结合,以生成特征。

    1.1K20编辑于 2022-05-18
  • 来自专栏前端那些事

    过渡与动画 - 动画&steps调速函数

    但是如果我们想要实现动画,基于贝塞尔曲线的调速函数就显得有些无能为力了,因为我们并不需要之间的过渡状态,就像上篇中所看到的,所有基于贝塞尔曲线的调速函数都会在关键之间进行插值运算,从而产生平滑的过渡效果 但是在动画的场景下,这种平滑的特性恰恰毁掉了我们想要实现的动画的效果. 动画 我们经常会看到一段卡通影片、一个复杂进度的提示框、一个小loading, 我们不会单纯的选择一张GIF动画胜任,因为它的局限性和短板表现的很明显. 在某些场景下,基于图片的动画成了不错的选择。 ? steps()调速函数 写在前面中提到,我们不能基于贝塞尔曲线的调速函数完成我们所需要的动画,那么采用什么调速函数呢? 其实无所谓好与不好,更多的是适合与不适合,我们都崇拜的贝塞尔曲线在像小"loading"这样的动画中失败了,而steps()却展示出我们想要的效果.

    1.6K100发布于 2018-01-05
  • 来自专栏CSS森林

    记GIF动画转CSS动画工具

    记GIF动画转CSS动画工具 由 Ghostzhang 发表于 2022-08-16 19:27 翻到了 2018 年左右团队支持的一个项目,当时看重构同学不断的在和设计师来回沟通调动画细节,就在想能不能提升下这里的效率 ,于是了解了下当时的实现过程,大概是这样的: 设计师用 PS 或其他工具输出 gif 动画图或视频给到前端开发,前端开发再对照着用 CSS 动画实现。 CSS 动画,简单的说就是用 CSS3 的animation属性,设置@keyframes关键来实现的动画。 设想下,如果能读取 GIF 中每一的时间,是不是就能计算出来总的时长和每一所占的时间比。 图像描述 图像数据 文件尾 工具化 知道了格式后,工具的思路就很简单了,查找到各图片的延时时间,通过数量就知道有多少,再计算各的时间与总时间的比例,转换成百分比,输出 CSS 就可以了。

    1.9K61编辑于 2022-08-22
  • 来自专栏人人都是极客

    音频视频及其同步

    今天介绍下音频视频的主要参数和分析方法,以及音视频的同步等,主要内容如下: 音频 视频 PTS与DTS 音视频同步 音频 音频的概念没有视频那么清晰,几乎所有视频编码格式都可以简单的认为一就是编码后的一副图像 视频视频压缩技术中,视频采用不同的压缩算法来减少数据量,通常只编码图像之间的差异之处,相同的元素信息则不必重复发送,视频的不同算法一般称之为图片类型(picture types)或者类型(frame 、视频解码,然后音视频独立播放,因为播放速率的差异就会出现音视频不同的问题,音频和视频播放对应的两个指标如下: 音频:采样率 视频:帧率 声卡和显卡一般是按照每帧数据进行播放的,所以要计算音频和视频的播放时长 从上文中已知采样率为 44.1KHz 的 MP3 音频文件的每持续时长为 26 ms,如果此时视频的帧率为 30fps,则视频的每持续时长为 1000 / 30 ≈ 33ms,如果在理想情况下能够按照计算出了数值进行播放 实际情况是因为各种原因导致音视频不同步,如每解码和渲染的时长有差别,色彩丰富的视频可能就比色彩单一的视频解码渲染更慢以及计算的误差等,音视频同步方式主要有三种: 视频同步到音频 音频同步到视频视频同步到外部时钟

    5.3K10发布于 2021-02-08
  • 来自专栏腾讯IMWeb前端团队

    视频中的 I ,P ,B

    视频传输原理 视频是由一幅幅图像和一组音频构成的,视频的播放过程可以简单理解为一的画面按照时间顺序呈现出来的过程。 但是在实际应用中,并不是每一都是完整的画面,因为如果每一画面都是完整的图片,那么一个视频的体积就会很大。 由于压缩处理的方式不同,视频中的画面就分为了不同的类别,其中包括:I 、P 、B 。I 是内部编码(也称为关键),P 是前向预测(前向参考),B 是双向内插(双向参考)。 在视频画面播放过程中,如果 I 丢失了,则后面的 P 也就随着解不出来,就会出现视频画面黑屏或卡顿的现象。 P 是差别,P 没有完整画面数据,只有与前一的画面差别的数据。 若 P 丢失了,则视频画面会出现花屏、马赛克等现象。

    5.2K20编辑于 2022-06-29
领券