ffmpeg 최신 버전이 있어야 한다.
https://ffmpeg.org/download.html
옛날에 libwebp 코덱이 추가됐는데 나는 그게 언제인지 모르므로 최신 버전..
ffmpeg 윈도우 버전을 쓸 때 미리 해두면 편한 것 : 윈도우 환경 변수 수정하기(새창에서 열림)
이 설정을 했다면 명령 프롬프트에서 영상 파일이 있는 경로로 가서 ffmpeg를 실행하면 되고 하지 않았다면 ffmpeg가 있는 bin폴더에서 ffmpeg를 실행하면 된다. 이 경우에는 영상 파일 경로와 파일명을 모두 입력해줘야 한다.
명령어
ffmpeg -i 입력동영상파일경로및이름.mp4 -ss 00:00:00.00 -t 0 -vcodec libwebp_anim -filter:v fps=fps=12 -lossless 0 (-compression_level 4) -q:v 66 -loop 0 -an -s 800:450 출력파일경로및이름.webp
하나씩 살펴보자.
- 입력동영상파일경로는 해당 폴더에서 ffmpeg 실행시에는 넣지 않고 파일명만 넣으면 된다.
- -i 인코딩을 하겠다는 뜻이다.
- -ss 인코딩을 시작할 시간을 나타낸다. 규격은 hh:mm:ss.frame이다.
- -t 인코딩을 할 시간 분량을 나타낸다. 초단위이고 ss처럼 .frame 사용가능
- -vcodec libwepb_anim libwebp만 해도 되지만 티스토리는 libwebp_anim코덱이 아닌 libwebp로 인코딩된 움짤 webp를 업로드할 수 없게 되어 있다. (업로드를 시도해도 업로드가 실패했습니다 네트워크 상태를 확인해 주세요 오류를 내뿜으면서 업로드를 실패한다)
- -filter:v fps=fps=00 프레임레이트를 지정한다.
- -r 로 지정해도 된다.
- -lossless 무손실 여부를 결정한다. 1이 true고 0이 false다. q:v가 지정되어 있으면 생략시 손실.
- -compression_level 압축 정도. 1~6. 기본은 4이다. 생략 가능.
- -q:v 1~100 퀄리티를 결정한다. 용량이 너무 크면 이 값을 70 이하로 낮추면 좋다. 100은 무손실에 가까워서 용량이 너무 크지만 너무 낮추면 깍두기가 심해진다. 기본값은 75.
- -loop 0~ 루프 여부를 걸정한다. 0이 무한루프이다. 기본값이 1이기 때문에 0으로 지정하지 않으면 한 번만 재생되고 멈춰버린다. 1은 한 번 재생, 2는 두 번 반복...
- -an 소리가 없음을 나타낸다.
- -s 800:450 출력물 해상도를 나타낸다. 블로그 용도는 가로 800이하가 무난하겠으나 다른 게시판이면 딱히 800이 아니어도 괜찮을 것이다.
이상.
'Digital Arts > Videos' 카테고리의 다른 글
h264와 h265 화질 비교 (0) | 2023.12.16 |
---|---|
Ezgif로 동영상을 webp로 변환하기 (0) | 2022.02.19 |
아이폰 영상 다빈치 리졸브에서 안 나올 때 media offline (0) | 2021.01.21 |
Magic Lantern Video <Tokyo> (0) | 2020.03.15 |