Convert Video thành ảnh động GIF trên Linux


Chúng ta có những đoạn video trên Tiktok, Facebook hay Youtube. Chúng ta muốn chia sẻ chúng cho bạn bè qua Facebook Messenger, Skype,…. Nhưng thay vì muốn gửi đường dẫn video tới bạn bè mình. Chúng ta muốn gửi trực tiếp cho họ. Thay vì gửi video, chúng ta có thể chuyển chúng thành ảnh GIF để nó play được trực tiếp thay vì bấm nút phát video. Ở bài viết này, vinasupport.com sẽ hướng dẫn các bạn convert các đoạn video nhỏ sang ảnh động GIF. Video nhỏ thôi nhé, chứ dài cả tiếng thì :(((

Để convert video thành ảnh động GIF trên Linux, chúng ta cần cài đặt công cụ xử lý video là ffmpeg

Cài đặt package ffmpeg

Lệnh cài đặt trên Ubuntu

sudo apt install ffmpeg

Hướng dẫn convert video thành ảnh GIF

Sau khi cài đặt xong package, chúng ta thực hiện convert video

VD: Có video vinasupport.com.mp4 với định dạng MP4

Giờ mình tiến hành convert sang ảnh động GIF bằng command ffmpeg

Output của command:

[admin@vinasupport.com ~]:~/tiktok$ ffmpeg -i vinasupport.com.mp4 vinasupport.gif
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
  configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-liblensfun --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vinasupport.com.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    information     : {"com.bytedance.info": "{}"}
    encoder         : Lavf58.45.100
  Duration: 00:00:12.31, start: 0.000000, bitrate: 1773 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 576x720 [SAR 1:1 DAR 4:5], 1774 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 32 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> gif (native))
Press [q] to stop, [?] for help
[swscaler @ 0x5620493ecf00] No accelerated colorspace conversion found from yuv420p to bgr8.
Output #0, gif, to 'vinasupport.gif':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    information     : {"com.bytedance.info": "{}"}
    encoder         : Lavf58.29.100
    Stream #0:0(und): Video: gif, bgr8, 576x720 [SAR 1:1 DAR 4:5], q=2-31, 200 kb/s, 25 fps, 100 tbn, 25 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc58.54.100 gif
frame=   77 fps=0.0 q=-0.0 size=    4864kB time=00:00:03.05 bitrate=13064.2kbits/frame=  152 fps=151 q=-0.0 size=    9984kB time=00:00:06.05 bitrate=13518.8kbits/frame=  212 fps=140 q=-0.0 size=   17664kB time=00:00:08.45 bitrate=17124.7kbits/frame=  267 fps=132 q=-0.0 size=   25856kB time=00:00:10.65 bitrate=19888.5kbits/frame=  301 fps=129 q=-0.0 Lsize=   31123kB time=00:00:12.01 bitrate=21228.8kbits/s speed=5.15x    
video:31123kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000063%

Cuối cùng ta được ảnh GIF sau khi đã convert thành công

 

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web