유튜브 자동화 프로그램의 업로드 진행률과 같은 영상이 7개 중복 업로드된 상황을 표현한 Automation 대표 이미지
|

같은 영상이 7개나 올라갔다|유튜브 자동화에서 배운 것들

지난 글에서는 번역 API 때문에 챕터가 사라지고, 보호용 괄호가 그대로 노출됐던 문제를 다뤘습니다.

번역과 데이터 문제를 넘기고 나니 이번에는 유튜브 자동화 과정에서 다른 종류의 문제가 기다리고 있었습니다.

프로그램이 정말로 제 유튜브 채널에 접근하고 있는지, 그리고 지금 이 순간 무엇을 하고 있는지.

당연히 알 수 있을 거라고 생각했던 이 두 가지가 실제로는 전혀 당연하지 않았습니다.

그리고 프로그램을 계속 사용하다 보니 처음에는 대수롭지 않게 생각했던 작은 불편함들도 하나씩 눈에 들어오기 시작했습니다.


개인 계정으로 인증했다가 막혔습니다

유튜브 업로더를 처음 실행하면 브라우저가 열리고 구글 계정 인증을 진행하게 됩니다.

유튜브 업로더가 인증 실패 후 나오는 실제 화면

프로그램에서 유튜브 인증을 시작하면 브라우저가 열리고, 구글 계정과 채널을 선택해 인증을 진행하게 됩니다.

처음에는 큰 고민 없이 평소 사용하던 개인 계정 쪽으로 인증을 진행했습니다.

인증 자체는 정상적으로 끝난 것처럼 보였습니다.

그런데 정작 영상을 업로드하려고 하니 Rain on Porcelain 채널에 정상적으로 접근하지 못했습니다.

Rain on Porcelain은 제가 평소 사용하는 개인 채널과 별도로 운영하고 있었습니다. 당시 인증 과정에서 저는 개인 계정 쪽 채널을 선택했고, Rain on Porcelain 채널에 필요한 권한으로 연결되지 않았던 것입니다.

처음에는 인증이 완료됐다는 메시지까지 봤기 때문에 계정 선택이 문제라고 생각하지 못했습니다.

결국 기존 인증 정보를 담고 있던 token.json 파일을 삭제하고 처음부터 다시 인증했습니다.

이번에는 인증 과정에서 Rain on Porcelain 채널을 정확하게 선택했습니다.

그제서야 프로그램이 정상적으로 채널에 접근할 수 있었습니다.

이 일을 겪고 나서야 알았습니다.

로그인이 성공했다는 것과, 내가 원하는 유튜브 채널에 제대로 연결됐다는 것은 같은 이야기가 아니었습니다.


업로드가 되고 있는지 알 수 없었습니다

인증 문제를 해결하고 나니 이번에는 또 다른 문제가 생겼습니다.

영상을 업로드하기 시작했는데 화면에는 아무 변화가 없었습니다.

진행률 표시줄은 만들어놓았지만 실제 업로드 상태가 반영되지 않아 계속 비어 있었습니다. 몇 분을 기다려도, 몇십 분을 기다려도 마찬가지였습니다.

당연히 프로그램이 멈춘 줄 알았습니다.

프로그램을 종료하고 다시 실행해서 업로드를 다시 시도했습니다.

그런데 이번에도 화면은 그대로였습니다.

또다시 시도했습니다.

몇 번을 그렇게 반복한 뒤 유튜브 채널을 확인했다가 깜짝 놀랐습니다.

같은 영상이 7개나 올라가 있었습니다.

화면에서 진행 상황이 보이지 않았을 뿐, 실제 업로드는 정상적으로 이루어지고 있었습니다.

저는 프로그램이 작동하지 않는다고 생각해서 계속 업로드를 다시 시도했고, 그 결과 같은 영상이 여러 번 등록되어 버린 것입니다.

프로그램이 아무 일도 하지 않은 게 아니었습니다.

제가 프로그램이 무슨 일을 하고 있는지 알 방법이 없었던 것이 진짜 문제였습니다.


진행 상태를 눈에 보이게 만들었습니다

같은 영상이 7개나 올라간 일을 겪은 뒤 가장 먼저 손댄 것이 업로드 진행 상태였습니다.

업로드가 몇 퍼센트 진행됐는지를 실시간으로 계산해서 화면의 진행률 표시줄과 텍스트에 바로 반영하도록 고쳤습니다.

프로그램을 실행한 콘솔 창에도 같은 정보가 로그로 남도록 만들었습니다.

업로드 진행률이 실시간으로 표시되는 수정 후 실제 화면

진행률 표시줄과 콘솔 로그에 업로드 상태가 실시간으로 표시됩니다. 이제 프로그램이 멈춘 것인지 실제로 업로드 중인지 바로 확인할 수 있습니다.

처음에는 단순히 0%, 1%, 2%처럼 숫자가 올라가는 기능일 뿐이라고 생각했습니다.

하지만 실제로 사용해보니 이 숫자 하나가 꽤 중요했습니다.

지금 프로그램을 믿고 기다려도 되는지를 알려주는 정보였기 때문입니다.

이후로는 화면만 보고도 업로드가 정상적으로 진행되고 있는지 확인할 수 있게 됐고, 불안해서 프로그램을 껐다가 다시 실행하는 일도 사라졌습니다.

유튜브 자동화에서는 일을 대신 해주는 것만큼이나, 지금 무엇을 하고 있는지 사용자에게 알려주는 것도 중요하다는 것을 이때 처음 제대로 느꼈습니다.


WAV 파일을 끌어다 놓을 수 있게 됐습니다

인증이나 중복 업로드처럼 큰 문제는 아니었지만, 프로그램을 계속 사용하다 보니 작은 불편함도 눈에 들어오기 시작했습니다.

유튜브 영상의 챕터 타임라인을 자동으로 만들기 위해서는 앨범에 들어가는 각 곡의 WAV 파일을 프로그램에 불러와야 합니다.

프로그램은 이 파일들의 재생시간을 읽고, 앨범 트랙 순서대로 정렬된 정보를 바탕으로 각 곡이 시작되는 시간을 계산합니다.

처음 버전에서는 이 WAV 파일들을 불러올 때마다 파일 선택 창을 열어야 했습니다.

폴더를 찾아 들어가고, 트랙 파일을 선택하고, 프로그램으로 불러온 뒤 다시 앨범 순서에 맞게 정렬하는 과정이었습니다.

한두 번이라면 별일 아니지만 앨범 하나에 여러 개의 트랙이 들어가고 이 작업을 계속 반복하다 보니 몇 단계 안 되는 과정도 점점 번거롭게 느껴졌습니다.

그래서 파일 탐색기에서 WAV 파일을 마우스로 끌어다가 프로그램 창에 그대로 놓을 수 있도록 드래그앤드롭 기능을 추가했습니다.

별도의 파일 선택 창을 열고 닫을 필요 없이 작업 중인 폴더에서 바로 트랙들을 가져올 수 있게 된 것입니다.

큰 오류를 해결한 것도 아니고 대단한 기능을 추가한 것도 아니었습니다.

하지만 실제 작업에서는 이런 작은 변화가 생각보다 편했습니다.

몇 번의 클릭을 줄였을 뿐인데 반복해서 사용하다 보니 손이 훨씬 덜 가는 것이 느껴졌습니다.


버전을 남기기 시작했습니다

여기까지 오는 동안 프로그램은 이미 여러 번 바뀌어 있었습니다.

챕터 버그를 고치고, 인증 방식을 손보고, 업로드 진행 상태를 표시하고, 드래그앤드롭도 추가했습니다.

그런데 정작 이런 변화들을 어디에도 제대로 기록해두지 않고 있었습니다.

그러다 보니 지금 사용하고 있는 파일이 정확히 어느 시점의 버전인지, 지난번에는 무엇을 고쳤는지 저부터 헷갈리기 시작했습니다.

더 늦기 전에 관리해야겠다는 생각이 들었습니다.

그래서 설정 화면에 프로그램의 버전 번호와 변경 이력을 남기도록 만들었습니다.

프로그램 창 제목에는 현재 버전이 표시되고, 설정 탭 아래에는 그동안 수정한 내용이 날짜와 함께 쌓이도록 했습니다.

프로그램 설정 화면의 버전 번호와 변경 이력

창 제목에 현재 버전(v1.1)이 표시되고, 설정 화면 아래에는 그동안 수정한 내용이 날짜와 함께 기록됩니다.

이 시리즈에서 다뤘던 문제들 중 최근에 수정한 내용들도 이곳에 한 줄씩 남아 있습니다.

처음 프로그램을 만들 때부터 이렇게 관리했다면 더 좋았겠지만, 뒤늦게라도 기록을 시작해두니 지금 어떤 상태의 프로그램을 사용하고 있는지 훨씬 명확해졌습니다.

그리고 무엇보다 이번 글을 쓰면서 예전 기억을 하나씩 더듬는 일도 조금은 줄어들 것 같습니다.


유튜브 자동화는 계속 고쳐가며 쓰는 것이었습니다

처음에는 반복해서 하던 일을 조금 줄여보자는 생각으로 시작했습니다.

파일을 불러오고, 트랙 시간을 계산하고, 유튜브 설명을 만들고, 여러 언어로 번역하고, 영상을 업로드하는 일을 프로그램이 대신해주면 훨씬 편하겠다는 단순한 생각이었습니다.

그런데 직접 만들고 실제 작업에 사용해보니 자동화는 단순히 버튼 하나를 눌러 일을 대신시키는 것이 아니었습니다.

챕터가 사라지기도 했고, 보호하려던 괄호가 그대로 화면에 나타나기도 했습니다.

엉뚱한 채널로 인증했고, 아무것도 안 되는 줄 알고 업로드를 반복했다가 같은 영상이 7개나 올라가기도 했습니다.

그때마다 이유를 찾아야 했고, 다시 코드를 고치고, 실제 작업에 사용해보고, 또 불편한 부분을 손봤습니다.

그렇게 하나씩 수정하다 보니 처음 만들었던 프로그램과 지금 사용하고 있는 프로그램은 꽤 다른 모습이 되어 있었습니다.

처음부터 완성된 프로그램을 만든 것이 아니라, 제가 실제로 사용하는 과정에서 필요한 기능을 하나씩 더해가며 만들어진 프로그램에 가까웠습니다.


유튜브 업로더 이야기를 마치며

Creator Lab의 Automation 시리즈에서는 네 편에 걸쳐 제가 처음 업무 자동화에 관심을 갖게 된 이야기부터, 실제 유튜브 업로더를 만들고 사용하면서 겪었던 시행착오까지 기록해봤습니다.

처음에는 제가 반복해서 하던 몇 가지 일을 컴퓨터에게 맡겨보자는 작은 시도였습니다.

하지만 직접 만들어 사용하다 보니 유튜브 자동화 프로그램을 만드는 과정 자체가 또 하나의 새로운 경험이 됐습니다.

무엇이 불편한지 발견하고, 왜 문제가 생겼는지 찾아보고, 다시 고쳐서 실제 작업에 써보는 과정을 반복했습니다.

프로그램은 여기서 완성되고 끝나는 것은 아닐 겁니다.

앞으로 Rain on Porcelain을 운영하면서 필요한 기능이 생기면 또 조금씩 바뀌어갈 것 같습니다.

유튜브 업로더 제작 이야기는 일단 여기서 마무리하려고 합니다.

이 이야기가 어디서 시작됐는지 궁금하다면, Creator Lab의 첫 번째 Automation 이야기인 [반복되는 일은 컴퓨터에게 맡길 수 없을까|AI 업무 자동화 첫 도전]에서 처음부터 읽어보실 수 있습니다.

또 기록해둘 만한 변화가 생기거나 새로운 자동화 도구를 소개할 때 Creator Lab에서 다시 이어가겠습니다.


Rain on Porcelain에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다