사용자 도구

사이트 도구


research:ffmpeg

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
research:ffmpeg [2013/01/28 13:29] – 새로 만듦 changwooresearch:ffmpeg [2014/10/09 21:24] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +====== 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 확장자를 가진 파일에 대해서는 다음과 같은 출력을 보인다.
 +
 +<code>
 +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
 +</code>
 +두번째 tty 부분의 문자가 어떤 양식인지를 알려주는 듯. 
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki