如何在linux服务器上以编程方式将动画gif转换为视频(例如h264 @ mp4)?

我需要这个来处理用户生成的内容,这些内容应该作为几种定义的视频格式输出;因此可能,用户可能想要处理动画gif文件.我已经有一套工作的PHP脚本,使用avconv将视频文件转码为特定格式(如vpx @ webm和h264 @ mp4,缩放到特定分辨率),但是我需要视频输入.

通常的方法似乎是提取gif的帧然后编码,就像

convert file.gif file%03d.png

avconv -i file%03d.png file.mp4

但这会丢弃帧速率,由gif文件中的暂停信息决定.可以使用-r定义avconv的帧速率,但是

>这不尊重帧之间的暂停,因为它们可以不同(如第一帧100ms暂停,第二帧250ms暂停,第3帧100ms暂停,……)

>由于输入来自用户,它甚至可能会有所不同,因为一些GIF可能有5fps而其他的是30fps

我注意到avconv能够自己处理GIF,因此可能会尊重正确的暂停,但是当我这样做时(就像在How to convert GIF to Mp4 is it possible?中描述的那样)

avconv -i file.gif -r 30 file.mp4

avconv只会占用gif的第一帧,而它至少会检测到文件为视频:

Duration: 00:00:00.04, start: 0.000000, bitrate: N/A

Stream #0.0: Video: gif, pal8, 640x480, 25 tbn

(例如gif’file.gif’有15帧,每帧有100ms暂停=> 1.5s持续时间,循环)

>我错过了什么?什么出错了?

>这个用例可能有更好的工具吗?

>什么是大型网站,例如9gag用于将上传的GIF转码为视频?

linux服务器视频转换,将动画gif转换为linux服务器上的视频,同时保留帧速率相关推荐

  1. python视频转换字符动画_视频转字符动画-Python-60行代码

    昨晚我朋友三十六咲跟我说在网上看到了别人做的视频转字符动画,觉得很厉害,我于是也打算玩玩.今天中午花时间实现了这样一个小玩意. 顺便把过程记录在这里. 注:最新版使用了画布方式实现,和本文相比改动非常 ...

  2. python视频转换字符动画_视频转字符动画

    导 语 原本今天想发用DQN玩T-Rex Rush,结果出现了一点小意外,昨天睡前开始RUN的模型,早上起来发现C盘内存溢出模型根本没被训练,万万没想到5万张图片竟然没法一次性保存.好的,说了一些废话 ...

  3. 苹果电脑mp3转gif_Mac/OSX上超级好用的视频剪切,视频截图,视频转换GIF动画的工具...

    Support Email: DummyApps@163.com 技术支持邮件:DummyApps@163.com 各位用户朋友,如果您在用这套工具处理视频的时候总是失败,请换一个"目标文件 ...

  4. 用计算机弄音乐,视频剪辑添加音乐,如何在电脑上給视频添加音乐,什么添加音乐软件比较好用...

    大伙平时有没有录像的习惯,出去旅游啊,过节家人团聚的时候,录下来,记载这些美好时刻,没事的时候拿出来慢慢欣赏.但是大伙欣赏的时候感觉缺少某些东西,没错,就是音乐,俗话说的好,音乐是人类最美的语言,它能 ...

  5. Android给音频加上背景音乐,安卓手机视频加背景音乐怎么弄?在安卓手机上给视频加背景音乐并且一键识别歌词...

    注意此教程方案是『安卓手机端教程方案』,在手机端操作不方便,对眼睛不好 建议在电脑端操作 电脑端教程方案推荐:视频加背景音乐怎么弄 视频加背景音乐怎么弄?今天要介绍的是在安卓手机上解决视频加背景音乐怎 ...

  6. linux用pwd转换到系统目录,详细讲解Linux系统中pwd命令的使用技巧

    对于那些使用Linux命令行的人来说,'pwd'命令是非常有用的,它告诉你你现在在那个目录,从根目录(/)如何到达.特别是对于或许会在目录的切换间容易糊涂的Linux新手而言,'pwd' 可以拯救他们 ...

  7. linux版视频转换软件,居家旅行必备的Linux视频转换工具

    [IT168 软件应用]生活在便携设备层出不穷.互联网应用异彩纷呈的IT时代,Linux用户必然经常面临一些视频文件转换的问题,例如将视频文件转换为适当的格式以供MP4或手机等设备播放.如何将视频文件 ...

  8. 基于OpenGL的Android系统视频转换功能实现

          第1章OpenGL ES 3D图形编程首先OpenGL.OpenGL的英文全称是OpenGL Graphics Library,中午名称是开发式图形库.OpenGL为程序开发人员定义了一个 ...

  9. png批量转换为webp_将JPG,PNG和动画GIF转换为WEBP

    png批量转换为webp New image formats like WEP and MOZJPEG will be a major boost to load time on the web.  ...

最新文章

  1. (C++)201709-1 打酱油
  2. 预告|开源操作系统年度技术会议
  3. 独家 | 降维是数据科学家的必由之路
  4. c++ 互斥量和条件变量
  5. 3.6 matlab函数文件的定义与调用
  6. 【已解决】Android 如何让应用在后台运行
  7. xshell 上下左右键乱码和退格键失效
  8. 线性规划图解法求最优解_高中数学:简单的线性规划问题
  9. 云+X案例展 | 民生类:基于AWS PaaS构建基础集团企业级中台
  10. 计算机系徽 节徽设计,数学节节徽设计图
  11. Excel 固定表头
  12. 数据时代程序员必备技能:数据可视化
  13. 唉~看看google搜索的两个关键字的结果吧
  14. 当ChatGpt接入微信群之后。。。
  15. 127:vue+openlayers 使用CRTL控制map拖拽和鼠标滚动 (示例代码)
  16. 【题解】「JSOI2012」玄武密码(AC自动机)
  17. 减慢游戏运行速度_使用网络交换机会减慢我的Internet速度吗?
  18. spring-依赖注入(DI)
  19. 3D人物建模需要哪些软件?资深大牛全方位从入门到实战解析
  20. 港科百创|北京决赛成功举办!“香港科大-杰瑞集团”2022【人工智能】百万奖金国际创业大赛决赛成功举办!...

热门文章

  1. 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程
  2. 2021 前端面试经常被问到 Javascript+HTML5+CSS+ 框架问题(89 篇资料总结)
  3. 违背信任!Linus 回应“拉黑”事件
  4. 如何避免循环中“突兀”的break和continue
  5. Semaphore 里面居然有这么一个大坑!
  6. 2020年,5 种 将死的编程语言!
  7. 漫画:什么是 “智猪博弈” ?
  8. 疫情肆虐之下,阿里巴巴的攻与防!
  9. 如何排查 Kubernetes 的内存增长问题?
  10. Wolfram 语言之父 Stephen Wolfram :编程的未来