일상 속 개발 탐구

맥북으로 개발자처럼 사진 영상 편집하기 (3) - 유튜브 동영상 저장 및 편집하기

soopy 2025. 2. 7. 12:11
728x90
지난 글에서는 터미널 사용 및 ImageMagick를 활용한 간단한 사진 편집을 진행했습니다.
터미널에 대한 이해가 필요하신 분은 첫 번째 글을 먼저 읽어주시기를 추천드립니다.

 

 


 

 

이번 시간에는 유튜브 영상을 추출한 뒤 이를 편집하고, 영상을 합치는 작업을 진행할거예요.

이전 글에서 Homebrew를 통해 사진 편집을 도와주는 imagemagick를 설치한 뒤 간단한 사진 편집을 진행해 보았는데요. 오늘은 유튜브 영상 추출을 위한 프로그램, 그리고 영상 편집을 도와주는 프로그램 이 둘을 설치해서 활용해보도록 하겠습니다.

 

YT-DLP로 유튜브 동영상 저장하기

 

GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader

A feature-rich command-line audio/video downloader - yt-dlp/yt-dlp

github.com

 

유튜브에서 동영상을 추출 후 저장하기 위해서는 위 오픈소스 프로그램을 설치해서 사용합니다. 이전에는 아마 대부분 구글에서 "유튜브 동영상 다운로드" 와 같은 검색 결과로 나오는 사이트를 활용하셨을것 같은데요. 결국 이상한 광고를 강제로 봐야하고, 잘못하면 원치 않는 사이트로 이동하게 되는 불쾌함을 경험할 수 밖에 없었을 거예요. 저는 그랬으니까요.

 

하지만 yt-dlp는 imagemagick처럼 설치도 간단하고, 오픈소스라 무료이기 때문에 사용하시기에 상당히 쾌적하실거라 생각합니다. 또한 유튜브 뿐 아니라 트위치, 아프리카 등 지원하는 플랫폼이 상당히 많아요.

 

아래 링크를 참조하셔서 yt-dlp가 지원하는 플랫폼을 확인해보시기 바랍니다.

 

yt-dlp/supportedsites.md at master · yt-dlp/yt-dlp

A feature-rich command-line audio/video downloader - yt-dlp/yt-dlp

github.com

 

 

 

YT-DLP 설치하기

 

터미널 창을 켜셔서 Homebrew를 통해 아래와 같이 명령하여 yt-dlp를 설치해 줍니다. 

brew install yt-dlp

 

개인 환경과 성능에 따라 설치 과정이 다소 오래 걸릴 수도 있는데 보통 그 이유가 Homebrew 업데이트에 있습니다. 오랜만에 brew로 설치를 진행하실 경우 Homebrew는 강제적으로 최신화를 진행하기에 조금 기다리시면 될 것 같아요.

 

 

brew upgrade yt-dlp

 

참고로 한동안 사용하시다가 오랜만에 yt-dlp를 사용하실 경우 동영상 추출이 정상적으로 진행되지 않을 때가 있는데, 그 때는 위 명령어로 프로그램 업데이트를 진행하시면 대부분의 문제는 해결되실 거예요.

 

 

유튜브 동영상 추출 및 저장하기

이제 설치를 완료했으니 본격적으로 추출을 시작해 보겠습니다.

먼저 터미널에서 파일을 저장할 위치로 이동시켜 줍니다.

cd 명령어 기억하시나요? Downloads 폴더로 영상을 받을 수 있게 이동합니다.

 

cd Downloads

 

꼭 다운로드 폴더로의 이동이 필수는 아닙니다. 하지만 특정 폴더의 경우 파일 저장이 권한 문제로 허용되지 않는 경우가 있기 때문에 데스크탑이나 다운로드, 도큐먼트와 같은 폴더에서 받으시는 걸 추천드려요.

 

 

yt-dlp --merge-output-format mp4 [URL]

 

다운로드 폴더로 이동했다면 이제 본격적으로 위 명령어를 입력합니다.

[URL] 부분을 지우고, 그 자리에 추출할 유튜브 URL을 넣어서 명령어를 실행해 줍니다.

그러면 해당 영상 제목이 포함된 파일명으로 동영상이 저장되는 것을 확인할 수 있습니다.

 

 

YT-DLP의 다양한 기능

위 명령어를 통해 대부분의 영상을 기본적으로 저장할 수 있지만 간혹 해상도를 선택하거나, 오디오만 저장하면 되는 상황이 있을 수도 있을거예요. 그럴 경우에 대해 살펴보겠습니다.

 

오디오만 추출하기

yt-dlp --extract-audio --audio-format mp3 [URL]

 

 

원하는 영상, 오디오 품질 선택하기

먼저 저장하려는 유튜브 링크에서 선택 가능한 품질의 목록을 출력해서 봅니다. 어떤 링크냐에 따라 지원하는 해상도와 음질이 다르기 때문에 우선적으로 확인이 필요합니다.

 

yt-dlp -F [URL]

 

위 명령어를 입력하면 보시는 이미지와 같이 선택 가능한 영상, 음원이 분리되어 확인이 가능합니다. 보통 목록을 보면 음원과 비디오가 분리되어 있기 때문에 필요한 스펙에 따라 두 개를 각각 선정하시면 됩니다. 저는 파란색 바탕색으로 칠한 두 부분은 선택해서 추출하려고 합니다.

 

yt-dlp -f 616+140 [URL]

 

이렇게 영상 ID 616과 음원 ID 140을 위와 같이 명령어로 작성하셔서 사용하시면 되겠습니다. 참고로 목록을 보시면 영상 부분에는 확장자가 mp4인 경우도 있고 webm인 경우도 있습니다. 오디오도 마찬가지고요. 이 부분도 잘 확인하셔서 받으시면 됩니다.

 

 


FFMPEG으로 동영상 편집하기

 

개발자분들 중에는 ffmpeg을 모르는 분은 아마 없을겁니다. 웬만한 영상과 관련된 편집은 이 안에서 전부 가능하다할 정도로 매우 강력한 프로그램입니다.

 

FFMPEG 설치하기

brew install ffmpeg

 

yt-dlp를 설치하셨던 것과 동일하게 터미널의 Homebrew를 통해 설치합니다.

 

 

해상도 변경하기

ffmpeg -i input.mp4 -vf "scale=1280:720" -c:v libx264 -crf 23 -preset fast -c:a copy output.mp4

 

먼저, 위와 같은 명령어로 해상도를 변경할 수 있는데, 복잡하죠? 명령어를 하나하나 설명드리겠습니다.

 

ffmpeg 프로그램을 실행한다
-i input.mp4 : 입력 파일로 input.mp4 파일명을 지정함
-vf "scale=1280:720" : 해상도를 1280x720으로 변경, 참고로 "1280:-1"과 같이 입력하면 가로 1280에 맞게 원본 비율 유지
-c:v libx264 : H.264 코덱 사용을 의미합니다. H.264가 일반적인 영상 코덱입니다.
-crf 23 : 품질 설정 (낮을수록 고화질, 18~28 추천)
-preset fast : 인코딩 속도 설정 (ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow 중 선택)
-c:a copy : 오디오를 그대로 복사하여 인코딩 생략
output.mp4 : 출력 파일명을 output.mp4로 지정하여 결과물을 저장

 

 

구간 잘라내기

ffmpeg -i input.mp4 -ss 00:01:00 -to 00:01:30 -c:v libx264 -crf 23 -preset fast -c:a copy output.mp4

 

-ss 00:01:00 -to 00:01:30 명령어는 1분 부터 1분 30초 구간을 선택함을 의미합니다.

 

 

이렇게나 명령어가 복잡하기 때문에 ffmpeg는 아주 오래전부터 있었던 프로그램이지만 진입 장벽이 높았습니다. 그렇지만 이제 우리에게는 ChatGPT가 있습니다. "FFmpeg을 사용해서 동영상 해상도를 1280:720으로 변경해주는 명령어 작성해 줘" 라는 질문 하나만으로도 위와 같이 명령어를 간단히 획득하실 수 있어요.

 

 

이 밖에도 동영상 확장자 변경, 오디오만 추출 등 여러분 각자에게 필요한 디테일한 요구사항을 잘 정리하여 ChatGPT에게 질문하면 그에 맞는 편집 명령어를 받아 다양한 작업을 테스트해보는 것도 재밌을 것 같아요.

 

마무리

지금까지 터미널을 이용한 CLI 환경에서 사진 및 영상 편집에 필요한 프로그램을 다루는 방법을 살펴보았습니다.

내용을 정리하자면 내가 현재 업무 진행에 있어 필요한 기능이 있다면, 그와 관련된 프로그램이 있는지 ChatGPT에게 물어보고, 그것을 brew를 통해서 설치할 수 있다면 설치하고, 이를 활용하는 것이라고 볼 수 있겠습니다.

 

앞으로도 업무에 필요한 다양한 툴들을 특정 사이트를 통해 유료로 사용하기에 앞서 터미널(CLI 환경)에서 설치하고 활용할 방법은 없는지 ChatGPT의 도움을 받아 확인해보시는 것을 추천합니다.

 

 

728x90
728x90