您现在的位置是:首页 > 文章详情

[日常]mov文件转换为gif

日期:2019-05-08点击:514

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

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

"轮胎":
无法粘贴,详见原文:https://zhuanlan.zhihu.com/p/54832362
2019-01-13-logo轮胎

田字格:
2019_01_13_logo_

下面是命名中文化后的源码. 注意: 需将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

原文链接:https://yq.aliyun.com/articles/701776
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章