[Media] FFmpeg
FFmpeg는 음악과 영상을 녹화하고 변환하고 스트리밍하는 모든 기능을 제공하는 패키지이다. FFmpeg는 리눅스에서 개발되었으나, 다른 많은 OS-윈도우를 포함해서-를 지원한다.
The project is made of several components:
* ffmpeg: 비디오 파일 포맷을 다른 포맷으로 변환할 수 있는 커맨드라인 툴. TV 수신 카드로부터 실시간 영상을 받아 인코딩할 수 있다.
* ffserver: HTTP 프로토콜을 사용하는 스트리밍 서버이다. 실시간 재생 도중 재생 위치 변경 기능을 제공한다.
* ffplay: SDL과 ffmpeg 를 사용해서 구현된 간단한 재생 프로그램이다.
* libavcodec: ffmpeg에서 사용하는 모든 오디오/비디오 코덱이 들어있는 라이브러리이다. 최고의 효율과 코드 재사용성을 목표로 만들어졌다.
* libavformat: ffmpeg에서 사용하는 모든 오디오/비디오 코덱을 파싱하고 생성하는 루틴들이 들어있는 라이브러리이다
출처 : http://blog.naver.com/jjaangyj?Redirect=Log&logNo=50012180090
FFMpeg는 아래의 설치방법을 따라 설치합니다.
[ 코덱 설치 방법 1 ]
-----------------------------------------------------------------------------------
- 미리 컴파일 된 공유라이브러리를 다운받아 설치하는 과정
1. 아래 링크에 있는 공유라이브러리를 내려받습니다.
- libavcodec.so.51.8.0
- libavformat.so.50.4.0
- libavutil.so.49.0.0
2. 파일을 복사합니다.
# cp libavcodec.so.51.8.0 /usr/lib/
# cp libavformat.so.50.4.0 /usr/lib/
# cp libavcodec.so.49.7.0 /usr/lib/
3. 다음 파일로 링크를 겁니다.
(라이브러리 버전이 업데이트 되어도 정상적으로 동작하도록 하기 위해서 라이브러리에 링크를 걸어줍니다.)
# cd /usr/lib/
# ln -s libavcodec.so.51.8.0 ./libavcodec.so
# ln -s libavcodec.so.51.8.0 ./libavcodec.so.51
# ln -s libavformat.so.50.4.0 ./libavformat.so
# ln -s libavformat.so.50.4.0 ./libavformat.so.50
# ln -s libavutil.so.49.0.0 ./libavutil.so
# ln -s libavutil.so.49.0.0 ./libavutil.so.49
[ 코덱 설치 방법 2 ]
-----------------------------------------------------------------------------------
소스를 다운받아 설치하는 경우 ffmpeg사이트에 링크를 따라가면 소스파일을 구할 수 없으므로
CVS로 소스를 받아 설치합니다. (소스 설치에는 CVS와 GCC가 필요하다.)
1. 소스 내려받기
아래 명령을 실행하면 ffmpeg이라는 디렉토리가 생성되고, 그안에 소스파일이 내려받아집니다.
# cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg
# cd ffmpeg
2. 컴파일
configure를 실행하여 빌드하기전에 옵션을 선택합니다.
# ./configure --enable-gpl --enable-shared
make명령으로 코덱 라이브러리를 생성합니다.
# make
라이브러리를 정해진 디렉토리에 설치합니다.
# make install
make install을하게 되면 /usr/local/lib에 코덱라이브러리가 설치됩니다. 그러나 /usr/local/lib/ 디렉토리가
시스템이 사용하는 라이브러리 디렉토리로 지정되지 않았기 때문에 /etc/ld.so.conf파일을 편집 한 후
ldconfig명령으로 라이브러리 디렉토리를 추가합니다.
# vi /etc/ld.so.conf
======================================
include ld.so.conf.d/*.conf
/usr/local/lib/ -->이부분 추가
======================================
# ldconfig