【视频如何转gif - 有感】

某天有个视频转gif动图的需求,本想着在网上找个工具,一键转换。

网上的gif转换工具很多,花花绿绿 ,但实际能到达需求效果的,一个都没有!不是转出来的清晰度巨低,就是要注册付费会员,试了多个都不符合预期。

这个时候,突然想到很久之前做视频流媒体开发时,用到的一个神器ffmpeg,搜了下,果然可以用,安装ffmpeg后就一行命令,即可完成转换,且清晰度无损,帧数等关键参数也可以自定义调整!

mov → gif

复制代码
ffmpeg -ss 00:00:10 -i input.mov -t 2 -r 10 -s 1080x1920 output.gif
  • ss 00:00:10: 指定从视频的第10秒开始截取。
  • i input.mov : 指定输入文件为 input.mov。
  • t 2: 指定截取的时长为 2 秒(从第十秒到第十二秒,即两秒)。
  • r 10: 设置输出 GIF 的帧率为 10 帧/秒。
  • s 1080x1920: 设置输出 GIF 的分辨率为 1080x1920 像素。
  • output.gif : 指定输出文件名为 output.gif。

感想:有时候使用软件工具虽然操作简单,但是也同样因为操作简单,只要稍微有些定制化需求 ,软件就很难实现了。

了解原理 , 自己转换 ,科技就是生产力 !✿ヽ(°▽°)ノ✿


参考

FFmpeg 是一个强大的多媒体处理工具,它可以用来处理音频、视频和其他多媒体文件。它是一个开源项目,可以在多种操作系统上运行,包括 Linux、Windows 和 macOS。

FFmpeg 可以执行的一些常见任务包括:

  1. 格式转换: 可以将一个多媒体文件从一个格式转换为另一个格式。比如将一个视频文件从 MP4 转换为 AVI 格式,或者将一个音频文件从 MP3 转换为 WAV 格式等。
  2. 剪辑和拼接: 可以截取视频或音频文件的一部分,也可以将多个文件合并成一个文件。比如截取视频的某一段,或者将多个音频文件合并成一个音频文件等。
  3. 编解码: 可以对音频和视频进行编解码操作。比如对视频进行解码以提取其中的帧,或者对音频进行编码以改变其格式等。
  4. 添加/提取元数据: 可以添加或提取多媒体文件中的元数据信息,比如标题、作者、描述等。
  5. 调整参数: 可以调整音频或视频文件的参数,比如调整音频的音量、视频的分辨率、帧率等。
  6. 流处理: 可以处理实时的音视频流,比如从摄像头捕获视频流并进行处理,或者将处理后的流发送到网络上等。

总的来说,FFmpeg 是一个非常强大且灵活的多媒体处理工具,可以满足各种多媒体处理需求,从简单的格式转换到复杂的流处理都可以胜任。

GIF 原理:GIF(Graphics Interchange Format)是一种使用无损压缩算法的位图图形文件格式,最初由CompuServe开发。GIF 使用 LZW 压缩算法来减小文件大小,它支持动画和透明度,并且可以包含多帧图像以创建简单的动画效果。GIF 图像由多个图像帧组成,每一帧都可以有不同的延迟时间,这样就可以创建动画效果。

MOV 格式与 GIF 格式的区别 :

  1. 文件类型 :MOV 是一种视频文件格式,通常用于存储电影或其他视频内容;而 GIF 是一种图像文件格式,通常用于简单动画、图标等。

  2. 压缩算法 :MOV 使用不同的编解码器(如H.264、HEVC等)来压缩视频数据,而 GIF 使用 LZW 无损压缩算法来压缩图像数据。

  3. 颜色深度 :MOV 文件通常支持较高的颜色深度和分辨率,适合存储高质量视频内容;而 GIF 文件通常是8位色深,支持最多256种颜色。

  4. 动画支持 :MOV 可以包含音频、视频轨道,支持复杂的视频和音频内容;而 GIF 只支持简单的动画效果,不包含音频轨道。

  5. 应用场景:MOV 适合用于存储电影、视频剪辑等内容;而 GIF 更适合用于简单动画、表情包、网页图像等场景。

相关推荐
美狐美颜sdk2 小时前
直播APP源码可以直接接入视频美颜sdk吗?技术方案详解
android·人工智能·音视频·美颜sdk·直播美颜sdk
揽秀亭长3 小时前
从音频到五线谱|扒谱过程中的关键技术环节
人工智能·音视频
全栈练习生3 小时前
AI Agent 沙箱
python·ai
SEO_juper4 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
用户8356290780516 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__6 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户8356290780516 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_461769406 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
2601_966949656 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
全栈弄潮儿7 小时前
Python实战第1期:Python环境搭建与第一个程序
python