본문 바로가기
개발 관련 지식/잡동사니

[FFPMEG] FFMPEG 간단한 명령어 정리

by rahites 2024. 6. 14.

FFmpeg 명령어 정리

비전 태스크를 활용하다보면 같이 사용하게 되는 FFmpeg 패키지 명령어를 정리해 보자 😊


설치

sudo apt install

 

명령어 : ffmpeg으로 시작

  • -i input 데이터
  • -r fps설정(1초당 추출할 Frame 수)

 

ex1) 동영상에서 프레임 추출하기

ffmpeg -i {input_video} {경로/파일명-%d.png}
  • 여기서 %d로 frame 숫자 분리
  • %6d 이런식으로 몇자리 숫자로 표현할지 정할 수 있음
  • 확장자명은 png, jpg 등..

 

ex2) 영상 코덱 변경(mp4v to h264)

ffmpeg -i {input_video} -c:v libx264 {경로/파일명.mp4}
  • mp4 외에 다른 영상 확장자 가능

 

ex3) 동영상 회전하기

ffmpeg -i {input_video} -filter:v transpose=2 -c:v libx264 -preset veryfast -crf 22 -c:a copy -metadata:s:v rotate="" {경로/파일명.mp4}
  • -filter:v transpose : 비디오스트림에 대한 필터 적용. transpose 필터를 사용하여 동영상을 회전(2 : 시계방향 90도 회전)
  • -c:v libx264 : 비디오 코덱 libx264로 설정(H.264 인코딩)
  • -preset veryfast : 속도를 우선시하는 veryfast 프리셋
  • -crf 22 : crf(constant rate factor)를 설정. 값이 낮을 수록 영상 품질이 높아지지만 파일 크기가 커짐
  • -c:a copy : 오디오 재인코딩하지 않고 원본 코덱 유지
  • -metadata:s:v rotate=”” : 비디오스트림에 메타 데이터를 추가. 회전 메타데이터를 비워둬서 추가 회전을 방지

 

* 번외

ffmpeg -i {input_video} -metadata:s:v "rotate=90" -c copy {경로/파일명.mp4}

위와같이 메타데이터를 추가해서 인코딩 없이 작동시킬 수도 있다.

 

 

 

→이후 ffmpeg을 활용한 작업이 생길때마다 추가할 예정


참고자료

https://www.nuridol.net/command/ffmpeg/

 

자주 쓰는 FFmpeg 명령어들

알아두면 언젠가 쓸 수 있을지도?

www.nuridol.net

 

댓글