个人网站怎么样的,平台网站功能,上海做设计公司网站,免费推广网站翻译英文文章目录 前言一、背景二、选型分析2.1 ffmpeg自带的xfade滤镜2.2 ffmpeg使用GL Transition库2.3 xfade-easing项目 三、安装3.1、安装依赖#xff08;[参考](https://trac.ffmpeg.org/wiki/CompilationGuide/macOS#InstallingdependencieswithHomebrew)#xff09;3.2、获取… 文章目录 前言一、背景二、选型分析2.1 ffmpeg自带的xfade滤镜2.2 ffmpeg使用GL Transition库2.3 xfade-easing项目 三、安装3.1、安装依赖[参考](https://trac.ffmpeg.org/wiki/CompilationGuide/macOS#InstallingdependencieswithHomebrew)3.2、获取ffmpeg源码3.3、融合xfade-easing文件3.3、编译安装3.4、验证 四、使用4.1 xfade滤镜简易动效4.2 GL库翻书动效 5、Todo总结 前言 FFmpeg 是一个开源的多媒体处理工具可以用于录制、转换、编辑和播放音频、视频以及其他多媒体文件和流。它是基于命令行的工具支持多种平台Windows、macOS、Linux。 xfade 是 FFmpeg 中的一个滤镜用于创建 转场效果crossfade。它可以在两段视频或两张图片之间生成平滑的过渡效果例如淡入淡出、擦除、滑动等。 gl-transition 是一个使用 OpenGL 实现的动态转场效果库广泛用于视频编辑和动态转场生成。它允许在视频或图片之间添加基于 GPU 的高性能视觉效果比如渐变、模糊、溶解、翻转、波浪、像素化等特效。可搭配 FFmpeg 或其他工具在命令行环境中批量生成带有特效的视频。 一、背景
最近玩了几个月AI绘画画了几千张图了目前希望能自动将一组图片拼接成视频图片切换时使用转场动效。其中希望使用翻书的动画效果。 简易横划效果示例
复杂书本翻页效果示例
二、选型分析
2.1 ffmpeg自带的xfade滤镜
ffmpegv4.4以上自带xfade滤镜官方文档地址https://trac.ffmpeg.org/wiki/Xfade#Gallery xfade支持常规的转场效果如下 但xfade不支持复杂转场效果如书本翻页而我想要的就是“书本翻页”。
2.2 ffmpeg使用GL Transition库
GL Transition支持一些更复杂酷炫的转场效果官方示例https://gl-transitions.com/gallery ffmpeg使用gl-transition网上大多数文章提到的都是此项目
https://github.com/transitive-bullshit/ffmpeg-gl-transition但该项目已多年未维护本人尝试使用最新的ffmpegV7.1编译遇到很多问题。从issue和最后更新时间看应该使用ffmpegV4.x版本会顺利些。但有点老没再考虑。
2.3 xfade-easing项目
从ffmpeg-gl-transition的issue中发现有人提到此项目
https://github.com/scriptituk/xfade-easing本文写作时此项目最新更新时间为2周前很新的项目。从Readme文件中了解到支持2.1、2.2提到的所有动效且原理性的说明也非常详细。于是按此方案实现。
三、安装
以mac电脑为例 我们参考ffpemg的官方安装指引和xfade-easing的Readme文件中的说明即可 https://trac.ffmpeg.org/wiki/CompilationGuide/macOS https://github.com/scriptituk/xfade-easing?tabreadme-ov-file#building-ffmpeg 文档内容不太清晰结合两部分的文档整理如下
3.1、安装依赖参考
brew install automake fdk-aac git lame libass libtool libvorbis libvpx \
opus sdl shtool texi2html theora wget x264 x265 xvid nasm \
glew glfw其中前两行是ffmpeg官方文档提到的依赖第三行glew、glfw是xfade文档提到的依赖 3.2、获取ffmpeg源码
可以github或官网下载压缩包或直接克隆本文编写时最新版本v7.1
git clone http://source.ffmpeg.org/git/ffmpeg.gitcd ffmpeg./configure --prefix/usr/local --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libopus3.3、融合xfade-easing文件
# 下载patch到ffmpeg根目录下并执行
wget https://github.com/scriptituk/xfade-easing/raw/refs/heads/main/src/vf_xfade.patchpatch -b -p0 -i vf_xfade.patch# 下载xfade-easing.h 并移动到 libavfilter/
wget https://github.com/scriptituk/xfade-easing/raw/refs/heads/main/src/xfade-easing.h
mv xfade-easing.h libavfilter/3.3、编译安装
./configure --prefix/usr/local --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libopusmake ECFLAGS-Wno-declaration-after-statementmake install3.4、验证
ffmpeg -hide_banner --help filterxfade |grep xfade AVOptions执行上述命令返回结果有xfade AVOptions关键字即成功
四、使用
以文章开头的两个gif图demo为例假设我们有两张尺寸一样的图片test1.jpeg、test2.jpeg
4.1 xfade滤镜简易动效 ffmpeg -loop 1 -t 3 -i test1.jpeg -loop 1 -t 3 -i test2.jpeg -filter_complex xfadeduration1:offset1:transitionrevealleft output.mp44.2 GL库翻书动效 ffmpeg -loop 1 -t 4 -i test1.jpeg -loop 1 -t 1 -i test2.jpeg -filter_complex xfadeduration3:offset1:easingquartic-out:transitiongl_InvertedPageCurl -y output.mp4更多使用方式可以参阅文档或留言交流
5、Todo
以下内容有空会更新欢迎大家关注
添加背景音乐添加字幕开发stable diffusion / comfyUI 插件一键生成视频影集 总结
使用ffmpeg配合xfade滤镜、GL库可以实现各式各样的转场效果。本文提供了从0到1的使用教程希望对大家有帮助。
欢迎大家点赞、关注博主