기본 콘텐츠로 건너뛰기

[리눅스] gifcurry 를 이용해서 동영상을 움직이는 gif 로 만들기

 최근 포스팅 하는데 영상을 그냥 올릴까 하다가 하는 김에 animated gif 를 만들어 보고 싶어서 한번 사용해 봤는데 꽤 괜찮았어서 이번에 포스팅 해 봅니다.

제 경우 영상은 kazam 으로 만들고 gif 는 gifcurry 를 이용해 봤는데 제법 쉽게 만들 수 있었습니다.

간단히 gifcurry 의 사용법을 적어 볼까 합니다.

>


처음 실행하면 달랑 이렇게 나옵니다. open 을 선택하면 파일선택 창이 나오고 동영상을 선택하면 됩니다.

>

그런데 파일 선택창 위를 보면 위와 같은 메시지가 나옵니다. 이거에 대해선 뒷부분에 설치방법과 함께 설명하겠습니다. 

>


 size 의 선택입니다. 이미지 폭과 프레임 색상을 설정해 줄 수 있습니다. 

원래의 이미지 크기와 달리 기본으로 이미지폭이 500으로 설정되어 나오는데 원래 폭으로 바꿔주거나 자신이 원하는 크기로 변경이 꼭 필요합니다. 

>


 crop 은 이미지의 일부를 잘라내는 것입니다. 위의 오렌지색으로 표시된 부분이 실제 영상에선 잘려나갈 부분입니다. 

>


이미지에 텍스트를 넣을 수 있습니다. 이미지의 화면상 위치와 영상의 전체 혹은 일부에 텍스트를 표시할지를 선택할 수 있습니다. 

테스트 해 본 결과 한글도 사용 가능한데 한글이 제대로 표현되려면 한글 폰트부터 설정해야 합니다. 위에 보면 sans Regular 로 폰트가 설정되에 있는데 noto sans cjk 같은 한글이 포함된 폰트를 사용해야 합니다. 그렇지 않으면 실제 gif 를 만들었을때 한글이 '????' 이런식으로 나오게 됩니다. 

그리고 한글을 입력시에 약간의 문제가 있었습니다. 제가 쓰는 fcix 입력기에서는 스페이스바를 누를때 마지막 글자가 같이 딸려오는 현상이 있습니다. 따라서 띄어쓰기를 할때 "->" 화살표 키를 이용해서 입력해야 하는 번거로움이 있습니다. 이건 직접 해보시면 쉽게 이해가 가실 겁니다. 하지만 입력기에 따라선 아무 문제 없을 수도 있습니다.

>

전체 영상중에 어느부분을 gif 로 만들지를 선택하는 부분입니다. 2줄이 보이는데요. 위가 전체 영상을 나타내고 아래쪽에 전체 영상중에 선택된 부분을 표시합니다. 

아래에 "-" 와 "+" 버튼으로 시작위치와 끝의 위치를 설정해 주면 됩니다. 

다 설정되었으면 file 을 선택해서 저장을 해 주면 됩니다. gif 파일이 만들어 질때까지 시간이 좀 걸리니 기다리셔야 합니다. 

파일이 다 만들어졌으면 만들어진 파일을 어떤 프로그램으로 열 것인지를 묻는 창이 뜹니다. 프로그램을 선택해서 만들어진 파일을 확인해 보시면 됩니다. 

그렇게 해서 만들어진 이미지는 다음과 같습니다.

>

글을 마치기 전에 위에 FFmpeg 디코더 부분에 대해서 적어 보겠습니다.

제 경우는 우분투 리눅스에서 snap 으로 gifcurry 를 설치했습니다. 이 경우 gifcurry 에 ffmpeg 이 포함이 되어 있지 않습니다. apt 로 ffmpeg 을 설치해도 메시지는 계속 나온다고 하는데요. 이유는 snap은 가상환경에서 실행되기 때문입니다. 

snap 에서 ffmpeg 을 포함하지 않는 이유는 저작권 문제라는거 같기도 하고....어쨌던 복잡한 사정보다는 포함이 안되있다는 것과, 따라서 h264 로 인코딩된 mp4 같은 파일을 snap 으로 설치한 gifcurry 는 인식을 못한다는 것을 알려드립니다.

따라서 제 경우는 kazam 으로 영상을 만들때 webm 으로 영상을 만들었습니다. 이 경우 snap으로 설치한 gifcurry 에서 잘 읽어 들입니다.

만일 mp4 영상을 gif 로 만들고 싶다면 snap 이 아닌 다른 경로로 gifcurry 를 설치해야 합니다. 

가장 간단한 방법은 appimage 를 이용하는 방법입니다.

https://appimage.github.io/Gifcurry/

위링크에 설명되어 있지만 appimage는 snap이나 flatpak 같은 설치과정이 필요 없습니다. 그냥 파일을 받아서 실행권한을 주고 실행하면 됩니다. 윈도우의 무설치 프로그램과 비슷하다고 보시면 됩니다.

제 경우는 appimage 를 아직 이용해 본적이 없어서 이것에 대해서는 자세히 설명을 해 드리지는 못하겠습니다만...설명을 보면 실행권한만 주고 실행하면 되기 때문에 어려움은 없으리라 생각됩니다. 

다만 기본적으로는 샌드박스에서 실행되는 snap 이나 flatpak 과 달리 샌드박스에서 실행되지 않기 때문에 제작자를 신뢰하는 경우에만 이용하라는 주의사항이 표시되어 있습니다. 샌드박스에서 실행하는 방법도 있는것 같은데 나중에 사용하게 되면 포스팅 해 보기로 하겠습니다. 

댓글

이 블로그의 인기 게시물

pygame 에서 이미지 회전하는 방법

 pygame 에서 transform.rotate 를 사용해서 이미지를 회전시켜 보면 생각과는 달리 요상하게 회전합니다.    따라서 이를 해결해 보고자 검색해 보다 다음 링크를 찾았습니다. https://stackoverflow.com/questions/4183208/how-do-i-rotate-an-image-around-its-center-using-pygame/54714144 위 링크를 보면 파이게임의 이미지 회전이 왜 그렇게 이상한지 알 수 있고 답변하신 분이 blitRotate 라는 함수를 만들어 놓아서 이용할 수 있습니다.  제 소스에 가져와서 테스트를 해 봤는데 제 생각대로 회전 하더군요.  def blitRotate(image, pos, originPos, angle):       #calcaulate the axis aligned bounding box of the rotated image     w, h       = image.get_size()     box        = [pygame.math.Vector2(p) for p in [(0, 0), (w, 0), (w, -h), (0, -h)]]     box_rotate = [p.rotate(angle) for p in box]     min_box    = (min(box_rotate, key=lambda p: p[0])[0], min(box_rotate, key=lambda p: p[1])[1])     max_box    = (max(box_rotate, key=lambda p: p[0])[0], max...

모닝 JA 엔진오일 교환. 보쉬필터 구입

요즘은 주행거리가 1만km 가 안되다보니 1년에 한번씩 엔진오일을 교환하고 있습니다.  1년에 한번이라 그냥 오토큐에서 교환을 했었지만 오토큐의 오일교환 가격이 너무 오른데다가 이젠 보증도 끝났기 때문에 오일과 필터를 구입해서 공임나라로 갔습니다.  > 오일은 kixx g1 fe 1L x 3 을 구입하고 필터는 보쉬제품으로 구입했습니다.   A3003 이 에어필터이고 O0356 이 오일필터 입니다. 기아의 순정부품보단 조금 가격이 저렴합니다.  > 오랜만에 공임나라 갔는데 교환공임이 17000원 이네요. 물가가 오른만큼 오일교환 비용도 예전보다 좀 올랐네요.  필터 품번도 기록해 둘겸 올려 봅니다. ^^;

VirtualBox 에 Lubutu 설치

 얼마전에 antix linux 를 설치했었는데 아무래도 늘 이용하던 패키지들이(앱들이) 아니다 보니 이런저런 시간지연(?)이 좀 되어서 천천히 알아가기로 하고 일단 익숙한 xubuntu 를 설치해서 쓰고자 했습니다만... 제가 보통 쓰는 virtualbox 에서 xubuntu 가 설치완료가 안되더군요. 중간에 멈춰버립니다. 부팅해보면 설치는 대충된거 같은데 뭔가 마지막 프로세스를 완료하지 못해서인지 로그인도 안됩니다.  몇번 해보다 안되서 그냥 루분투를 설치했습니다. 루분투는 잘 설치되네요. 루분투는 개인적으론 좀 애매하다고 생각해서....일반적인 데스크탑으로 쓰기엔 xubuntu 정도는 되야 하지 않나 생각합니다.  루분투는 넷북에 설치해 본 바로도 xubuntu 보다 빠르다는 느낌이 없어서 말이죠. 저사양 배포판일텐데.....뭐..넷북이 워낙에 느려서 그럴수도 있지만 antix 리눅스 설치해 본 바로는 lubuntu 보단 낫더라고요. virtualbox에 xubuntu 가 설치가 안되서 예상외로 시간을 좀 까먹었네요. 쩝....