ytarchive로 유튜브 라이브 첫 부분부터 추출하는 법, 채널 모니터링하는 법, 추출 예약하는 법을 알고 싶다면 봐야할 글
이전 글
ytarchive 유튜브 라이브 추출 방법 1 – 다운로드, 설치
ytarchive 사용법
cmd에 명령어를 입력하여 사용한다
특정 폴더에서 cmd 창 여는 법 두 개
1. 파일 저장할 폴더의 빈 공간에서 shift 키 누르고 오른 클릭 -> 여기에서 명령 창 열기
2. 저장할 폴더 주소 표시줄에 cmd 입력하고 엔터
기본 사용법
ytarchive [옵션] [url] [품질]
[url] : 유튜브 라이브 스트림 주소
[품질] : 어떤 화질의 영상을 받을 것 인지 명시
미리 입력하지 않으면 사용 가능한 목록을 보여주고 하나를 입력하라는 메시지가 표시된다
선택할 수 있는 품질:
audio_only, 144p, 240p, 360p, 480p, 720p, 720p60, 1080p, 1080p60, 1440p, 1440p60, 2160p, 2160p60, best
원하는 품질 다운이 실패할 경우에 대비해 안전장치로 “best”를 쓰는 편이 좋다
그러면 알아서 최고 품질로 다운로드하여 준다
“best”만 쓸 수도 있지만 섞어 쓸 수도 있다
ytarchive https://www.youtube.com/watch?v=##### 1080p60/best
이렇게 “1080p60/best”로 쓰면 우선적으로 1080p60로 추출하려고 한다
1080p60이 가능하지 않으면 가능한 품질 중 제일 좋은 것으로 추출한다
[옵션]은 아래에서 다루겠다
스트리밍이 끝나면 자동 종료된다
그리고 cmd 창을 종료시키면 중지된다
다만 이렇게 하면 비디오 파일과 오디오 파일이 합쳐지지 않은 상태로 끝난다
그렇기 때문에 도중에 중지시키려면 아래와 같은 방법으로 하는 게 더 낫다
추출 도중에 멈추는 법
ytarchive를 실행 중인 cmd 창에서 “Ctrl + C” 키를 누르면 추출을 중지시킬 수 있다
“Ctrl + C” 키를 누르면 현재 진행 중인 작업이 즉시 중지되고, cmd 창으로 돌아가게 된다
“Ctrl + C” 키를 눌러서 ytarchive를 중지하면, 추출된 파일의 일부가 손상될 가능성이 있으므로, 추출 작업이 완료될 때까지 기다렸다가 종료하는 것이 좋다
이 방법으로 중지하면 먹싱을 여기에서 시킬 수 있다
merge 할 거냐고 물을 때 y를 입력하면 된다
실제 이렇게 해보니 비디오 파일과 오디오 파일의 길이가 달라서 뒷부분에서는 소리만 들렸다
[옵션] :
여러 옵션을 다 쓰려면 옵션 자리에 병기하면 된다
자주 쓰게 될 옵션을 우선적으로 설명하겠다
–merge : 추출이 다 되면 ffmpeg로 합쳐 준다
미리 써 놓지 않으면 나중에 합칠 거냐고 묻는 메시지가 나온다
그때 y를 입력하면 합쳐 준다
ytarchive --merge https://www.youtube.com/watch?v=12345 best
만약 merge를 놓쳤는데 나중에 합치고 싶어 진다면 아래와 같이 하면 된다
ffmpeg -i “audio.ts” -i “video.ts” -c copy “ouput.mp4”
-w : 예정된 스트림일 때 라이브 스트림을 기다린다
만약 예정된 스트림인데 이 옵션을 사용하지 않았으면, 기다릴 것인지 묻는 메시지가 표시된다
ytarchive -w --merge https://www.youtube.com/watch?v=12345 best
-r : 예정된 라이브 스트림을 기다릴 때, 지정된 시간마다 스트림이 작동하는지 다시 확인한다
ytarchive -r 30 https://www.youtube.com/channel/12345/live best
채널주소/live를 이용하여 채널에서 예정된 라이브 스트림을 30초마다 체크하며 기다린다
-c : 유튜브 멤버십 영상 다운로드할 때 사용
이 옵션을 쓰려면 필요한 과정이 있다
브라우저에서 “cookies.txt”를 추출해야 한다
1) 플러그인을 다운로드한다 (Chrome, Firefox, Edge)
2) 멤버십 가입한 계정에 로그인한 상태에서 유튜브 페이지로 이동하여 플러그인을 사용하여 쿠키를 추출한다
3) 파일을 접근하기 쉬운 곳에 둔다
예: D:\yt\cookies.txt
그런 다음 아래와 같이 사용한다
ytarchive --cookies "D:/yt/cookies.txt" https://www.youtube.com/watch?v=12345 best
또는
ytarchive -c cookies-youtube-com.txt https://www.youtube.com/watch?v=12345 best
–monitor-channel : 유튜브 채널을 지속적으로 모니터링하고, 라이브 방송을 추출한다
[URL]에 채널주소/live를 사용해야 한다
ytarchive --monitor-channel https://www.youtube.com/channel/12345/live best
별도로 설정하지 않는 한, ‘-r 60 –merge’ 옵션으로 수행된다
대기 시간은 최소 30초는 되어야 하며, 60초 이상이 권장된다
화질은 ‘best’를 사용하는 게 권장된다
스트림 추출 및 병합이 완료되면 다음 스트림에 대한 모니터링으로 바로 돌아간다
사용 중에는 드라이브가 채워지지 않도록 스토리지 공간을 잘 살펴야 할 필요가 있다
– o : 파일 이름 지정
‘%(title)s-%(id)s’이 기본 세팅이다
id (문자열): 비디오 식별자
url (문자열): 비디오 URL
title (문자열): 비디오 제목
channel_id (문자열): 채널 ID
channel (문자열): 라이브 스트림이 켜져 있는 채널의 전체 이름
upload_date (문자열: YYYYMMDD): 기술적으로 스트리밍 시작 날짜, UTC 표준 시간대 – 실제 업로드 날짜가 아닌 스트림 시작 날짜가 사용된다
start_date (문자열: YYYYMMDD): 스트림 시작 날짜, UTC 표준시
publish_date (문자열: YYYYMMDD): 스트림 게시 날짜, UTC 표준시
ytarchive -o '%(channel)s/%(upload_date)s_%(title)s' https://www.youtube.com/watch?v=12345 best
지정된 스트림을 “채널 이름이 있는 디렉터리”에 “업로드 날짜 및 스트림 제목이 있는 파일”로 다운로드한다
그 외
–add-metadata
일부 기본 메타데이터 정보를 최종 파일에 기록
–debug
추가 정보를 표시
–error
에러와 일반 정보만 표시
-k
–keep-ts-files
먹싱 후에 비디오 파일과 오디오 파일을 삭제하지 않고 보관한다
–no-merge
스트림 다운 후에 ffmpeg로 먹싱 하지 않는다
-n
–no-wait
예정된 스트림일 때 기다리지 않는다
-t
–thumbnail
스트림 썸네일을 다운로드하여 완료된 파일에 포함시킨다
썸네일이 제대로 표시되는지 여부는 파일 브라우저에 따라 다르다
윈도우는 작동하는 것 같지만, 리눅스는 겉보기에는 그렇지 않다고 한다
–write-description
비디오 설명을 별도의 .description 파일에 쓴다
–write-thumbnail
썸네일을 별도의 파일로
더 많은 옵션은 아래 페이지 참고
GitHub – Kethsar/ytarchive: Garbage Youtube livestream downloader
다음 글
ytarchive 유튜브 라이브 추출 방법 3 – 배치 파일 이용
반복적으로 명령어 입력하는 걸 피하기 위해 배치 파일을 사용하면 좋다
관련 글
유튜브 외의 곳에서 라이브 추출을 하고자 할 때에는 아래의 스트림링크를 사용하는 것이 좋다
스트림링크 사용 방법 1: 다운로드, 설치 (Streamlink)
스트림링크 사용 방법 2-1: 라이브 추출 1️⃣ 기본, 옵션 (Streamlink)