일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RDS
- TypeScript
- NeXT
- lambda
- react
- S3
- pandas
- crud
- socket io
- git
- MongoDB
- docker
- 채팅
- node
- SSA
- Class
- EC2
- 튜플
- Props
- 파이썬
- AWS
- 카톡
- Vue
- merge
- SAA
- wetube
- async
- dict
- flask
- 중급파이썬
- Today
- Total
초보 개발자
ffmpeg Thumbnail , upload 본문
콘솔에서 ffmpeg를 사용하여 thumbnail추출할 때의 명령어는 아래와 같다.
웹 어셈블리에서 실행시켜 주려면
await ffmpeg.run("-i","my.mp4", "-ss", "00:00:01", "-vframes", "1" "myThumb.jpg")
여기서
my.mp4대신에 my.webm을 적어줘도 상관은 없다.
이렇게 해주고 콘솔창을 확인해보면
myThumb파일을 잘 만들어 낸 것을 알 수 있다. 그럼 저번 영상 변환한 것과 마찬가지로
blob으로 만들고 blob을 URL에 담아서 a에 넣고 클릭시키는 기능을 만들어보자.
우리가 파일을 다 사용하고 나면 unlink를 해줌으로써 빨라지게 할 수 있다. 굳이 다 사용하고 난 후의 파일들을 계속 들고 있을 필요는 없다. ( 브라우저가 느려지기 때문 )
우리가 만들었던 파일들 my.webm, my.mp4, myThumb.jpg 그리고 URL videoUrl, mp4Url, ThumbUrl을 지워주도록 해보자
이제 우리는 썸네일도 같이 업로드해보려고한다.
전에 우리는 videoUpload 미들웨어를 만들어 두었는데 이걸 single로 해둔 적이있다.
하지만 이렇게 file이 두개이면 single로는 불가능하다. 우리는 여기서 .fields를 사용할 것이다.
.single을 사용하면 req.file에 업로드된 파일의 정보가 들어있지만
.fields를 사용하면 req.files에 업로드된 파일들의 정보가 들어있다. 하나의 객체안에 객체형식으로 들어있고
각 개체는 배열로 구성되어있다.req.files = { video : [], thumb : [] } 이런식
fields는 배열로 만들어야하며 배열안의 객체를 만들어 file의 name과 maxCount를 지정해주자.
먼저 video Schema에 thumbUrl을 추가해주고
videoUrl과 thumbUrl을 추가해주자.
이렇게 해주면 video와 thumbnail이 잘 uploads에 저장이되고 잘 불러와지는 것을 알 수 있다.
'RECAP - WETUBE' 카테고리의 다른 글
Comment 1 (create) (0) | 2021.10.20 |
---|---|
express-flash (0) | 2021.10.19 |
ffmpeg wasm (0) | 2021.10.16 |
RECORD (0) | 2021.10.16 |
view +1 API (0) | 2021.10.12 |