KxCoding 1년 삽질기 #2. 스크린 레코딩, 편집, 인코딩

이 글은 1년 조금 넘게 KxCoding이라는 동영상 강의 사이트를 운영하면서 겪은 삽질기 & 지금도 계속 되고 있는 삽질기 입니다. 동영상 강의 제작과 스트리밍 서비스를 시작하려는 분들께 조금이나마 도움이 되기를 바랍니다. 다만, 개인의 경험에 의존한 내용이어서 최선의 제작 방법은 아니며 잘못된 내용이 포함되어 있을 수 있습니다. 

이 글은 세 개의 주제로 나누어서 작성할 예정입니다.

1. 원고 작성과 보이스 레코딩
2. 스크린 레코딩, 편집, 인코딩 [이 글]
3. 스트리밍, DRM 서비스 구축

 

— 스크린 레코딩

처음에는 Quick Time으로 화면을 레코딩하고 Adobe Premiere 로 편집했습니다. 이전에 Premiere를 잠깐 공부한 적이 있어서 사용에는 큰 어려움이 없었지만 강의 동영상을 만들기에는 약간의 불편함이 있었습니다. 마치 정원에 꽃을 심기 위해서 포크레인을 사용하는 느낌이었습니다. 동영상 편집 프로그램을 사용한 적이 없다면 강의를 완성하기도 전에 툴 사용법을 공부하다가 지칠지도 모릅니다.

이번에도 여러 프로그램을 비교해 보고 최종적으로 ScreenFlow를 선택했습니다.

https://www.telestream.net/screenflow/overview.htm

가격: $129

개인적으로 프로그래밍 강의 제작에 최적화된 앱이라고 생각합니다. 홈페이지에서 제공하는 튜토리얼만 봐도 대부분의 기능을 익힐 수 있습니다. 대략 2시간 정도만 투자하면 충분할 것 같습니다.

특히 좋은 점은 마우스 클릭과 키보드 입력을 자동으로 강조해 주고 특정 부분을 강조하거나 확대할 수 있다는 것입니다. 동영상 강의를 보다보면 마우스 포인터를 놓치거나 화면에 표시된 내용이 너무 작아서 거북이가 되어야 하는 경우가 많은데 이 기능을 활용하면 이런 문제가 해결됩니다.

특정 부분을 확대하는 기능을 자주 활용하다 보니 확대된 부분의 화질이 신경쓰이기 시작했습니다. 처음에는 원본 영상을 2560×1440으로 레코딩하고 평균 두 배 정도 확대했습니다. 화질을 유지하기 위해서 방법을 찾아보았지만 원본 영상을 고해상도로 레코딩 하는 것 외에 만족스러운 해결책은 없었습니다. 요즘은 원본 영상을 5K60P(5120×2880)로 레코딩 하고 최종 영상을 QHD30P(2560×1440)로 인코딩 하고 있습니다. 원본 영상은 레코딩 장비가 허락하는 최대의 해상도로 레코딩하는 것이 나중을 위해서 좋습니다. 프로그래밍 강의는 화면 상의 움직임이 적어서 30프레임으로 레코딩해도 큰 문제가 없지만 60프레임으로 레코딩하면 미세한 편집이 필요할 때 도움이 됩니다.

ScreenFlow에서 오디오를 함께 레코딩 할 수 있지만 권장하지는 않습니다. 좋은 마이크와 오디오 인터페이스가 구비되어 있고 소음이 적은 환경이라면 문제가 없지만, 나머지 경우에는 별도로 레코딩 하시는 것이 좋습니다.

미세먼지 팁

  • 레코딩은 무조건 고해상도로 하는 것이 좋습니다. 4K 이상 60프레임을 추천합니다.
  • OS 자체에 내장된 확대 기능은 미세한 조정이 어렵고 의도하지 않은 스크롤이 발생하는 경우가 많아서 사용하지 않는 것이 좋습니다.
  • 오디오는 별도의 DAW 프로그램으로 레코딩 하는 것이 좋습니다.

— 편집

초기에는 싱크라는 개념이 없어서 편집에 너무 많은 시간을 소비했습니다. 여러분은 저와 같은 실수를 하지 않으셨으면 좋겠습니다. 인생은 짧아요~

시간이 지나 싱크의 중요성을 깨닫고 스크린 레코딩과 보이스 레코딩을 모두 시작한 다음 방송국놈들처럼 슬레이트 박수를 쳤습니다. 그런데 이렇게 해도 시작 부분을 자르는 과정에서 약간의 오차가 발생했습니다. 여러 방법을 고민하다가 지금은 시작 부분에서 키보드 입력 세 번, 마우스 클릭 세 번을 기준으로 싱크를 맞추고 있습니다. 마이크에 “딸”과 “깍”이 별도의 파형으로 잡혀서 싱크를 쉽게 맞출 수 있습니다. 다만, 애플 키보드는 키 입력 소리가 작게 녹음되어서 이 트릭을 사용하기가 어렵습니다.

싱크 문제를 어느 정도 해결하고 나니 이론 파트 영상을 개선하고 싶어졌습니다. 처음에는 Sublime Text에서 필요한 내용을 입력하는 방식으로 만들었습니다. 리뷰를 하다보니 유료로 판매하는 강의인데 왠지 성의가 없다는 생각이 들었습니다. 여러 방법을 시도해보다가 현재는 Keynote를 사용하고 있습니다. 단순히 텍스트로 나열하는 것보다 간단한 아이콘과 애니메이션을 추가하면 내용을 쉽게 전달할 수 있고 주목도를 높이는데 도움이 되는것 같습니다.

키노트의 애니메이션 기능을 활용하면 동영상 편집 앱과 비교해서 1/3 정도의 시간으로 완성할 수 있습니다. 키노트를 완성한 다음 전체 화면으로 재생하고 이 화면을 레코딩하는 방식으로 작업하면 많은 시간을 절약할 수 있습니다.

키노트를 작성할 때 아이콘이 필요하다면 flaticon 사이트를 추천합니다. 월 $9.99로 구독하면 고품질 아이콘을 저작권 문제없이 사용할 수 있습니다.

https://www.flaticon.com/

가격: 월 $9.99

이미지가 필요할 때는 Unsplash 사이트를 추천합니다.

https://unsplash.com/

이번에는 인트로 영상을 만들고 싶어졌습니다. 디자인 감각이 제로여서 처음부터 직접 만드는 것은 불가능하고 전문 업체에 의뢰하기에는 비용이 부담이 되었습니다. 그러다가 예전부터 애용하던 themeforest에 비디오 템플릿도 있지 않을까 해서 봤더니..역시나 있었습니다!

https://videohive.net

너무 멋진 영상이 많아서 반나절 동안 프리뷰 영상만 본 건 비밀..

여러 검색어를 시도해 보았는데 opener로 검색했을 때 강의 인트로에 적합한 동영상이 검색되었습니다.

대부분은 After Effects라는 프로그램에서 편집해야 하는데 편집 가이드를 함께 제공하고 있어서 편집 자체에 큰 어려움은 없습니다.

오프닝 영상으로 사용할 수 있는 20초 이하의 영상은 대부분 $20~$30 사이에 판매되고 있습니다. 이 가격은 기본 라이센스 가격이고 무료 동영상에서 사용할 수 있습니다. 유료 동영상을 제작한다면 확장 라이센스를 구매해야 합니다. 확장 라이센스 가격은 기본 라이센스 대비 5배~10배 정도로 책정되어 있습니다.

그리고 영상에 포함된 오디오 역시 별도로 구매해야 합니다. 결국 라이센스를 고려하면 프리랜서에게 맡기는 비용이나 템플릿 비용이나 쌤쌤ㅠㅠ

멋진 인트로를 넣고 싶었는데.. 지금 생각해보면 제 욕심이었습니다. 동영상 강의를 보는 입장에서는 매번 스킵해야 하는 불편함이 있다는 것을 알게 되었습니다. 인트로 영상을 추가한다면 위에 있는 영상처럼 너무 어지러운 영상 말고 5초 이하의 잔잔한 영상이 좋다고 생각됩니다.

미세먼지 팁

  • 레코딩 시작 시점에 싱크를 맞추는 소리를 넣어야 합니다.
  • 키노트가 제공하는 Export 메뉴는 4K 이상의 영상에서 크래시가 발생하는 경우가 있고, 애니메이션이 꼬이는 경우도 있습니다. 미리보기를 실행한 다음 레코딩 하는 것이 좋습니다.
  • 싱크가 맞추어진 상태에서 트랙을 편집할 때는 스크린 트랙과 오디오 트랙을 동시에 편집해야 합니다. 예를 들어, 3 ~ 5초 사이의 오디오를 삭제하고 싶을 때 오디오 트랙만 삭제하면 이후 싱크는 다시 어긋납니다. 이렇게 되면 시작 시점에 맞추어둔 싱크가 무용지물이 됩니다.
  • 파일은 SSD에 저장한 상태로 편집해야 불필요한 딜레이가 발생하지 않습니다. HDD에 저장된 상태로 작업하면 그동안 모르고 살았던 새로운 자아를 발견할 수 있습니다.

— 인코딩

마지막 인코딩은 다른 부분에 비해서 별다른 어려움이 없었습니다. 처음부터 가장 보편적인 H.264를 사용하고 있습니다. 가장 고민했던 부분은 비트레이트였습니다.
구글신은 모든 것을 알고 계시고 저에게 이런 공식을 알려주었습니다.

  •   720, 30fps : 2500Kbps = 2.5Mbps
  •   720, 60fps : 3500Kbps = 3.5Mbps
  •  1080, 30fps : 4000Kbps = 4  Mbps
  •  1080, 60fps : 5500Kbps = 5.5Mbps

평소 직접 해 봐야 직성이 풀리는 저는 조금 무식한 방법이지만 1080p, 1440p와 1Mbps ~ 10Mbps, 30fps 또는 60fps를 기준으로 40개의 조합을 뽑아낸 다음 이틀동안 하나하나 인코딩 해 보았습니다. 프로그래밍 강의는 화면이 역동적으로 바뀌는 경우가 적어서 공식보다 적은 값을 설정해도 문제가 없었습니다. 현재는 1440p, 30fps에서 3Mbps으로 인코딩하고 있습니다. 화질 저하를 최소화 하는 동시에 스트리밍 전송량을 최소화 할 수 있는 설정입니다.

인코딩에서는 의외의 부분에서 문제가 발생했습니다. 바로 맥북의 발열!
보통 인코딩은 10분 이상 진행되는데 CPU 온도가 90도를 가뿐히 뛰어 넘었습니다. 이걸로 끝이 아니라 CPU 사용률이 높아서 다른 작업을 하는 것도 불가능했습니다. 에어컨도 맥북에게 양보하고 선풍기도 추가해 봤지만 발열을 쉽게 잡기는 어려웠습니다. 그래서 결국 iMac Pro로..

맥북에서 인코딩이 불가능한 것도 아니고 품질이 떨어지는 것도 아닙니다. 하지만 발열 문제가 있고 상대적으로 많은 시간이 필요합니다. 비교적 온도가 높은 곳에서 인코딩 하신다면 맥북이 고장날 가능성도 있습니다.

미세먼지 팁

  • 인코딩 영상의 크기는 최소 1080p 이상으로 설정하는 것을 권장합니다.
  • HEVC 옵션을 사용하면 인코딩 시간을 크게 절약할 수 있습니다.
  • 맥북으로 인코딩 할 경우 시중에 판매중인 노트북 쿨러는 효과가 거의 없습니다. 바람이 키패드 부분으로 향하도록 선풍기를 틀어주는 것이 가장 효과가 좋습니다.

— 동영상 제작 환경을 업그레이드 하신다면

새로운 인코딩용 PC나 맥을 구매하실 경우에는 아래와 같은 사양을 권장합니다.

  • CPU 8 코어 이상
  • RAM 32GB 이상
  • SSD 512GB 이상
  • 27인치 이상 QHD 모니터

iMac이나 PC를 사용하신다면 UPS를 사용하시는 것을 권장합니다. 그리고 외장하드 또는 NAS를 활용해서 이중으로 백업하시는 것을 권장합니다.

 

— 동영상 제작 전체 과정

상세 작업 프로그램 소요 시간
원고 작성 주제 선정 및 자료 조사
드래프트 작성
레코딩에 사용할 코드 샘플 제작
레코딩용 원고 작성
Scrivener
레코딩 마이크 Input Level 테스트
스크린 레코딩, 보이스 레코딩 동시 시작
싱크 조절용 오디오 레코딩
본 강의 레코딩
ScreenFlow
Adobe Audition
편집 후 최종 영상 시간 + 새는 발음, 갑자기 걸려온 전화, 코드 입력 실수 등으로 인한 추가 시간
편집 오디오 파일 편집 (표준화, 노이즈 제거)
음향 감도 일치 후 MP3로 익스포트
이론 파트 키노트 제작
비디오 프로젝트에 오디오를 포함한 전체 리소스 임포트
싱크 조절
비디오와 오디오 편집 (주로 불필요한 부분 삭제)
ScreenFlow
Adobe Audition
Keynote
대략 (레코딩 된 오디오 시간 + 레코딩 된 비디오 시간) * 4
인코딩 인코딩
최종 결과 리뷰
ScreenFlow 인코딩 시간 + 최종 영상 시간
백업 NAS에 백업
배포 스트리밍 서버로 업로드
스트리밍 에셋으로 변환
DRM 적용 후 배포
Azure Media Service

 

막간 PR 🙂
KxCoding에서 제작한 무료 강의는 Youtube 채널에서 공유하고 있습니다. 채널을 구독해 주신다면.. 사..사…는 동안 감사하며 살겠습니다! 그리고 Swift와 iOS 앱 개발을 시작하시는 분들을 위한 Mastering Swift와 Mastering iOS 강의를 제작하고 있습니다. 많은 관심 부탁드립니다 🙂