剪映APP的视频特效如何在Web中JS实现 (www.zhangxinxu.com)

【简介】

视频剪辑软件,无论是桌面端还是手机端,都已经被剪映称霸。其中,有个“特效”的标签页,里面有各式各样的效果。

本文会以pixi.js为基础工具,介绍这里面的特效如何在Web网页中实现。

这里面的特效分为了两种:一种是直接改变当前绘制的滤镜,主要是通过解析.frag后缀的文件后渲染实现,例如模糊,扭曲等效果。另外一种是混合滤镜,专门实现一些氛围特效效果,主要是通过解析MP4视频资源(本质是图片序列),然后使用滤色混合模式实现,例如下雨起雾,烟花绽放等效果。

点击查看原文 >>

@技术头条 2023-11-29 23:40 / 原作者微博:@张鑫旭 / 0个评论
赞过的人: @IT技术博客大学习
要不要再学学下面的文章?
Agent是如何工作的:概念及LangChain实现 (it.deepinmind.com)
LLM(大型语言模型)在自主Agent领域的应用受到了广泛关注。你可能已经在诸如Auto-GPT、BabyAGI等流行应用中了解过它们的用法,这些应用几乎每天都层出不穷。

理解这些应用的基本原理并不复杂,因为大多数工具的工作流程大致相同。
by @技术头条 2024-03-31 21:13 查看详情
今天才知道,Web网页也能阻止息屏了 (www.zhangxinxu.com)
Chrome和Safari浏览器都支持了名为Screen Wake Lock的API,可以设置Web网页打开的状态下,显示器屏幕不会自动休眠。
by @技术头条 2024-03-21 22:53 查看详情
重复视频检测的价值和常见方法 (ixyzero.com)
全网范围内的主要精品视频主要来自MCN机构,一些公司为了更快更好地去覆盖全网内容,会选择和内容代理合作,而代理手上会有很多重复版权的内容,导致重复内容出现。另外,搬运视频也会导致重复内容出现,这些重复内容会造成极差的用户体验。

再者,大量内容相似的视频对于短视频平台存储、网络带宽等资源也是一个极大的挑战,为了不必要的资源浪费,对视频内容进行去重是非常有必要的。
by @技术头条 2024-03-13 13:24 查看详情
基于接口数据变异的App健壮性测试实践 (tech.meituan.com)
本文主要介绍了对网络返回数据进行变异的客户端健壮性测试实践经验。文章第一部分介绍客户端健壮性测试的基本概念;第二部分分享了基于接口返回数据变异的App健壮性测试方案设计的思路;第三部分主要解读了变异数据的构造和异常检测方案设计;第四部分介绍了精简变异数据的探索方案。
by @技术头条 2024-03-12 22:45 查看详情
为 log 实现的无锁 Ringbuffer (blog.codingnow.com)
这两天在改 log 模块。我们需要一个并发写 log 的模块,它有多个 log 生产者一个消费者,这个唯一的消费者在 log 线程中把 log 数据持久化。

大多数 log 生产者是在第三方库的 callback 函数中调用的,比如 bgfx ,如果写 log 不够快的话,就会阻塞渲染。这个 callback 需要自己保证线程安全。因为 bgfx 支持多线程渲染,所以写 log 的 callback 可能在不同的线程触发。

过去在实现 bgfx 的 luabinding 时,我实现了一个简单的 mpsc 队列,get_log 这个函数就是那个单一消费者,它取出队列中所有的 log 信息,返回到 lua 虚拟机中。

它是用 spin_lock 实现的。这两天,我想应该可以实现一个更通用的无锁版本。

在我的需求中,log 信息是允许丢掉的。所以我开了一个固定大小的 ri
by @技术头条 2024-03-12 22:45 查看详情
Web App: 从 HTML 到 Jamstack (zgq.ink)
Web 领域已发展得十分庞杂,就知识规模来说已不是你我一个人可以穷尽。从 Web 前后端开发角度来看,前端当下正流行着 Next.js、Remix 等 SSR 方案、以及 React 后续继续开发的 Server Component 等等;后端方面则搞出了“云原生”相关的一整套技术生态,各路轮子百花齐放,一不留神就容易沉迷其中而难以自拔。

对于开发者来说,越来越重要的事情也是,放下“穷尽一切”的执念,寻找属于自己的一隅落脚之地。在学习精力、时间有限的背景下,关注点也需要开始区分优先级,关于哪些技术细节值得关注,哪些其实不必花太多时间。

在这寻找落脚之地的旅程中,对事物发展的脉络有一个大致的把握,也变得越来越重要。大致也是需要搞清楚,当前 Web 技术大概发展到了什么样的程度,当下有什么问题正在被解决,哪些技术又可能成为历史包袱被淘汰。

想起我自初中开始接触编程至今,冥冥中伴随着 HTML5 技术从萌芽到成熟的过程,当下 HTML5 已融入我们生活方方面面,乃至于已向客户端开发领域进一步扩展。也许可以就我的所见所想,简单理一理其中经历的一些比较关键的形态,也让我对接下来时间精力大概可以投向的方向有所感知。至于技术细节,网络上有着丰富的资料,这里就不再赘述。
by @技术头条 2024-01-17 23:20 查看详情
解析Java动态代理机制的实现 (l1n.wang)
代理模式主要是Proxy对原始方法做了一层包装,用以增加一些新的统一处理逻辑,来增强目标对象的功能。静态代理是传统设计模式中一种传统的实现方案,动态代理能将代理对象的创建延迟到程序运行阶段。
by @技术头条 2024-01-17 23:16 查看详情
golang uretprobe的崩溃与模拟实现 (www.cnxct.com)
Go程序崩溃的核心原因为Go的栈在runtime管理时,被插入了异常的内存地址。Go中常见的堆栈变化为协程goroutine的创建与销毁。栈内 被插入异常内存地址是因为eBPF的实现机制是向函数的返回地址前,插入了断点指令(i386和x86_64是INT3)。 两个条件的叠加,就出现了这个错误。
by @技术头条 2024-01-17 23:12 查看详情
如何实现 GC 的高吞吐量? (www.diguage.com)
在本篇文章中,我们将探讨垃圾回收过程中的一个关键性能指标:"GC 吞吐量"。我们将了解它的含义、在 Java 应用程序中的重要性以及它对整体性能的影响。此外,我们还将深入探讨提高 GC 吞吐量的可行策略,为现代软件开发释放其优势。
by @技术头条 2024-01-13 23:50 查看详情
利用gorm自身提供的方法实现存在更新不存在则创建的能力 (wiki.eryajf.net)
MySQL 有一个语句是 UPSERT 的操作,它结合了 update 和 insert 两种操作的功能。当执行 upsert 操作时,如果指定的记录已经存在,则执行更新操作;如果指定的记录不存在,则执行插入操作。这种操作可以用来确保数据的一致性,并且可以减少对数据库的访问次数。
by @技术头条 2024-01-13 23:49 查看详情