[日常]mov文件转换为gif
因为需要将之前mac下用QuickTime录屏生成的文件(mov格式)转换成gif文件, 便于传到某些博客平台, 于是找到了这个转换工具, 已将原代码的命名中文化并简化. Ruby和视频转换都是新手, 请多指教.
之前JavaScript实现ZLOGO: 前进方向和速度有两个mov文件, 下面为转换出的gif:
"轮胎":
无法粘贴,详见原文:https://zhuanlan.zhihu.com/p/54832362
田字格:
下面是命名中文化后的源码. 注意: 需将mov文件置于media
目录下, 并自行修改mov文件名
和mov视频大小
值.
# encoding: utf-8 APP_ROOT = File.dirname(__FILE__) @@mov文件名 = "1214_田字格" class Converter @@mov视频大小 = "1032x542" # 查看mov文件属性 # Default path to ffmpeg installed by homebrew @@ffmpeg = File.join('/', 'usr', 'local', 'bin', 'ffmpeg') # Default path to gifsicle installed by homebrew @@gifsicle = File.join('/', 'usr', 'local', 'bin', 'gifsicle') @@像素格式 = "rgb8" # Tell ffmpeg to reduce the frame rate from to 30 @@帧数 = 30 # Tell gifsicle to delay 30ms between each gif (in ms) @@延时 = 3 # Requests that gifsicle use the slowest/most file-size optimization @@优化 = 3 def initialize(输入, 输出) 命令 = %{#{@@ffmpeg} -i #{输入} -s #{@@mov视频大小} -pix_fmt #{@@像素格式} -r #{@@帧数} -f gif - | #{@@gifsicle} --optimize=#{@@优化} --delay=#{@@延时} > #{输出}} %x[ #{命令} ] end end # Be careful not to use spa ces. 输入 = File.join(APP_ROOT, 'media', @@mov文件名 + '.mov') 输出 = File.join(APP_ROOT, 'media', @@mov文件名 + '.gif') Converter.new(输入,输出)
中文命名相关问题
开头需加# encoding: utf-8
, 否则报错
invalid multibyte char (US-ASCII)
如果类名改为转换器
, 运行报错如下. 不知是否Ruby的限制.
$ ruby 转换器.rb 转换器.rb:7: class/module name must be CONSTANT
2019-01-13
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JavaScript实现ZLOGO: 前进方向和速度
系列前文: JavaScript实现ZLOGO子集: 前进+转向 JavaScript实现ZLOGO子集: 单层循环功能 JavaScript实现ZLOGO子集: 测试用例 JavaScript实现ZLOGO: 用语法树实现多层循环 功能上, 添加了蚂蚁图标显示当前前进方向, 并可通过修改源码实现行进速度. 并未对语言本身进行改进. 另有一点界面改进. 源码仍在: program-in-chinese/quan3 在线演示仍在: 圈3 演示 默认2倍行进速度(相比之前)画田字格: 8倍行进速度画"轮胎" (LOGO源码链接): 无法粘贴大gif。详见原文:https://zhuanlan.zhihu.com/p/52434775 部分相关源码 下面是为添加蚂蚁和定制速度作的主要修改: + if (!指示方向图) { + 指示方向图 = createImg("图标/蚂蚁头向上.png") + 指示方向图.size(36, 34); + } + // TODO: 提取到二阶函数 绘制 = function() { var 当前序号 = 序号; + const 速度 = 2; backgro...
- 下一篇
JavaScript实现ZLOGO: 界面改进与速度可调
续前文JavaScript实现ZLOGO: 前进方向和速度 在线演示地址: http://codeinchinese.com/%E5%9C%883/%E5%9C%883.html 源码仍在: program-in-chinese/quan3 主要功能改进是在界面可以选择速度. 其他界面布局改进有: 在ipad横屏下显示正常(1024x768) (前文问题1) 改正了有些浏览器"蚂蚁"对不准的问题(在火狐, Opera, Safari下测试) 加大字体和按钮 待解决问题 蚂蚁走位有偏移, 速度越快越明显 · Issue #9 · program-in-chinese/quan3 上面视频可以看到最后蚂蚁没有回到原点. 经测试貌似与速度有关, 尚未确定原因. 避免O(n^2)的绘制过程 · Issue #8 · program-in-chinese/quan3 上面视频可见越到后面行进越慢, 应该与每帧绘制线段数逐渐增加有关. 上面例子最后一帧绘制的总线段数有7200段. 避免在绘制每帧时重置背景色 · Issue #10 · program-in-chinese/quan3 在ipad下...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果