본문 바로가기

ESP32

ESP32-S3 영상 재생 플레이어 만드는 방법

반응형

ESP32S3로 비디오 플레이어 만드는 방법

 

이 프로젝트에서는 제가 직접 설계한 비디오 플레이어를 공유하겠습니다. 이 프로젝트를 사용하면 ESP32 개발 보드에서 소리와 함께 비디오를 재생할 수 있습니다.

 

 

 

이 프로젝트에 사용된 것들 - 하드웨어 구성 요소

  • Seeed Studio XIAO ESP32S3 플러스
  • st7789 TFT 디스플레이 240*280
  • 촉각 스위치, 상단 작동식
  • 어댑터가 포함된 디질런트 마이크로SD 카드
  • max98357A I2S 오디오 앰프 3W
  • SD 카드 리더기

 

이야기: DIY ESP32-S3 휴대용 비디오 플레이어

 

마이크로컨트롤러로 영상과 음성을 부드럽게 재생할 수 있을까요? 물론입니다. 이 프로젝트에서는 ESP32-S3의 성능을 최대한 활용하여 ST7789 디스플레이와 I2S 오디오를 사용하는 완벽한 비디오 플레이어를 제작해 봅니다.

(여기서 시작하세요! 세부 정보를 살펴보기 전에 전체 제작 과정과 데모 영상을 시청하세요.)

 

💡 아이디어

 

최근 ESP32-S3와 고품질 TFT 디스플레이를 많이 사용하면서 문득 이런 생각이 들었습니다. 이 칩의 강점은 무엇일까요? 과연 얼마나 강력한 성능을 가지고 있을까요?

 

이를 확인하기 위해 전용 비디오 플레이어를 제작하기로 했습니다. 목표는 마이크로컨트롤러에서 완전히 구동되는, 오디오 동기화가 된 MJPEG 비디오 재생이었습니다. 결과는 놀라울 정도로 훌륭했습니다!

 

🛠️ 하드웨어 목록

이것을 만들기 위해서는 다음이 필요합니다.

  • 마이크로컨트롤러: ESP32-S3 개발 보드 (최상의 성능을 위해서는 16MB 플래시 메모리/8MB RAM 버전을 권장합니다).
  • 디스플레이: ST7789 TFT 디스플레이 (240x280 또는 유사 해상도 호환).
  • 오디오: MAX98357A I2S 앰프 + 3W 스피커.
  • 저장 장치: 마이크로 SD 카드 모듈 + SD 카드(FAT32 형식으로 포맷됨).
  • 조작 방식: 터치식 버튼 3개.
  • 기타: 전선, 브레드보드 또는 Perfboard  퍼프보드.

 

⚙️ 1단계: 설정 (Arduino IDE)

 

ESP32-S3는 기본적으로 설치되어 있지 않으므로 개발 환경을 설정해야 합니다.

 

아두이노 IDE 환경설정을 열고 ESP32 보드 관리자 URL을 붙여넣으세요.

 

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

 

Boards Manager 로 이동하여 를 검색 ESP32하고 최신 버전을 설치하세요.

라이브러리: 이 프로젝트에는 두 가지 특정 라이브러리가 필요합니다. 다음 라이브러리를 검색하여 설치하세요.

TFT_eSPI(Bodmer 제작)JPEGDEC

 

중요한 설정: Arduino 라이브러리 폴더로 이동하여 TFT_eSPI 폴더를 열고 User_Setup.h 파일을 편집하세요. ST7789 드라이버의 주석 처리를 해제하고, 튜토리얼에서 보여드린 배선 방식에 맞춰 구체적인 핀 연결을 정의해야 합니다.

 

🐍 2단계: 비디오 준비 (파이썬)

 

MP4 파일을 SD 카드에 그냥 끌어다 놓을 수는 없습니다. ESP32는 프레임을 빠르게 처리하기 위해 더 가벼운 형식이 필요합니다. 그래서 MJPEG를 사용합니다 .

 

이 작업을 자동화하기 위해 파이썬 스크립트를 만들었습니다(아래 GitHub 저장소에서 확인 가능).

 

VS Code 와 Python을 설치하세요 .

https://code.visualstudio.com/download https://www.python.org/downloads/

VS Code에 Python 확장 프로그램을 설치하세요.

 

pip install imageio-ffmpeg

 

스크립트 터미널을 열고 필요한 라이브러리를 설치하세요.

 

동영상 파일을 해당 input 폴더에 넣고 스크립트를 실행하세요. 스크립트가 자동으로 파일을 변환하고, 크기를 조정(고정 너비)한 후 output폴더에 저장합니다.

 

💾 3단계: 배포

 

  • 변환된 파일을 output폴더에서 가져오세요.
  • 해당 파일들을 마이크로 SD 카드의 루트 디렉토리 에 복사하세요 .
  • 중요: SD 카드가 FAT32 형식으로 포맷되어 있는지 확인하십시오 .
  • 카드를 삽입하고, ESP32-S3에 아두이노 코드를 업로드한 후, 보드를 재설정하십시오.

 

🎮 컨트롤

 

인터페이스는 간단합니다.

버튼 1(위): 메뉴를 위로 스크롤합니다.

버튼 2(아래): 아래로 스크롤합니다.

버튼 3(재생/선택): 재생할 비디오를 선택합니다. 재생 중에 다시 누르면 메뉴로 돌아갑니다.

 

오디오 팁: 볼륨이 너무 작으면 게인 설정(0-21) 코드를 확인하고 조정하세요. 저는 '20'이 가장 적절한 값이라고 생각했습니다.

 

📥 코드 및 자료

 

전체 소스 코드, 파이썬 변환 스크립트 및 배선도는 아래 저장소에서 찾을 수 있습니다.

 

깃허브 저장소 

 

유튜브 채널 

 

회로도 - 배선 핀 정리

 

 

 

Code 저장소 깃 허브

 

비디오 플레이어 코드 저장소

 

 

 

원문 튜토리얼은 이 기사를 참고했습니다. 방문하시려면 클릭하세요. 

 

 

반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

당신의 성공을 위해 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩