效果如下:

直接贴代码, 这里代码也是基于 shadertoy, 在原代码上做了一些修改:

uniform sampler2D texture;
uniform float u_time;
uniform vec2 u_resolution;vec2 hash21(float p)
{vec3 p3 = fract(vec3(p) * vec3(.1031, .1030, .0973));p3 += dot(p3, p3.yzx + 33.33);return fract((p3.xx+p3.yz)*p3.zy);}vec3 hash31(float p) {vec3 p2 = fract(p * vec3(5.3983, 5.4427, 6.9371));p2 += dot(p2.zxy, p2.xyz + vec3(21.5351, 14.3137, 15.3219));return fract(vec3(p2.x * p2.y * 95.4337, p2.y * p2.z * 97.597, p2.z * p2.x * 93.8365));
}vec2 dir(float id){vec2 h = hash21(id);h.y*=2.*acos(-1.);return h.x*vec2(cos(h.y),sin(h.y));
}#define PARTICLES_MIN 20.
#define PARTICLES_MAX 200.float bang(vec2 uv, float t,float id){float o = 0.;if(t<=0.){return .04/dot(uv,uv);}float s = (sqrt(t)+t*exp2(-t/.125)*.8)*10.;float brightness = sqrt(1.-t)*.015*(step(.0001,t)*.9+.1);float blinkI = exp2(-t/.125);float PARTICLES = PARTICLES_MIN+(PARTICLES_MAX-PARTICLES_MIN)*fract(cos(id)*45241.45);for(float i=0.; i<20.0; i++){vec2 d = dir(i+.012*id);vec2 p = d*s;vec2 h = hash21(5.33345*i+.015*id);float blink = mix(cos((t+h.x)*10.*(2.+h.y)+h.x*h.y*10.)*.3+.7,1.,blinkI);o+=blink*brightness/dot(uv-p,uv-p);}return o;
}const float ExT = 1./4.;
#define duration 2.2float firework(vec2 uv,float t,float id){if(id<1.)return 0.;vec2 h = hash21(id*5.645)*2.-1.;vec2 offset = vec2(h.x*.1,0.);h.y=h.y*.95;h.y*=abs(h.y);vec2 di = vec2(h.y,sqrt(1.-h.y*h.y));float thrust = sqrt(min(t,ExT)/ExT)*25.;vec2 p = offset+duration*(di*thrust+vec2(0.,-9.81)*t)*t;return sqrt(1.-t)*bang(uv-p,max(0.,(t-ExT)/(1.-ExT)),id);
}#define NUM_ROCKETS 3.void main()
{vec2 uv = gl_FragCoord.xy/u_resolution.xy;gl_FragColor =texture2D(texture, uv);uv = (2.*gl_FragCoord.xy-u_resolution.xy*vec2(1.,0.))/u_resolution.y;  float time = .75*u_time;float t = time/duration;//uv.y-=.65;uv*=35.;float m = 1.;float d =0.;for(float i = 0.;i<ceil(NUM_ROCKETS);i++){float T = 1.+t+i/NUM_ROCKETS; float id = floor(T)-i/NUM_ROCKETS; //should give a unique integer for each rocketvec3 color = hash31(id*.75645);color/=max(color.r,max(color.g,color.b));//making colors as bright as possiblegl_FragColor += vec4(firework(uv,fract(T),id)*color,0.0);}}

ffmpeg交流群:

210324637

ffmpeg通过OpenGL给视频添加 烟花特效相关推荐

  1. ffmpeg通过OpenGL给视频添加下雪特效源码

    效果如下: shader代码: uniform float u_time; varying vec2 TextureCoordsVarying; uniform sampler2D texture;v ...

  2. 如何用html制作一个动态烟花,视频加烟花特效 视频如何制作烟花效果|视频上添加动态的焰火效果...

    有句mmp不知当讲不当讲,今天竟然是孔子的诞辰,这样一算孔子很有可能是处女座呢!!当看到这条消息时我的内心是拒绝的,在我看来孔子的中庸思想表示的"平庸.折中.调和"明明是我们天秤座 ...

  3. 使用html5制作烟花的视频,视频加烟花特效 视频如何制作烟花效果|视频上添加动态的焰火效果...

    有句mmp不知当讲不当讲,今天竟然是孔子的诞辰,这样一算孔子很有可能是处女座呢!!当看到这条消息时我的内心是拒绝的,在我看来孔子的中庸思想表示的"平庸.折中.调和"明明是我们天秤座 ...

  4. html5火苗特效代码,视频添加火焰特效 视频画面中加动态的火苗效果

    我想好了等我三十岁的时候还没有结婚的话,我就给那些结了婚.生了孩子.我随了份子钱的人打电话,让他们来参加我的三十岁大寿,我想我这样做他们应该可以理解吧!!好了来看看我们今天的教程吧,同样也是视频加特效 ...

  5. FFMPEG使用 frei0r 给视频添加马赛克效果

    最近群里有伙伴给出一条命令 ffplay -i xx.mp4 -vf "frei0r=pixeliz0r:0.02|0.02" 想要给视频添加马赛克,  当时遇到问题 没有找到 f ...

  6. 视频特效剪辑小技巧,给每个视频添加反相特效

    最近很多人问,视频如何添加特效,视频反相特效怎样制作,能批量剪辑?下面就为大家分享一个快速简单的方法,最近需要制作 视频,添加特效的小伙伴们一起来试试吧. 首先我们需要准备加特效的或者提前准备好的视频 ...

  7. FFmpeg实例,为视频添加一个循环播放的背景音乐

    ffmpeg -i E:\1\subtitle\out3.mp4 -i E:\1\subtitle\music3D.wav -filter_complex [1:a]aloop=loop=-1:siz ...

  8. 趣味应用 | 用OpenCV自动给图片添加彩虹特效---平淡的生活需要技术的点缀

    点击下方卡片,关注"OpenCV与AI深度学习"公众号! 视觉/图像重磅干货,第一时间送达! 导读 本文主要介绍如何使用OpenCV给图片和视频添加彩虹特效,给平淡的生活增添点色彩 ...

  9. ffmpeg为视频添加特效

    本文包含以下内容 1.AVFilter的基本介绍 2.如何利用ffmpeg命令行工具实现各种视频滤镜 3.如何利用libavfilter编程实现在摄像头直播流中加入各类不同滤镜的功能 具有较强的综合性 ...

最新文章

  1. 梯度中心化,一行代码加速训练并提升泛化能力
  2. 第一门编程语言的选择无关紧要?
  3. jq ajax异步上传图片插件,jQuery异步上传文件插件ajaxFileUpload详细介绍
  4. sutton 强化学习 中文版pdf_互联网数据驱动力简书-《数据推动力-创造数据文化》免费pdf分享...
  5. 最优化学习笔记(十四)——共轭梯度法
  6. 老板让我搞数字化转型?成功之后,我整理了这套超全的方法论
  7. BootstrapTable分页(一)
  8. git status
  9. 海洋zyapi.php,zyapi.php · 姬晓亮/海洋cms 海洋影视管理系统 - 免费开源PHP - Gitee.com...
  10. c语言中的函数可变参数列表相关的三个宏
  11. java简单图书馆管理系统_简单 图书馆管理系统 Java+Oracle
  12. 海洋cms播放器html,海洋cms怎么添加播放器
  13. 最火照片墙前端纯HTML(只需添加照片)
  14. 多线程批量检测未注册域名
  15. 产品3C认证证书暂停要怎么恢复,3C证书没有年审怎么办?
  16. Mac OS X Lion 系统中检测 WiFi 信号强度
  17. 社会管理网格化 源码_张家口市召开市域社会治理暨全市网格化服务管理现场观摩会议...
  18. Win10安装cuda11.1和cudnn8.0
  19. 大海贼探险物语机器人_大海贼冒险岛
  20. 可以说今年最详细的面试要点!耗时两个礼拜,五章8000字面试长文,写简历—阿里Offer一步到位!

热门文章

  1. 服务器系统装音频设备,windows2008 64位操作系统安装音频图文教程
  2. 尼尔机器人技能快捷键_《尼尔机械纪元》出招表及招式使用技巧
  3. android volte 开关,魅蓝5怎么开通VoLTE?魅蓝5开启与关闭VoLTE图文教程
  4. 【使用Python+Faker+xlwt 】生成批量数据,并以xlsx格式导出数据
  5. 每日感悟-华杉讲解论语-2022/2/2
  6. 广告接单平台推荐,支持公众号、视频号、抖音、快手、B站、小红书等流量主
  7. 实现阅读平台源码,书籍排行榜是怎样实现的
  8. 做图书管理系统时遇到的一些问题及解决方案
  9. Java基础内容/基础语法/流程控制
  10. 四种MySQL存储引擎