Project

General

Profile

메타버스내에서 yt-dlp 사용방법

Added by 한음 장 over 3 years ago

yt-dlp는 youtube-dl의 로딩 속도 및 버퍼링 뿐만 아니라 유료 컨텐츠와 프리미엄 영상들을 가져 올 수 없는 문제가 개선된 버전입니다.
youtube-dl 을 포크한 yt-dlp를 사용하여 음성 및 비디오를 다운로드 받아 ffmpeg로 병합을 하여 파싱된 데이터를 전달 후 메타버스 내에서 youtube를 재생가능하도록 한다

0. 환경세팅

패키지를 바이너리 자체를 설치한다
깃허브 리포지토리를 이용한 yt-dlp 패키지 설치

sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/bin/yt-dlp

설치 완료후 권한을 변경한다

sudo chmod a+rx /usr/bin/yt-dlp

서버에서 ffmpeg와 yt-dlp를 같은 경로로 맞춰준다
ex) 프린트 베이커리의 경우 : /usr/bin 경로로 마추어져 있다.

1. 사용법
메타버스에서 youtube_id 값을 전달받아 yt-dlp 명령어를 사용하여 video + audio로 병합된 request_url를 반환값으로 가져옵니다.

→ 반환할 때는 ffmpeg를 사용합니다.
/usr/bin/yt-dlp -g --flat -f b https://www.youtube.com/watch?v=".$youtube_id
→ 패키지 설치 경로 뒤에 옵션을 추가하고 받은 url 주소를 입력한다
→ request_url을 json 형태로 변환하여 유니티로 전달한다

option 사용 옵션 설명

-g : --get-url(url 주소로 조회하는 옵션)
-f : --format (비디오 형식)
→ b : best (최고로 video와 audio 와 합병 되기 좋은 타입)
--flat : 재생목록의 비디오를 추출하지않고 나열하기위해 사용

참고 사이트 : https://github.com/yt-dlp/yt-dlp