ffmpeg로 비디오 파일을 webp로 변환하기
loading
본문 바로가기

Digital Arts/Videos

ffmpeg로 비디오 파일을 webp로 변환하기

ffmpeg 최신 버전이 있어야 한다.
https://ffmpeg.org/download.html

 

Download FFmpeg

If you find FFmpeg useful, you are welcome to contribute by donating. More downloading options Git Repositories Since FFmpeg is developed with Git, multiple repositories from developers and groups of developers are available. Release Verification All FFmpe

ffmpeg.org

옛날에 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이 아니어도 괜찮을 것이다.

 

이상.