因为需要将之前mac下用QuickTime录屏生成的文件(mov格式)转换成gif文件, 便于传到某些博客平台, 于是找到了这个转换工具, 已将原代码的命名中文化并简化. Ruby和视频转换都是新手, 请多指教.

之前JavaScript实现ZLOGO: 前进方向和速度有两个mov文件, 下面为转换出的gif:

"轮胎":

田字格:

下面是命名中文化后的源码. 注意: 需将mov文件置于media目录下, 并自行修改mov文件名mov视频大小值.

# encoding: utf-8APP_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@@优化 = 3def 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

转载于:https://www.cnblogs.com/program-in-chinese/p/10514282.html

2019-01-13 [日常]mov文件转换为gif相关推荐

  1. [日常]mov文件转换为gif

    因为需要将之前mac下用QuickTime录屏生成的文件(mov格式)转换成gif文件, 便于传到某些博客平台, 于是找到了这个转换工具, 已将原代码的命名中文化并简化. Ruby和视频转换都是新手, ...

  2. 百度网盘vep文件如何转换mp4_用这个软件,聊聊如何将MOV文件转换为MP4

    MOV文件作为QuickTime电影播放器 的专有格式.现在被其他应用程序广泛使用,但已取代了MP4文件格式,它是电影文件空间中的主要播放器. MOV和MP4文件都可以存储和播放图像和声音.但是,MO ...

  3. html播放mov格式视频,video - ffmpeg将mov文件转换为mp4,用于HTML5视频标签IE9 - 堆栈内存溢出...

    对于ffmpeg : ffmpeg -i {input}.mov -vcodec h264 -acodec aac -strict -2 {output}.mp4 您还可以添加-q:v / -q:a参 ...

  4. 2019.01.13 bzoj4137: [FJOI2015]火星商店问题(线段树分治+可持久化01trie)

    传送门 题意:序列上有nnn个商店,有两种事件会发生: sss商店上进购标价为vvv的一个物品 求编号为[l,r][l,r][l,r]之间的位置买ddd天内新进购的所有物品与一个数xxx异或值的最大值 ...

  5. python编程比赛初赛 组成最小罗马数字_Python每日一编程小练习(2019.06.13)——罗马数转换为整数...

    题目: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符          数值 I             1 V             5 X             1 ...

  6. 基于DOM4j和POI实现的XML文件转换为XLS(即标准EXCEL)的JAVA程序

    基于DOM4j和POI实现的XML文件转换为XLS(即标准EXCEL)的JAVA程序 #第一次写博客有点小紧张,希望各位大牛多多包涵 大四狗最近来公司实习,经理大大给了一个测试开发能力的任务,读取xm ...

  7. css文件转换html,你怎么能编程方式(或工具).MHT MHTML文件转换为普通的HTML和CSS文件?(How can...

    许多工具有办法导出.mht文件. 我想办法到单个文件转换为文件的集合,一个HTML文件,相关图片和CSS文件,我可以再上传到网站托管商,所有的浏览器是消耗品. 有谁知道任何工具或库或算法来做到这一点. ...

  8. OverTheWire:Bandit通关WriteUp(2019.01.17完)

    OverTheWire:Bandit通关全攻略WriteUp 背景 通关过程 Level 0 Level 0-->Level 1 Level 1 - Level 2 Level 2 - Leve ...

  9. Squid第13章 日志文件

    原贴: 第13章 日志文件 13.1 cache.log 13.1.1 debug级别 13.1.2 转发cache.log消息到系统日志 13.1.3 dump cache.log消息到终端 13. ...

最新文章

  1. R语言使用dplyr包基于因子变量(factor)将原dataframe拆分为每一个因子对应的单独数据集dataframe实战
  2. boost::multiprecision模块mpfr_float相关的测试程序
  3. 大数据架构的典型方法和方式
  4. require.jsAMD模块化编程
  5. android 动画结束停留,循环动画 tween durationMillis = 90195 动画将停留在最后一针
  6. python12_Python 12 基础知识
  7. Topaz DeNoise AI 3.6.2 for Mac(图片降噪软件)
  8. DPDK AF_XDP
  9. 莫兰迪紫rgb_莫兰迪色系颜色大全 莫兰迪色系适合什么人
  10. Java之支付宝支付(电脑网站支付)案例实战
  11. 浅谈 Lempel-Ziv压缩方法
  12. 今日头条的新闻推荐算法原理
  13. 年底买基金的六大建议!
  14. 嫦娥奔月(神话,非航天器)
  15. 你所不知的角落,有人在做没有深度学习的AI
  16. hosts文件详解--localhost和127.0.0.1
  17. 线性代数的本质--笔记整理
  18. 什么是人工智能(深度学习)
  19. Android平台上集成萤石SDK
  20. android语音识别Demo

热门文章

  1. Python-OpenCV图像水平/垂直/水平垂直翻转
  2. Redis分布式锁的实现
  3. hil测试matlab模型下载,转载 HIL测试介绍
  4. js中的图片指定切换效果
  5. 西北大学计算机系王海,西 北 大 学 院(系)课 程 表 - 西北大学经管学院 .doc
  6. vscode node的安装教程
  7. Latex 公式指定编号
  8. DFT计算基本要素之一-倒易空间和k点
  9. 计算机基础——计算机网络基础
  10. python将pdf文件类型转换为txt、docx、excel