A Timelapse of Timelapse

Matthias Endler

타임랩스의 타임랩스

Timelapse는 macOS용 작은 오픈 소스 화면 녹화 도구입니다. 매초 스크린샷을 찍고, 마지막에 영상을 만듭니다.

오늘, 어쩌다 보니 1.0을 출시하게 된 것을 기념하며 이 프로젝트가 걸어온 여정의 ‘타임랩스’를 여기 소개합니다. 여기까지 오는 데 고작 10년이 걸렸습니다.

2011 - 모든 것의 시작

솔직히 처음에 왜 이 도구를 만들었는지는 기억나지 않습니다. 개인적으로 화면 녹화 도구가 필요했던 게 아닐까 싶습니다...

2011년 5월에 이 프로젝트를 시작했을 때 저는 컴퓨터 과학 석사 과정을 밟고 있었습니다. 대학에서 이 도구가 필요했을 수도 있습니다. 하지만 아마 과제를 하지 않을 핑계를 찾고 있었을 가능성이 더 큽니다.

그 무렵에는 이런 도구를 많이 만들었습니다. 주로 개인적인 필요를 해결하거나, 새 프로그래밍 언어를 배우거나, 그냥 재미로 만들었습니다.

그중에는 Subway(미국 패스트푸드 체인)를 위한 무작위 샌드위치 생성기, DrawRoom, WriteRoom에서 영감을 받은 키보드 기반 드로잉 앱, 그리고 고객에게 판매했던 으레 하나쯤은 만드는 CMS 소프트웨어 같은 것들이 있습니다. 놀랍게도 그 어느 것도 크게 성공하지 못했습니다.

비슷한 시기에 만든 도구 DrawRoom은 진정한 예술 작품입니다. 지금까지 커밋은 다섯 개, GitHub 스타는 하나뿐입니다(제가 찍은 겁니다. 판단하지 마세요...).
비슷한 시기에 만든 도구 DrawRoom은 진정한 예술 작품입니다. 지금까지 커밋은 다섯 개, GitHub 스타는 하나뿐입니다(제가 찍은 겁니다. 판단하지 마세요...).

확실히 아는 사실은 당시 존재하던 모든 화면 녹화 도구가 마음에 들지 않았다는 점입니다. 대략 다음 세 부류로 나눌 수 있었습니다.

  • 돈을 내야 하거나 외부로 정보를 전송할 수 있는 독점 솔루션.
  • macOS에서 작동하지 않는 도구.
  • 포럼이나 GitHub gist에서 사람들이 돌려 보던 작고 취약한 일회성 스크립트. 광고한 대로 작동하는 경우는 드물었습니다.

남은 도구들 중에는 타임랩스 기능을 제공하는 것이 하나도 없었습니다. 그래서 직접 만들기로 했습니다.

굉장히 거창하게 들리지만, 사실 하루 동안 작업했습니다. 2011년 5월 11일, 영웅적인 다섯 번의 커밋을 남긴 뒤 이 프로젝트는 7년 동안 그대로 방치됐습니다...

2018

흥미로운 일이 일어나기까지는 오랜 시간이 흘렀습니다.

2018년 1월, 갑자기 첫 사용자가 버그를 신고했습니다. 제목은 avi를 만들 때 멈춤 😱이었습니다. 알고 보니 캐나다의 게임 개발자 juul1a가 인디 게임 개발 진행 상황을 기록하려고 이 도구를 쓰고 있었습니다. 얼마나 멋진 일인가요?

도움을 드리기 위해 전반적인 정리를 하고, 마침내 프로그램 사용법을 문서로 작성하고, requirements.txt를 추가했으며, 도구를 mencoder에서 ffmpeg로 포팅하기로 했습니다.

그 뒤 timelapse는 실전에 투입할 준비가 됐습니다. 🎬 타임랩스가 등장하는 그녀의 영상에서 실제로 작동하는 모습을 보세요.

그 시점에도 이 도구는 여전히 불안정했고 명령줄에서만 쓸 수 있었지만, 제대로 된 앱으로 발전시킬 가능성이 보이기 시작했습니다. 다만 시간을 내지 못했을 뿐입니다.

2018년 10월에는 Hacktoberfest 기간에 도움을 요청하기로 했습니다. 기여자를 찾기 위해 몇 가지 티켓을 만들고 hacktoberfest 라벨을 붙였습니다.

그리고 기다렸습니다.

먼저 Shreya V Prabhu영상 이름에 타임스탬프를 추가해 새 녹화본이 이전 녹화본을 덮어쓰는 문제를 고쳤습니다. 이어서 Abner Campanha와 Shane Creedon(더는 GitHub에 없습니다)이 기본적인 테스트 구조를 만들었습니다. Gbenro Selere는 Travis CI용 CI 파이프라인을 추가했습니다. 정말로 작동했고, 그 뒤 프로젝트의 상태는 훨씬 좋아졌습니다!

2019

1년이 흐른 뒤 Kyle Jones가 기여 가이드라인을 추가했고, 저는 CI 파이프라인을 새로 출시된 GitHub Actions로 옮겼습니다.

Chaitanya영상 생성을 스레드에서 별도 프로세스로 옮겨 녹화를 멈출 때 프로그램이 멈추는 버그를 고쳤습니다. 이후에도 코드베이스를 더 견고하게 만들었고, 풀 리퀘스트를 검토하고 릴리스를 관리하는 핵심 기여자가 됐습니다.

orcutt989 덕분에 앱은 이제 Python 3.6의 타입 힌트를 사용하게 됐습니다.

gkpln3는 멀티 모니터 구성을 지원하도록 했습니다. 항상 마우스가 있는 화면이 캡처됩니다.

2020

오늘로 빠르게 넘어와 보면, 거의 10년 만에 훌륭한 py2app 번들러를 사용해 마침내 진정한 macOS 앱을 만들었습니다. 이제 개발자가 아닌 사람도 이 도구를 사용할 수 있을 것입니다.

백 투 더 퓨처

작은 여정의 끝에 도달했습니다.

1.0에 이르기까지 긴 시간이 흘렀습니다. 이 프로젝트는 오픈 소스 협업이 얼마나 놀라운지를 보여 주며, 전 세계의 기여자들과 함께 작업한다는 사실이 자랑스럽습니다. 사람들을 한데 모으려면 인생을 바꿀 만한 프로젝트일 필요는 없습니다. 무언가를 만드는 일을 즐기는 사람들을 모으는 데는 그것으로 충분합니다. 이게 이야기의 끝이라면, 저는 괜찮을 겁니다. 하지만 그럴 것 같지는 않습니다. 다음 10년을 위하여!

🎬 GitHub에서 timelapse 다운로드하기.

보너스

처음에 나온 영상은 제가 이 글을 마무리하는 과정의 타임랩스입니다.
참 메타적이네요.

원문은 Matthias Endler님이 에 게재했습니다.

이 글은 gpt-5.6-terra 모델을 사용해 번역했습니다.