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/
'개발 관련 지식 > 잡동사니' 카테고리의 다른 글
[OpenCV] VideoCapture 객체 Codec 변경 (2) | 2024.07.22 |
---|---|
[Pillow] 영상에 한자 텍스트 입력하기 (0) | 2024.06.28 |
[Network] 웹페이지 네트워크 설정 변경 (0) | 2024.05.21 |
댓글