일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 자바스크립트심화
- 자바
- 개발일기
- 데이터분석
- 혼공머신
- JDBC
- JSP
- 정보처리기사실기
- 중학1-1
- 오블완
- 자바 실습
- rnn
- 연습문제
- 자바스크립트
- 파이썬
- 중학수학
- 데이터베이스
- SQL
- c언어
- 딥러닝
- 디버깅
- JSP/Servlet
- 컴퓨터비전
- 상속
- html/css
- 순환신경망
- CSS
- 머신러닝
- 정보처리기사필기
- 컴퓨터구조
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
컴퓨터 비전 4 - pafy로 유튜브 영상 연동 및 pytube로 유튜브 영상 다운로드하기 본문
이어서 동영상을 실습하는 예제를 진행해 보겠다. 오늘은 낮잠을 많이 잔 관계로 밤늦게까지 공부를 이어갈 생각이다.
설치는 잘 되었는데 코드에 빨간줄이 떠서 제대로 된 코드인지 의심이 가기도 했다.
하지만 코드를 수행하면 이러한 오류가 뜬다.
코드 수정해보기
Jupyter Notebook 환경에서는 %pip install을 사용하는 것이 더 안정적이라고 한다. !로 하면 설치가 잘 되지 않을 수 있으니 %로 바꾸어서 다시 설치를 해주었다.
설치 후 제대로 설치되었는지 확인하는 코드를 하나 추가해 주었다.
이 코드는 youtube-dl을 최신 버전으로 설치하거나 다시 설치하기 위해 사용하는 명령어이다. 여기서는 git을 통해 youtube-dl의 최신 소스를 직접 가져와 설치하므로, 최신 버전이 아닌 경우 발생할 수 있는 문제를 해결하는 데 유용하다.
이 코드를 수없이 변경하여 실행해 보았지만 잘 되지 않았다. 마지막으로 한 번만 더 하고 안 되면 그냥 넘어가려고 한다.
AttributeError: module 'pafy' has no attribute 'set_backend' 오류가 발생하는 이유는 pafy 버전에 따라 set_backend 기능이 지원되지 않기 때문이다. 최신 버전의 pafy 라이브러리에서는 set_backend를 사용할 수 없는 경우가 있다.
이 문제를 해결하기 위해서는 pafy를 pafy의 최신 저장소에서 직접 설치하거나 pafy-backend-ytdlp라는 별도 모듈을 설치하여 yt-dlp와 함께 작동하도록 설정할 수 있다.
코드 다시 한번 수정하기
드디어 되었다. 영상 제목, 별점, 조회수, 제작자를 불러올 수 있었다.
하지만 오류가 잔뜩 떴다. 이 오류는 pytube 라이브러리가 YouTube의 최신 업데이트에 의해 영향을 받아 제대로 동작하지 않을 때 발생할 수 있다. YouTube는 자주 변경되므로, pytube가 이를 반영하지 못할 경우 이런 HTTPError와 같은 문제가 발생한다.
pytube의 최신 버전을 업데이트하고, YouTube 영상을 다운로드하는 함수를 다시 작성해 보겠다. pytube의 apply_descrambler 문제는 최신 패치에서 해결되었으므로, 최신 버전으로 업데이트하는 것이 첫 번째 단계이다.
코드를 이처럼 수정했으나 오류가 발생했다. HTTP Error 400: Bad Request 오류는 YouTube API의 변경으로 인해 pytube가 영상을 가져오는 데 실패하는 경우 발생한다. YouTube는 자주 업데이트되기 때문에 pytube가 이를 따라가지 못하는 경우가 있다.
이 경우, YouTube 다운로드 라이브러리로 yt-dlp를 사용하는 것이 더 나은 대안일 수 있다.
여기에 유튜브에서 받은 동영상이 저장되었다. 드디어 실행되다니 정말 뿌듯하다. 사실 이 코드는 수업 시간에 선생님도 헤매며 해결을 못해서 그냥 넘어갔던 예제였다. 하지만 스스로 해결할 수 있어서 정말 기쁘다.
실행해보니 동영상 화질은 원본에 비해 좋지는 않았다.
학습을 마치고
이번 단원은 정말 어려웠다. 하지만 해결되지 않는 문제를 끝까지 잡고 놓치지 않았더니 마침내 해결되었다. 나중에 필요한 동영상이 있을 때 이런 식으로 다운을 받으면 좋을 것 같다. 물론 외부 유출은 안 되고 개인 소장용으로 저장하고 싶을 때 사용해 볼 것이다.
'인공지능 > 컴퓨터 비전' 카테고리의 다른 글
영상 처리 2 - 이진 영상 (0) | 2024.11.08 |
---|---|
영상 처리 1 - 디지털 영상 기초 (0) | 2024.11.08 |
컴퓨터 비전 3 - 동영상 읽고 출력하는 실습해보기 (0) | 2024.11.08 |
컴퓨터 비전 2 - Gray와 Color 이미지 만들기 및 이진 이미지 처리하기 (0) | 2024.11.08 |
컴퓨터 비전 1 - 이미지 읽고 출력하는 실습해보기 (0) | 2024.11.08 |