사용자 도구

사이트 도구


research:ffmpeg

FFMPEG

FFMpeg은 매우 잘 알려진 멀티미디어 데이터 조작을 위한 프로그램이다. 많은 수의 동영상 코덱을 처리할 수 있으며 기능도 다양하다. 개발자들을 위한 플랫폼이라 불친절한 단점이 있다. 그러나 기능만큼은 매우 강력하다.

ffmpeg 소프트웨어는 몇 개의 구성으로 되어 있는데,

  • ffmpeg: 비디오 파일의 변환을 담당한다.
  • ffplay: 비디오 파일의 재생을 담당한다.
  • ffprobe: 미디어 파일의 정보를 파악할 때 사용한다.
  • ffserver: 동영상을 네트워크로 스트리밍(streaming)할 때 사용한다. 윈도우에서는 바로 사용할 수 없어 binary로 배포되는 ffmpeg 빌드에는 제외되어 있다.

레시피

영상 파일의 한 장면을 그림 파일로 추출

ffmpeg -ss <시간> -i <파일 이름> -f image2 -s <그림 가로 크기>x<그림 세로 크기> \
 -vframes <추출할 프레임 수> -v codec <변환 코덱> <출력 파일>
  • 시간: HH:MM:SS(.SSS) 로 입력한다.
  • 파일 이름: 입력할 영상 파일
  • 그림 가로, 세로 크기: 추출할 스크린샷의 가로 사이즈
  • 추출할 프레임 수: 추출할 장면 수를 정한다.
  • 변환 코덱: 어떤 형식의 그림파일로 만들지 지정한다. .jpg면 mjpeg, .png 면 png라고 입력한다.
  • 출력파일: 출력 파일의 이름을 지정한다. 스크린샷이 여러 개일 경우 '%d'와 같이 숫자를 지정할 수 있다.

예제

ffmpeg -ss 00:05:00 -i test.mp4 -f image2 -s 320x180 -vframes 1 -v codec png sreenshot.png
ffmpeg -ss 00:05:00 -i test.mp4 -f image2 -s 320x180 -vframes 10 -v codec png sreenshot_%02d.png

첫번째 예는 1 프레임만 추출. 두번째 예는 10프레임을 screenshot_01.png, screenshot_02.png, … 로 추출한다.

동영상/음악 파일의 정보 분석

ffprobe를 사용

ffprobe -v quiet -show_format -show_streams -of <출력 양식> -i <입력 파일>
  • 출력 양식: default, ini, csv, xml 을 사용할 수 있다.
  • 입력 파일: 입력할 파일

음악, 영상 등 멀티미디어 파일의 경우 어떤 출력을 보이며, 아닌 경우는 에러를 낸다. 그러나 단순 텍스트 파일이며, .txt 확장자를 가진 파일에 대해서는 다음과 같은 출력을 보인다.

Input #0, tty, from '[파일명]':
  Duration: 00:00:00.04, bitrate: 5 kb/s
    Stream #0:0: Video: ansi, pal8, 640x400, 25 tbr, 25 tbn, 25 tbc

두번째 tty 부분의 문자가 어떤 양식인지를 알려주는 듯.

research/ffmpeg.txt · 마지막으로 수정됨: 2014/10/09 21:24 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki