zoukankan      html  css  js  c++  java
  • Ubuntu下录制屏幕并转换成gif【转】

    本文转载自:https://blog.csdn.net/u012964944/article/details/50464263

    *录制屏幕

    1)打开Ubuntu软件中心,安装RecordMyDesktop

    2)安装之后,打开RecordMyDesktop,点击选择窗口,也可以在任务栏上右键该应用的图标(红点),点击“选择区域”,更加精确地选择录制区域(必须回到桌面才能选择)。选择好录制区域和录制信息后,点击“录制”,开始录制屏幕。在任务栏上右键该应用的图标可以停止或暂停录制。假设录制好的视频为out.ogv.

    *将视频转换成gif

    方法一

    1)打开Ubuntu软件中心,GNOME MPlayer和ImageMagick。

    2),打开命令行终端,输入命令 mplayer -ao null out.ogv -vo jpeg:outdir=. ,会在当前目录下把视频生成一张张的jpg图片。

    3)紧接着在终端中输入命令 convert *.jpg video.gif , 把jpg图片合并成gif动图。

    方法二(推荐)

    通过GNOME MPlayer和ImageMagick把视频转换成gif,会发现转换后的gif体积会大很多,因此这里推荐另一种把视频转换成gif的方式:

    1)下载ffmpeg

    $ sudo add-apt-repository ppa:jonathonf/ffmpeg-3

    $ sudo apt-get update
    $ sudo apt-get install ffmpeg

    2)将视频转化为Gif

    $ ffmpeg -i out.ogv out.gif

    3)另外还可指定转换参数

    $  ffmpeg -ss 2 -t 10 -i out.ogv -s 649x320 -r 15 out.gif

    其中,  -ss 2 -t 12 表示从从视频的第2秒开始转换, 转换时间长度为10秒. -s用于设定大小, -r 用于设定帧数.

    消除图片抖动

    使用默认的ffmpeg转换后的gif图片像素会有抖动,因此需要使用滤镜:

    #!/bin/sh
    
    palette="/tmp/palette.png"
    
    filters="fps=15,scale=320:-1:flags=lanczos"
    
    ffmpeg -v warning -i $1 -vf "$filters,palettegen" -y $palette
    ffmpeg -v warning -i $1 -i $palette -lavfi "$filters [x]; [x][1:v] paletteuse" -y $2

    将上面的内容保存为脚本gifenc.sh,执行脚本:

    ./gifenc.sh out.ogv anim.gif


    参考:http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html

  • 相关阅读:
    BZOJ
    BZOJ
    BZOJ
    BZOJ
    BZOJ
    BZOJ
    [知识点]平衡树之Splay
    [BZOJ1015/JSOI2008]星球大战
    [知识点]状态压缩DP
    [NOIP2011]聪明的质检员
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/9686102.html
Copyright © 2011-2022 走看看