ffmpeg 视频过度滤镜 gltransition

上次随笔中提到的 ffmpeg-concat 可以处理视频过度,但是缺点是临时文件超大。
经过查找 ffmpeg 还有 gltransition 滤镜,但是 ffmpeg 的正式版中还没有加进去。
github 上有 ffmpeg-gl-transition 项目,有详细的添加滤镜的说明,参见以下地址
https://github.com/transitive-bullshit/ffmpeg-gl-transition 这个滤镜依赖的库包括 GLEW + glfw3
想静态编译 GLEW 需要加 #define GLEW_STATIC ffmpeg -i 1.mp4 -i 2.mp4 -filter_complex "gltransition=duration=4:offset=1.5:source=crosswarp.glsl" -y out.mp4 通过下面的脚本可以使用不同视频过度方式
-------------------------------------------------------------------------------------------------
ffmpeg-gl-transition-concat.sh
-------------------------------------------------------------------------------------------------
#!/bin/bash
# Example of concatenating 3 mp4s together with 1-second transitions between them. tpath="/ffmpeg/transitions/"
x264="-look_ahead 0 -ac 2 -c:v h264_qsv -profile:v high -level 3.1 -preset:v veryfast"
ki="-keyint_min 72 -g 72 -sc_threshold 0"
br="-b:v 3000k -minrate 3000k -maxrate 6000k -bufsize 6000k -b:a 128k" ffmpeg -hide_banner \
-i 1.mp4 \
-i 2.mp4 \
-i 3.mp4 \
-filter_complex " \
[0:a] atrim=0:5 [a0]; \
[1:a] atrim=0:5 [a1]; \
[2:a] atrim=0:6 [a2]; \
\
[0:v] split [v000] [v010]; \
[1:v] split [v100] [v110]; \
[2:v] split [v200] [v210]; \
\
[v000] trim=0:5 [v001]; \
[v010] trim=5:6 [v011t]; \
[v011t] setpts=PTS-STARTPTS [v011]; \
\
[v100] trim=0:5 [v101]; \
[v110] trim=5:6 [v111t]; \
[v111t] setpts=PTS-STARTPTS [v111]; \
\
[v200] trim=0:5 [v201]; \
[v210] trim=5:6 [v211t]; \
[v211t] setpts=PTS-STARTPTS [v211]; \
\
[v011] [v101] gltransition=duration=1:source=${tpath}WaterDrop.glsl [vt0]; \
[v111] [v201] gltransition=duration=1:source=${tpath}crosswarp.glsl [vt1]; \
\
[v001] [vt0] [vt1] [v211] concat=n=4 [outv]; \
[a0] [a1] [a2] concat=n=3:v=0:a=1 [outa]" \
-map [outv] -map [outa] \
${x264} ${ki} ${br} \
-y ffmpeg-gl-transition-concat.mp4
-------------------------------------------------------------------------------------------------

  

ffmpeg 视频过度滤镜 gltransition的更多相关文章

  1. FFMpeg ver 20160219-git-98a0053 滤镜中英文对照 2016.02.21 by 1CM

    FFMpeg ver 20160219-git-98a0053 滤镜中英文对照 2016.02.21 by 1CM T.. = Timeline support 支持时间轴 .S. = Slice t ...

  2. FFMpeg ver 20160213-git-588e2e3 滤镜中英文对照

    1 FFMpeg ver 20160213-git-588e2e3 滤镜中英文对照 2016.02.18 by 1CM 2 T.. = Timeline support 3 支持时间轴 4 .S. = ...

  3. 视频编解码的理论和实践2:Ffmpeg视频编解码

    近几年,视频编解码技术在理论及应用方面都取得了重大的进展,越来越多的人想要了解编解码技术.因此,网易云信研发工程师为大家进行了归纳梳理,从理论及实践两个方面简单介绍视频编解码技术. 相关阅读推荐 &l ...

  4. FFmpeg frei0r water 滤镜

    FFmpeg frei0r water 滤镜, 在 linux 环境中很流畅,但在 XP 环境中抛出异常 研究一段时间修改了代码,能在 XP 里跑得动. sample.water.avi water. ...

  5. c# ffmpeg视频转换

    c#  ffmpeg视频转换 什么是ffmpeg,它有什么作用呢,怎么可以使用它呢,带着问题去找答案吧!先参考百度百科把,我觉得它很强大无奇不有,为了方便大家我就把链接提供了! http://baik ...

  6. iOS8 Core Image In Swift:视频实时滤镜

    iOS8 Core Image In Swift:自己主动改善图像以及内置滤镜的使用 iOS8 Core Image In Swift:更复杂的滤镜 iOS8 Core Image In Swift: ...

  7. c# ffmpeg视频转换【转载】

    c#  ffmpeg视频转换 什么是ffmpeg,它有什么作用呢,怎么可以使用它呢,带着问题去找答案吧!先参考百度百科把,我觉得它很强大无奇不有,为了方便大家我就把链接提供了! http://baik ...

  8. Android 音视频深入 二十一 FFmpeg视频剪切

    视频剪切我意外的发现上一次的视频压缩的代码能够运行FFmpeg视频剪切的命令,但是不能做视频合并的命令,因为不能读取记录了几个视频的路径的txt文件. 这里我就说直说视频剪切的过程,不说代码,只说lo ...

  9. C# 使用ffmpeg视频截图

    <appSettings> <add key="ffmpeg" value="E:\ffmpeg\ffmpeg-20141012-git-20df026 ...

随机推荐

  1. 牛客练习赛47 E DongDong数颜色 (树状数组维护区间元素种类数)

    链接:https://ac.nowcoder.com/acm/contest/904/E 来源:牛客网 DongDong数颜色 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 5242 ...

  2. google guava工具包

    guava这个工具包里有好多有用的工具类 <dependency> <groupId>com.google.guava</groupId> <artifact ...

  3. Tableau 分群

    对数据的特征进行分析,分群. 数据选用的是Iris data 下载地址:http://archive.ics.uci.edu/ml/machine-learning-databases/iris/ 1 ...

  4. python file对象测试数据的读写操作及OS模块介绍(四)

    import   from....import 引入模块 引入类 ①import 如果文件在lib下而且是python模块 :import 模块名. ②from....import from 包名.包 ...

  5. js 动态获取高度 设置距离

    var boxs = document.getElementById('m2-head');var Height = boxs.clientHeight||o.offsetHeight;console ...

  6. Apache工作流程

    一个经典的Apache处理php页面的流程 需要连接mysql数据库并处理的流程 网站是一系列网页的组合 从用户角度看就是访问诸如 hhtp://www.baidu.com -----url 这是互联 ...

  7. Android Studio 创建项目后“Cannot resolve symbol” 解决办法

    报错位置显示 “Cannot resolve symbol XXX”, 解决方法如下: 点击菜单中的 “File” -> “Invalidate Caches / Restart”,然后点击对话 ...

  8. MongoDB——》聚合查询(project、match、limit、skip、unwind、group、sort)

    https://blog.csdn.net/weixin_43453386/article/details/85065043#1_testweightname_id_35 https://blog.c ...

  9. windows和linux开机自启动设置

    Windows 1,启动快捷方式   开始>程序>启动 文件夹中拷贝进去需要开机启动的程序快捷方法,此方法需要相应用户登录系统2,注册为服务,设置启动方式为自动   a,    sc命令  ...

  10. layer .net中使用

    在.net中使用layer得用ajax来请求一般处理程序来得到想要的json数据,直接上代码 html: <head runat="server"> <meta ...