웹 페이지를 통해 서버에 동영상 업로드를 하고 업로드된 동영상을 활용해 동영상 자르기, 동영상 붙이기 작업을 수행하여 편집이 완료된 동영상 파일을 URL을 통해 다운받을 수 있고, 업로드된 동영상과 편집된 동영상의 목록을 조회하여 출력하는 웹 서버
-
프로젝트 실행하여 웹서버 구동
-
브라우저로
localhost:3000접속 -
좌측
동영상 업로드영역파일 선택버튼을 통해 업로드할 동영상 파일 선택 후업로드버튼 클릭하여 파일 업로드.avi,.mp4,.mov만 허용
./tempvideo경로에 있는 테스트용 동영상 파일 활용가능
-
중앙
동영상 편집영역동영상 붙이기작업을 할 경우 사용되는 동영상 수에 맞게추가하기버튼을 클릭하여 행 추가동영상 붙이기작업을 할 경우 원하는 순서대로 콤보박스에서 선택동영상 자르기작업을 할 경우첫 번째 입력칸: 시작시간,두 번째 입력칸: 끝시간을 입력시작시간혹은끝시간을 입력하지 않을 경우원본 동영상의시작지점과종료지점으로 설정됨
- 위 설정값 입력 후
동영상 생성버튼 클릭시 동영상이 생성되고다운로드 버튼,다운로드 URL링크화면 출력
-
우측
동영상 조회영역조회하기버튼 클릭시업로드된 동영상,생성된 동영상목록 출력업로드된 동영상표시 항목:업로드 동영상ID,업로드 일시,원본 파일명,업로드 파일 경로생성된 동영상표시 항목:생성된 동영상ID,생성 일시,요청 내역,생성된 파일 경로
/upload - 파일 업로드
/create_video - 동영상 생성
/download/:filename - 생성된 동영상 다운로드
/get_video_list - 업로드 및 생성된 동영상 목록 조회
JSON
-
homebrew설치 https://brew.sh/ko/brew install go brew install ffmpeg brew install mariadb brew services start mariadb
chocolatey설치 https://chocolatey.org/installchoco install golang choco install ffmpeg choco install mariadb net start mariadb
-
mariadb접속 후videdit프로젝트 경로의schema.sql쿼리 실행
config - 설정
ffmpeg - 동영상 처리
handler - http 요청 처리
mariadb - database 로직 처리
model - entity 모음
router - endpoint 라우팅
util - 파일 처리, Error Response 관련 유틸
- go mysql driver , gorm , gorm mysql driver - 동영상 업로드/편집요청 내역 관리에 사용되는 DB 관련 패키지
go get -u github.com/go-sql-driver/mysql
go get -u gorm.io/driver/mysql
go get -u gorm.io/gorm- echo web framework - 웹 프레임워크 패키지
github.com/labstack/echo/v4- go ffmpeg package - 동영상 편집 패키지
github.com/u2takey/ffmpeg-go- short id - 동영상 ID 발급 패키지
github.com/teris-io/shortid| Variable name | Type | Default |
|---|---|---|
USERNAME |
string |
"root" |
PASSWORD |
string |
"1111" |
HOST |
string |
"localhost" |
PORT |
string |
"3306" |
SCHEMA |
string |
"videdit" |
| Variable name | Type | Default |
|---|---|---|
UPLOADFILEPATH |
string |
"./upload" |
OUTPUTFILEPATH |
string |
"./output" |