- Google Timeline Visualizer Python은 내보낸 Timeline JSON을 로컬에서 렌더링한 여행 동영상으로 변환합니다.
- 데스크톱 설정에는 Python 3.9 이상, FFmpeg 및 프로젝트 종속 패키지가 필요합니다.
- 형식 지원에는 최신 내보내기 형식, 이전 semantic segments, 활동, 방문 기록 및 여러 좌표 형식이 포함됩니다.
- 경로 보정에는 희소한 이동 경로를 위한 보수적인 이상치 필터링과 대권 보간이 사용됩니다.
- 개인정보 보호 참고: Timeline JSON은 로컬에 유지되지만, 지도 타일 요청을 통해 타일 제공업체가 조회한 지역을 파악할 수 있습니다.
google timeline visualizer python: 기능
데스크톱 Python 버전은 Google 지도 Timeline 내보내기 파일을 로컬에서 렌더링하는 도구입니다. 저장된 Timeline.json 파일을 읽고 위치 지점과 경로 정보를 해석한 다음, 애니메이션 지도 동영상을 생성합니다. 따라서 Timeline 문서를 타사 애플리케이션에 업로드하지 않고도 과거 여행을 검토할 수 있습니다.
이 도구는 실시간 추적 서비스가 아니라 과거 기록을 렌더링하는 도구로 이해하는 것이 가장 좋습니다. 새로운 이동을 지속적으로 수집하거나 Google 계정에 연결하거나 암호화된 Timeline 백업을 복원하지 않습니다. 먼저 Google 지도에서 기록을 준비하고 복원한 뒤 파일을 내보내고, 비주얼라이저를 사용해 동영상을 생성하세요.
동영상 주요 기능:
- 여러 조각으로 나뉜 Google Timeline 내보내기 형식의 로컬 파싱
- 고립된 GPS 이상치를 위한 보수적인 필터링
- 장거리 비행 및 희소한 경로를 위한 대권 보간
- 지도 흔들림을 줄이도록 설계된 안정적인 카메라 이동
- 데스크톱 Python 작업 흐름을 통한 로컬 동영상 렌더링
로컬 렌더링
Timeline 데이터는 전체 기록 파일로 업로드되지 않고 기기에서 처리됩니다.
경로 애니메이션
렌더러는 장거리 여행을 포함해 선택한 날짜에 따라 영화 같은 이동 장면을 생성합니다.
스키마 변환
파서는 여러 내보내기 구조, 좌표 표현 방식 및 이전 Timeline 형식을 처리합니다.
데스크톱 제어, 반복 가능한 명령어 및 생성된 MP4 파일에 대한 직접적인 접근을 원한다면 Python 버전을 사용하세요.
| 기능 | 데스크톱 Python 버전 | 실제 결과 |
|---|---|---|
| 입력 | 내보낸 Timeline.json | Timeline 기록의 로컬 복사본 사용 |
| 출력 | FFmpeg를 통한 애니메이션 동영상 | 공유 가능한 MP4 생성 |
| 처리 | Python 명령줄 작업 흐름 | 반복 가능한 데스크톱 작업에 적합 |
| 추적 | 과거 기록만 지원 | 지속적인 위치 데이터 추가 안 함 |
| 계정 접근 | 지원되지 않음 | Google 로그인 불필요 |
Python 설정 및 파일 준비
렌더러를 실행하기 전에 필요한 데스크톱 도구를 설치하고 Timeline 내보내기 파일을 쉽게 찾을 수 있는 디렉터리에 배치하세요. 문서화된 데스크톱 작업 흐름에는 Python 3.9 이상, FFmpeg 및 requirements.txt에 나열된 패키지가 필요합니다.
입력 파일은 Google 지도에서 내보내거나, 내보내기 전에 Google 지도에서 복원해야 합니다. 비주얼라이저는 Google의 암호화된 모바일 백업을 직접 열 수 없으며, 누락된 기록을 복구하기 위해 계정에 접근할 수도 없습니다.
Timeline.json의 변경되지 않은 백업을 보관하세요. 필터링은 렌더링 과정에만 영향을 주며 원본 JSON은 변경되지 않지만, 별도의 백업을 유지하면 실수로 파일을 조작하는 상황에 대비할 수 있습니다.
Timeline 데이터 내보내기
계정에서 사용할 수 있는 기기 또는 Google 지도 작업 흐름을 통해 Timeline 데이터를 내보내세요. Android에서는 문서화된 경로가 휴대전화 설정의 위치, 위치 서비스 및 Timeline에서 시작됩니다. iPhone에서는 Google 지도 개인 콘텐츠 설정을 통해 내보낸 뒤 JSON 파일을 Files 앱에 저장하세요.
Python 종속 패키지 설치
Python 3.9 이상인지 확인한 다음 프로젝트 디렉터리에서 python -m pip install -r requirements.txt를 실행하세요. 그러면 데스크톱 생성기에 필요한 패키지가 설치됩니다.
FFmpeg 설치
데스크톱 환경에 FFmpeg를 추가하고 터미널에서 해당 명령어를 사용할 수 있는지 확인하세요. FFmpeg는 동영상 합성 단계를 처리하며 멀티스레드 처리를 지원합니다.
JSON 파일 배치
Timeline.json을 확인하기 쉬운 폴더에 복사하거나 이동하세요. 터미널이 다른 디렉터리에서 실행 중이라면 전체 경로를 사용하세요.
범위를 제한한 렌더링 실행
제한된 연도 또는 날짜 범위와 안정적인 카메라 옵션으로 시작하세요. 대규모 다년간 내보내기를 시도하기 전에 결과를 검토하세요.
| 설정 항목 | 요구 사항 | 확인 방법 |
|---|---|---|
| Python | 3.9 이상 | python --version 실행 |
| 동영상 엔진 | FFmpeg | 터미널에서 실행되는지 확인 |
| 패키지 | requirements.txt | pip로 설치 |
| 입력 | Timeline.json | 원본 백업 보관 |
| 첫 렌더링 | 제한된 범위 | 장시간 내보내기 전에 테스트 |
문서에 안내된 명령어 형식은 다음과 같습니다.
python visualizer.py --input Timeline.json --year 2025 --camera-movement steady
이 예시는 프로젝트 지침에 따른 2025년 연도 필터를 사용합니다. 현재 2026년 작업 흐름에서는 시각화하려는 내보내기 데이터에 맞는 연도 또는 날짜 범위를 선택하세요. 프로젝트 버전에서 추가 날짜 인수를 제공한다면 로컬 도움말 출력을 통해 정확한 구문을 확인하세요.
짧은 여행 기록으로 처음 렌더링하는 것이 가장 안전합니다. 장시간 작업을 시작하기 전에 Python, FFmpeg, 입력 경로, 지도 접근 및 출력 권한이 정상적으로 작동하는지 확인할 수 있습니다.
지원되는 Timeline 형식 및 경로 제어
Google Timeline 내보내기 형식은 기기, 계정 기록 및 내보내기 세대에 따라 달라질 수 있습니다. 비주얼라이저는 모든 파일이 하나의 좌표 스키마를 사용한다고 가정하는 대신 여러 구조를 정규화하도록 설계되었습니다.
지원되는 입력에는 현재의 직접 배열 형식, semanticSegments를 사용하는 이전 파일, 경로, 활동, 방문 기록 및 선택적 원시 위치 데이터가 포함됩니다. 좌표 값은 문자열, latLng 값, 도 단위 필드, geo: 문자열 또는 E7 정수 좌표로 나타날 수 있습니다.
| Timeline 입력 | 처리 방식 | 권장 작업 |
|---|---|---|
| 현재 직접 배열 내보내기 | 최신 Timeline 구조로 파싱 | 내보낸 JSON을 직접 사용 |
semanticSegments 내보내기 | 이전 중첩 형식에서 변환 | 먼저 짧은 날짜 범위로 테스트 |
| 경로, 활동, 방문 기록 | 경로 맥락을 구성하는 데 사용 | 관련 여행 기간을 선택 |
| 원시 위치 대체 데이터 | 경고와 함께 파싱하고 로컬 노이즈 감소 적용 | 필터링된 지점 수 확인 |
| E7 좌표 | 사용 가능한 위도와 경도로 변환 | 원본 파일을 변경하지 않고 보관 |
기본 GPS 설정은 보수적인 GPS 이상치 필터링입니다. 이 설정은 날카로운 급변이나 잘못된 우회를 만들 수 있는 고립된 비현실적 왕복 지점을 무시합니다. 이 방법은 원본 데이터를 다시 작성하지 않고 가독성을 높이기 위한 것입니다.
기록된 모든 지점이 중요한 경우 필터링을 끌 수 있습니다. 이는 기술적인 검토에 유용할 수 있지만, Timeline에 건물, 약한 신호 또는 일시적인 위치 측정 오류로 인한 GPS 튐 현상이 포함되어 있다면 애니메이션이 불안정해질 수 있습니다.
이상치 필터는 렌더링 설정입니다. 생성된 시각화에 표시되는 지점을 변경할 뿐이며, 원본 Timeline 파일은 이후 처리를 위해 그대로 유지됩니다.
장거리 비행 및 기타 희소한 경로의 경우 렌더러는 대권 보간을 사용합니다. 평면 지도 위에 시각적으로 어색한 직선 자국을 그리는 대신, 경로가 구면 위의 최단 경로를 따르도록 합니다. 이는 국제 날짜 변경선을 넘는 여행에 특히 유용합니다.
카메라에도 안정적인 이동 모델이 적용됩니다. 마커가 중앙 시야 영역 안에서 이동하는 동안 지도는 고정된 상태를 유지할 수 있습니다. 마커가 경계에 도달하면 카메라가 마커를 따라가기 시작합니다. 이를 통해 가까운 거리의 통근 경로에서 카메라가 빠르게 앞뒤로 이동하는 현상을 줄일 수 있습니다.
| 제어 항목 | 목적 | 처음 사용하기 좋은 선택 |
|---|---|---|
| 날짜 범위 | 표시할 여행 범위 제한 | 단일 여행에는 정확한 날짜 |
| 연도 필터 | 달력 연도 선택 | 초기 테스트에는 1년만 사용 |
| 카메라 이동 | 지도 추적 방식 제어 | 차분한 여행 영상에는 Steady |
| GPS 필터링 | 고립된 비현실적 지점 제거 | 기본값인 보수적 설정 |
| 거리 단위 | 표시되는 이동 거리 측정값 변경 | 시청자 또는 지역에 맞춤 |
전체 연도를 렌더링하는 것보다 좁은 날짜 범위를 사용하는 편이 대개 더 명확한 이야기를 만들어냅니다. 단일 여행이 아니라 광범위한 여행 개요가 목적이라면 전체 연도 보기를 사용하세요.
렌더링, 검토 및 동영상 관리
파일을 불러온 후 미리보기 전에 여행 기간, 카메라 이동 방식 및 거리 단위를 선택하세요. 미리보기는 대화형으로 작동하며 누락된 지점, 원치 않는 GPS 급변 또는 의도한 동영상에 비해 지나치게 넓은 경로를 확인하는 데 도움이 됩니다.
저장되는 동영상은 선택한 디자인을 사용하며 렌더링 전에 지도 타일을 준비합니다. Android에서는 관련 애플리케이션이 완성된 MP4 파일을 전용 영화 폴더에 저장합니다. 반면 원래의 데스크톱 작업 흐름은 프로젝트의 출력 동작과 로컬 권한에 따라 결과를 기록합니다.
Python 작업 흐름에서는 첫 번째 렌더링 중 오류를 확인할 수 있도록 터미널을 열어 두세요. 짧은 테스트를 통해 누락된 종속 패키지, 사용할 수 없는 FFmpeg 명령어, 잘못된 경로 또는 예상한 내보내기 구조와 일치하지 않는 입력 파일을 발견할 수 있습니다.
짧은 테스트가 이미 정상적으로 작동하지 않는다면 10년치 위치 기록으로 시작하지 마세요. 대용량 파일에는 많은 지점이 포함될 수 있으며 훨씬 더 많은 처리 시간과 임시 저장 공간이 필요할 수 있습니다.
최종 동영상을 만들기 전에:
- 변경되지 않은 Timeline.json 백업을 보관합니다
- Python 3.9 이상과 FFmpeg를 사용할 수 있는지 확인합니다
- 짧은 날짜 범위 또는 단일 여행을 테스트합니다
- GPS 필터링과 카메라 이동을 검토합니다
- 내보낸 MP4와 지도 저작자 표시를 확인합니다
| 검토 단계 | 확인할 내용 | 중요한 이유 |
|---|---|---|
| 파일 불러오기 | 날짜 및 감지된 위치 | 내보내기 파일을 파싱할 수 있는지 확인 |
| 미리보기 | 경로 형태와 카메라 안정성 | 급변이나 과도한 이동을 발견 |
| 필터 보고서 | 무시된 지점 수 | 경로 차이를 설명하는 데 도움 |
| 렌더링 | 진행 상황과 최종 출력 | FFmpeg가 성공적으로 완료되었는지 확인 |
| 최종 동영상 | 재생, 저작자 표시 및 공유용 사본 | 의도하지 않은 경로가 게시되는 것을 방지 |
애플리케이션 생태계는 완성된 MP4 파일, 썸네일, 제목, 기간, 재생 시간 및 생성 날짜를 관리하는 로컬 동영상 라이브러리도 지원합니다. 라이브러리 외부에서 동영상을 이동하거나 삭제하면 해당 항목을 사용할 수 없게 될 수 있습니다. 목록에서 항목을 제거하는 것과 실제 파일을 영구적으로 삭제하는 것은 별개의 작업입니다.
비공개 여행 기록의 경우 공유하기 전에 완성된 동영상을 검토하세요. 원본 JSON이 컴퓨터 밖으로 나가지 않더라도 경로 애니메이션을 통해 집, 직장, 정기적인 통근 경로, 병원 방문지 또는 기타 민감한 장소가 드러날 수 있습니다.
전체 위치 기록을 게시하는 대신 선택한 여행별로 별도의 동영상을 만드세요. 이렇게 하면 시각적인 이야기를 보존하면서 민감한 이동 정보가 불필요하게 노출되는 것을 줄일 수 있습니다.
개인정보 보호의 한계와 대체 작업 흐름
로컬 우선 설계는 처리 중 Timeline JSON을 기기에 유지합니다. 하지만 지도 배경을 표시하려면 외부 타일 요청이 필요합니다. 문서화된 개인정보 보호 설명에 따르면 CARTO가 기본 지도 제공업체이며, 지도 데이터는 OpenStreetMap을 기반으로 합니다. 표시되는 영역에 대한 요청을 통해 해당 제공업체가 사용자가 조회한 지역을 파악할 수 있습니다.
첫 번째 지도 타일이 로드되기 전에 개인정보 보호 고지를 검토하고 이러한 절충이 사용 사례에 적합한지 결정하세요. 로컬 처리는 전체 기록을 업로드할 필요를 줄여 주지만, 모든 네트워크 상호작용을 보이지 않게 만들지는 않습니다.
| 데이터 요소 | 로컬 또는 외부 | 개인정보 보호 고려 사항 |
|---|---|---|
| Timeline JSON | 로컬 처리 | 비주얼라이저가 업로드하지 않음 |
| GPS 파싱 | 로컬 | 좌표가 기기에서 해석됨 |
| 지도 타일 요청 | 외부 | 조회한 지역이 타일 제공업체에 표시될 수 있음 |
| 렌더링된 MP4 | 로컬 출력 | 공유 시 경로가 시각적으로 드러날 수 있음 |
| Google 계정 백업 | 별도의 Google 서비스 | 내보내기 전에 Google 지도에서 복원 |
지속적인 저장을 원하는 사용자는 비주얼라이저와 자체 호스팅 위치 데이터베이스를 구분해야 합니다. 비주얼라이저는 일시적인 도구로, 데이터를 읽고 동영상을 렌더링하며 과거 기록을 검토하는 용도로 설계되었습니다. 자체 호스팅 공간 데이터 시스템은 위치 기록을 지속적으로 저장하고 장기 분석을 지원하는 등 다른 목적을 수행합니다.
실용적인 하이브리드 방식은 지속적인 기록을 위해 비공개 시스템을 유지한 다음, 영화 같은 내보내기가 필요할 때만 비주얼라이저를 사용하는 것입니다. 마이그레이션 유틸리티를 사용하면 겹치는 내보내기 파일을 병합하거나 독점 구조를 더 이식성 높은 지리 형식으로 변환하는 데도 도움이 될 수 있습니다. 단, 민감한 데이터를 맡기기 전에 각 도구를 검토해야 합니다.
소프트웨어 개발과 관련해 저장소에는 데스크톱 및 Android 프로젝트 모두를 위한 테스트와 빌드 지침이 포함되어 있습니다. Python 개발 종속 패키지는 python -m pip install -r requirements-dev.txt로 설치한 다음 프로젝트의 테스트 명령어를 실행할 수 있습니다. Android 빌드 요구 사항은 Python 작업 흐름과 별개입니다.
Timeline 문서는 로컬에 유지할 수 있지만 기본 지도 요청은 여전히 기기 밖으로 전송됩니다. 개인정보 보호 고지, 타일 제공업체 및 최종 MP4를 위협 모델의 서로 다른 요소로 취급하세요.
구현 세부 사항은 Google Timeline Visualizer GitHub 저장소를 참조하세요. 저장소에는 지원되는 작업 흐름, 설치 안내, 개인정보 보호 동작, 빌드 명령어 및 MIT 라이선스가 설명되어 있습니다.
FAQ: Google Timeline Visualizer Python
Q: Google Timeline Visualizer Python은 어떤 용도로 사용하나요?
내보낸 Google Timeline JSON 파일을 읽고 Python과 FFmpeg를 통해 애니메이션 여행 동영상을 생성하는 데스크톱 렌더링 작업 흐름입니다. 지속적인 추적이 아니라 과거 기록의 시각화를 목적으로 합니다.
Q: Python 버전에는 무엇이 필요한가요?
문서화된 데스크톱 버전에는 Python 3.9 이상, FFmpeg 및 requirements.txt에 나열된 패키지가 필요합니다. 생성기를 실행하기 전에 python -m pip install -r requirements.txt로 패키지를 설치하세요.
Q: 누락된 Google 지도 Timeline 백업을 복원할 수 있나요?
아니요. 먼저 Google 지도에서 암호화된 백업을 복원한 다음 새로운 Timeline JSON 파일을 내보내세요. 비주얼라이저는 Google 계정에 접근하거나 암호화된 백업을 직접 열 수 없습니다.
Q: 비주얼라이저가 Timeline 파일을 업로드하나요?
문서화된 작업 흐름에서는 Timeline 파일을 로컬에서 처리하며 업로드하지 않습니다. 지도 타일은 별도의 네트워크 기능이므로 타일 제공업체가 어떤 지도 영역이 요청되었는지 파악할 수 있습니다.
짧은 내보내기로 시작하고, 보수적인 필터링을 사용하며, 경로를 미리 확인하고, 원본 JSON과 최종 MP4를 모두 직접 관리하세요.