利用[TMPGEnc 4.0 XPress] 或 [TMPGEnc Video Mastering Works 5] 生成 AVI
这个视频编辑软件,可对每个帧进行操作 1.生成每个帧的 PNG
ffmpeg -y -ss 5 -t 3 -i "01.avi" -s 320x132 -an -f image2 "./png/output_%%05d.png"
-y 覆盖原有的文件
-ss 开始位置秒 或 hh:mm:ss[.xxx]
-t 总时间秒数 或 hh:mm:ss[.xxx] 格式
-i 输入的视频
-s 要生成 png 图片大小
-an 忽略声道信息
-f image2 图像文件流合并写入视频帧的图像文件 在win系统中必须[%%]才可以 2.根据 png 生成 GIF(dos命令中有 convert 命令,所以convert.exe 改名为 iconvert.exe)
iconvert -quiet -delay 3 ./png/*.png -resize 190x94 -ordered-dither o8x8,23 +map out_od2.gif
-quiet 抑制所有警告消息
-delay gif 帧之间延时时间,单位毫秒[这个选项必须在输入文件名前面时才有效]
-resize 调整 gif 大小
-ordered-dither 使用一个统一的颜色通道,减小 gif 文件大小
例子中这样生成的 gif 大小为 (795,001 字节) 3.生成 gif 进行优化
iconvert out_od2.gif -layers OptimizeTransparency +map out_opt.gif
-layers OptimizeTransparency 使用透明颜色,减少 gif 文件大小
例子中优化后 gif 大小为 (633,112 字节) 注:
也可以以下命令
iconvert -delay 3 ./png/*.png -resize 190x94 -layers optimize out_od1.gif
例子中这样生成的 gif 大小为 (733,827 字节)
iconvert out_od1.gif -layers OptimizeTransparency +map out_opt1.gif
例子中优化后 gif 大小为 (628,188 字节) 或者直接使用avi->gif
convert -quiet -delay 3 01.avi -ordered-dither o8x8,23 +map out_od2.gif
利用png生成gif时,操作比较麻烦,但是对不需要的帧图进行删除;
直接avi->gif操作简单,但是还需要第三方软件进行编辑;

Download ImageMagick 

ImageMagick help 

ImageMagick Usage help 

ImageMagick convert help

Download ffmpeg 

ffmpeg help

利用 FFmpeg 和 ImageMagick, AVI 转 GIF(不失真)的更多相关文章

  1. 利用FFmpeg生成视频缩略图 2.1.6

    利用FFmpeg生成视频缩略图 1.下载FFmpeg文件包,解压包里的\bin\下的文件解压到 D:\ffmpeg\ 目录下. 下载地址 http://ffmpeg.zeranoe.com/build ...

  2. 利用Ffmpeg获得flv视频缩略图和视频时间的代码

    问题描述:获得flv视频的缩略图和视频时间长度 谷歌了半天发现可以使用Ffmpeg获得视频的一些信息,先介绍一下FFMEPG 这里简单说一下:FFmpeg是用于录制.转换和流化音频和视频的完整解决方案 ...

  3. 利用ffmpeg给小视频结尾增加logo水印

    背景 1.app有类似微信拍摄小视频功能,时长上限8s,视频文件保存在第三方云存储,app直接上传,后端数据库只记录视频的存放地址. 2.最近一次功能迭代,增加了小视频下载功能,小视频有可能在别的社交 ...

  4. 利用FFmpeg生成视频的缩略视频 v8.3

    目前生成视频缩略图的工具大多数是生成静态的图片,为了解决这样的局限性,这 次春节期间搞了个利用 FFMpeg 能生成缩略动态视频的批处理. 把 Make_NxM_videos.bat LED_font ...

  5. 利用FFMPEG命令进行文件分割

    ffmpeg -ss 00:00:00 -i input.mp4 -c copy -t 60 output.mp4 -ss 表示视频分割的起始时间,-t 表示分割时长,同时也可以用 00:01:00表 ...

  6. 利用FFmpeg转压视频的说明

    当我们制作视频的时候,录制完成的视频往往很大,很容易超过50M,上传的时候会很慢.下面将相关技巧说明如下(转载,版权属于原作者所有). 利用FFmpeg转压视频的说明 录制介绍视频时可以用尽可能高的分 ...

  7. 利用FFmpeg玩转Android视频录制与压缩(二)<转>

    转载出处:http://blog.csdn.net/mabeijianxi/article/details/72983362 预热 时光荏苒,光阴如梭,离上一次吹牛逼已经过去了两三个月,身边很多人的女 ...

  8. 利用ffmpeg一步一步编程实现摄像头采集编码推流直播系统

    了解过ffmpeg的人都知道,利用ffmpeg命令即可实现将电脑中摄像头的画面发布出去,例如发布为UDP,RTP,RTMP等,甚至可以发布为HLS,将m3u8文件和视频ts片段保存至Web服务器,普通 ...

  9. Unity 利用FFmpeg实现录屏、直播推流、音频视频格式转换、剪裁等功能

    目录 一.FFmpeg简介. 二.FFmpeg常用参数及命令. 三.FFmpeg在Unity 3D中的使用. 1.FFmpeg 录屏. 2.FFmpeg 推流. 3.FFmpeg 其他功能简述. 一. ...

随机推荐

  1. 11.Android之常用对话框AlertDialog学习

    (1)首先我们写个简单的AlertDialog对话框,要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法,然后创建对话框可以设置对话框的属性,比如 ...

  2. 数组添加:如何往数组的"null"位置插入数据呢?

    数组添加,当已经存在的一个数组时,如何往数组的"null"位置插入数据呢? 分析: 1.循环遍历数组元素,找出null的位置(下标) 2.设置一个变量,接收null位置下标值 3. ...

  3. POJ2309BST(树状数组)

    BST Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9182   Accepted: 5613 Description C ...

  4. leach-matlab

    http://www.oschina.net/code/snippet_860036_21044 clear;%清除变量 xm=100;%设置区域为100*100 ym=100; sink.x=0.5 ...

  5. LocalDB简介和在VS2012及以上版本的使用

    http://www.cnblogs.com/fzrain/p/3812364.html?utm_source=tuicool LocalDB简介和在VS2012及以上版本的使用   之前一不小心把自 ...

  6. 千万不要误用 java 中的 HashCode 方法

    刚才debug追堆栈的时候发现一个很奇怪的问题 我用IE8和Google的浏览器访问同一个地址 Action的 scope="session" 也设置了 而且两个浏览器提交的参数m ...

  7. std::auto_ptr

    auto_ptr是C++标准库中(<utility>)为了解决资源泄漏的问题提供的一个智能指针类模板(注意:这只是一种简单的智能指针) auto_ptr的实现原理其实就是RAII,在构造的 ...

  8. win10系统安装.net35的命令行方式

    有些程序在windows系统中需要安装.net35才能运行,下载太慢了,可以直接在docs窗口直接安装,命令行如下:Dism /online /enable-feature /featurename: ...

  9. pthread clean up

    https://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part4/ http://www.cnblogs.com/xfi ...

  10. ASP.NET MVC 4 跨域

    <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Contro ...