회의 녹화나 교육 영상을 받아 회의록과 매뉴얼로 정리하는 일이 생각보다 자주 있었다. 자료는 이미 만들어져 있는데, 다시 활용하려면 영상을 처음부터 훑고 필요한 장면을 멈춰가며 설명을 옮겨야 했다. 내용을 이해하는 시간만큼이나 문서로 바꾸는 데 시간이 들었다.

YouTube를 비롯한 영상 플랫폼이 익숙해지면서 설명과 지식도 영상으로 전달되는 경우가 많아졌다. 나 역시 글보다 영상으로 자료를 접할 때가 늘었다. 보기에는 편하지만, 특정 내용을 다시 찾거나 업무 문서에 옮기려면 여전히 손이 많이 갔다.

그래서 영상 주소를 넣으면 음성과 화면을 추출하고, 읽을 수 있는 문서로 정리하는 VideoDoc을 만들기 시작했다. 프로젝트 이름은 video-to-document다.

처음에는 음성을 텍스트로 바꾸고 캡처를 붙이면 될 줄 알았다. 그런데 만들다 보니 중요한 것은 추출 자체보다, 그 말이 어느 화면에서 나왔는지와 실제로 무엇을 뜻하는지였다. 시간축을 놓치면 설명과 화면이 어긋났고, 도메인 지식이 부족하면 잘못 인식된 용어도 자연스러운 문장으로 남았다.

영상은 많아졌지만, 업무에는 여전히 문서가 필요했다

영상은 순서대로 보여주고 설명하기에 좋다. 화면을 직접 시연할 수 있고, 말투와 흐름도 함께 전달된다. 하지만 다시 활용할 때는 조금 다른 문제가 생긴다. 필요한 설명이 어디에 있었는지 기억나지 않으면 앞뒤로 돌려봐야 하고, 여러 내용을 비교하려면 그만큼 시간을 다시 써야 한다.

내가 줄이고 싶었던 건 이 반복 작업이었다. 설명을 받아 적고, 관련 화면을 찾고, 문단으로 묶고, 다시 원본을 확인하는 과정이다. 회의록이나 매뉴얼을 만들 때마다 비슷한 일을 처음부터 하는 대신, 문서화의 바탕을 먼저 만들어두고 싶었다.

그래서 로컬에서 영상 URL을 입력하고, 원본을 내려받아 음성 전사와 대표 화면을 생성한 뒤 HTML과 Markdown으로 엮는 흐름을 만들었다. 전체 전사와 타임스탬프, 구조화 JSON, 필요한 파일을 묶은 ZIP도 함께 남겼다.

회의록과 매뉴얼은 출발 동기였지만, 당시 만든 것은 모든 문서 양식을 완성해주는 서비스라기보다 영상에서 문서로 넘어가는 공통 기반에 가까웠다.

음성 전사만으로는 매뉴얼이 만들어지지 않았다

음성을 텍스트로 바꾸면 읽을 수는 있다. 다만 시연 영상에서는 설명의 일부가 화면에 있다. “여기를 누르면 된다”는 말만 남기면 어디를 눌렀는지 알 수 없고, 화면만 남기면 왜 그 동작을 했는지 빠질 수 있다.

그래서 음성과 영상을 따로 추출하는 것에서 끝내지 않고, 같은 시간축 위에 놓아야 했다. 말이 나온 시점과 화면이 바뀐 시점을 함께 남겨야 나중에 설명을 확인할 수 있다.

이 연결이 곧 내용을 완전히 이해했다는 뜻은 아니다. 시각이 가까운 화면을 붙였다고 해서 항상 그 문장의 정확한 설명 화면이 되는 것도 아니다. 그래도 원본으로 돌아가 확인할 위치가 남는다는 점에서, 텍스트만 있는 결과와는 차이가 있었다.

일정한 간격보다 장면과 발화가 바뀌는 시점

처음에는 일정한 간격으로 화면을 자르면 충분할 것 같았다. 하지만 같은 슬라이드가 오래 유지되는 영상에서는 비슷한 화면이 반복되고, 짧게 지나간 중요한 변화는 놓칠 수 있었다.

결국 프레임을 고르는 기준을 바꿨다. 장면 전환, 발화 시작과 종료, 화면 사이의 최대 공백을 함께 고려하고, 비슷한 이미지는 줄이는 방식이었다. 영상 전체를 저해상도 미리보기로 훑되, 문서에 남길 대표 화면만 추출했다.

화면 변화도 무조건 의미 있는 변화는 아니었다. 하단 자막만 달라진 것을 새 장면으로 취급하면 거의 같은 화면이 계속 남는다. 반대로 슬라이드 중앙의 작은 수정은 전체 화면 변화량만 보면 묻힐 수 있다. 자막 영역을 제외한 이미지 유사도와 지역 변화를 함께 보는 이유였다.

긴 영상에서는 또 다른 문제가 있었다. 이미지 수를 제한한 상태에서 전 구간을 균등하게 채우면, 장면 전환이나 발화 시점을 넣을 자리가 없어졌다. 그래서 시간 흐름을 고르게 보여주는 몫과 변화가 있는 시점을 담는 몫을 나눴다.

이 과정에서 중요해진 것은 얼마나 많은 이미지를 뽑았는지가 아니라, 왜 이 시점을 문서에 남겼는지였다. 결과에도 장면 전환이나 발화 시점 같은 선택 이유를 함께 남겼다.

무음을 없애는 것보다 원본 시간을 유지하는 게 중요했다

음성 쪽에서는 Silero VAD로 실제 발화 구간을 찾고, Apple Silicon에서 MLX Whisper로 로컬 전사를 수행했다. 여기서 주의할 점은 발화 구간만 이어 붙여 시간이 짧아지면 영상의 시간축과 달라진다는 것이었다.

그래서 각 음성 구간의 원래 시작 위치를 유지했다. 구간 안에서 인식한 상대 시간에 원본 시작 시간을 더해, 전사를 다시 영상의 시간으로 돌려놓았다. 영상과 음성 스트림의 시작 시각이 다른 파일도 그 차이를 반영해 맞췄다.

예를 들어 원본의 10분 지점에서 시작한 음성 조각에서 2초 뒤에 나온 문장은, 문서에도 10분 2초로 남아야 한다. 이 기준이 흔들리면 문장은 맞아도 옆에 붙는 화면이 다른 이야기를 하고 있을 수 있다.

내가 이 단계에서 했던 보정은 우선 시간축 보정이었다. 전문용어를 자동으로 정확하게 고치는 것과는 다른 문제다. 시간을 맞추는 일과 내용을 바로잡는 일은 각각 확인해야 했다.

Agent에게 맡긴 것은 시간 계산보다 내용 구성이었다

전사와 화면을 시간순으로 나열하는 것만으로는 긴 영상을 읽기 쉬운 문서로 줄이기 어려웠다. 핵심을 앞에 놓고, 관련 내용을 주제로 묶고, 필요한 부분은 설명을 이어주는 단계가 필요했다.

그래서 선택적으로 Codex가 전사를 정리하는 기능을 붙였다. 이 경로에서 넘긴 것은 영상·음성 파일이나 대표 이미지가 아니라 전사 텍스트와 근거 타임스탬프였다. 로컬 전사와 Agent의 내용 정리는 역할을 나눴다.

모델이 근거 시간을 임의로 만들어내게 하지 않는 것도 중요했다. 전사 문단에 ID를 붙이고, 요약이 어떤 문단을 근거로 삼았는지 받았다. 실제 시각은 코드가 원본 문단에서 다시 연결했다. 존재하지 않는 문단이나 범위를 벗어난 근거는 검증에서 걸러냈다.

긴 전사에서는 앞부분만 많이 요약되고 후반의 중요한 내용이 빠지는 문제도 겪었다. 전사를 시간순 구간으로 나눠 정리한 뒤 합치고, 마지막 편집에서는 근거와 범위를 유지하면서 문체를 다듬는 흐름으로 보완했다.

요약이 실패해도 이미 만든 전사와 화면 문서는 남도록 했다. 내용 정리는 작업마다 선택하게 하고, 로컬 음성 인식과 외부 Codex 분석의 경계도 안내했다.

결국 원천 도메인 지식이 필요했다

시간을 맞추고 문장을 자연스럽게 만들었다고 내용까지 정확해지는 것은 아니었다. 실제 정리 과정에서는 전사에 나온 ‘파로호’가 ‘8호’로 잘못 적힌 부분을 바로잡기도 했다.

문장만 읽으면 어색하지 않게 넘어갈 수 있다. 하지만 그 분야의 고유명사와 앞뒤 맥락을 알고 보면 다른 의미가 되어버린다. 회의록의 제품명이나 매뉴얼의 기능명, 숫자와 단위에서도 같은 문제가 생길 수 있다고 느꼈다.

여기서 도메인 지식은 AI에게 더 많은 내용을 덧붙이는 용도가 아니었다. 무엇을 의심하고, 어느 부분을 원본과 대조해야 하는지 판단하는 기준이었다. 확실하지 않은 용어를 그럴듯하게 바꾸면 오히려 원본의 의미를 해칠 수 있다.

그래서 중요한 이름과 수치, 결정 사항은 자동 결과만 믿기보다 원본으로 돌아가 확인해야 한다. 타임스탬프와 근거 문단을 남긴 이유도 여기에 있다. 자동화는 검토를 없애기보다 검토할 위치를 찾기 쉽게 해주는 쪽에 가까웠다.

변환의 끝은 파일 생성이 아니라 읽히는 문서였다

처음 만든 결과는 전사와 캡처를 정리한 자료에 가까웠다. 이후에는 핵심 요약을 먼저 보여주고, 주제별 내용을 이어서 읽게 하고, 필요하면 근거 시점과 원문을 확인하는 구조로 다듬었다.

글자가 너무 크거나 같은 안내 표현이 반복되면 내용이 있어도 읽기 피곤했다. 화면의 글자 크기와 문단을 조정하고, “이 영상을 통해 알 수 있다”는 편집자의 해설보다 실제 화자의 행동과 판단이 드러나도록 문체도 손봤다.

구조화 JSON을 남기면 같은 내용을 다른 문서 형식으로 옮길 바탕도 생긴다. 강의 노트, 회의록, 매뉴얼은 필요한 항목이 다르므로, 목적별 템플릿은 이후에 확장할 수 있는 방향으로 생각했다.

다만 이 단계의 VideoDoc은 로컬 도구였다. 공개 서비스의 인증이나 권한, 작업 큐와 저장소 운영까지 완성했다는 뜻은 아니다. 처리할 권한이 있는 자료를 대상으로 사용하고, 결과는 원본과 대조하는 전제가 필요하다.

반복 작업은 줄여도, 이해하고 검증하는 책임은 남는다

VideoDoc을 만들며 배운 것은 좋은 요약 모델 하나만 붙이면 영상이 곧바로 문서가 된다는 이야기가 아니었다. 음성과 화면의 시간축, 대표 장면을 고르는 기준, 긴 내용에서 빠지는 부분, 잘못 인식된 용어, 마지막 읽기 경험까지 함께 다뤄야 했다.

자동화 덕분에 반복해서 받아 적고 캡처를 붙이는 과정은 줄일 수 있었다. 대신 내가 확인해야 할 문제는 더 분명해졌다. 이 설명이 이 화면과 연결되는지, 요약에서 중요한 내용이 빠지지 않았는지, 전문용어가 원래 의미를 유지하는지다.

자동화가 반복 작업은 줄여주지만, 원본을 이해하고 검증하는 책임까지 없애주지는 않았다. 영상을 문서로 바꾸는 도구를 만들었는데, 결국 더 중요하게 남은 것은 원본의 시간과 맥락을 지키는 일이었다.

이 글은 2026년 7월의 초기 개발 기록을 바탕으로 정리했다.