자신만의 UCC 사이트를 구축하기 위해서 필요한 프로그램들을 나열하고 이들의 용도와 설치 방법, 사용 방법을 설명함으로써 동영상 사이트 만드는데 도움을 주고자 이글을 적습니다.

1. FFmpeg란?
FFmpeg은 stream audio와 video를 스트리밍하고, 레코딩하고, 컨버팅하는 오픈소스 솔루션입니다. 여기에는 또한 libavcodec라는 우수한 audio/video 라이브러리를 내장하고 있습니다.
거의 대부분의 OS에서 컴파일되므로 활용이 가능하다는 장점이 있죠.
ffplay multimedia player를 내장도 하고 있습니다. ffserver라는 스트리밍 서버 기능도 있고 다양한 파일 포멧(AVI, MPEG, OGG, Matroska, ASF, …)과 인코딩 포멧(MPEG, DivX, MPEG4, AC3, DV, …)을 지원합니다.
간략하게 요역하자면 아래와 같습니다.

  • ffmpeg: 비디오 파일 포맷을 다른 포맷으로 변환할 수 있는 커맨드라인 툴. TV 수신 카드로부터 실시간 영상을 받아 인코딩할 수 있음
  • ffserver: HTTP 프로토콜을 사용하는 스트리밍 서버이다. 실시간 재생 도중 재생 위치 변경 기능을 제공함
  • ffplay: SDL과 ffmpeg 를 사용해서 구현된 간단한 재생 프로그램임
  • libavcodec: ffmpeg에서 사용하는 모든 오디오/비디오 코덱이 들어있는 라이브러리이다. 최고의 효율과 코드 재사용성을 목표로 만들어졌음
  • libavformat: ffmpeg에서 사용하는 모든 오디오/비디오 코덱을 파싱하고 생성하는 루틴들이 들어있는 라이브러리

2. 필요한 라이브러리
ffmpegFLV audio codec은 mp3이다. 그래서 오디오 변환을 위해서 LAME 이 필요하고 flv를 플레이하기 위해서는 다양한 Metadata가 필요하다. 그래서 FLVTool2가 필요합니다. FLVTool2는 루비를 설치해야만 합니다. ^^ 그리고 php로 운영하신다면 ffmpeg-php가 필요하겠죠.
마지막으로 플레이를 하기 위해서는 FlowPlayer를 다운받아서 활용하시는게 좋을 겁니다.
그럼 LAME->FFmpeg->Ruby->FLVTool2->FlowPlayer 순으로 설치를 하시면 됩니다.

 - LAME 설치
   . shell>wget http://downloads.sourceforge.net/lame/lame-398.tar.gz?
            modtime=1215212728&big_mirror=0
   . shell>./configure --enable-shared --prefix=/home/k2/server/lame;make;make install
 - FFMpeg 설치
   . shell>svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
   . shell>cd ffmpeg
   . shell>./configure --prefix=/home/k2/server/ffmpeg
            --enable-gpl --enable-shared --enable-mp3lam;make;make install
   . 사용 방법 : ffmpeg -i "mimul.avi" -vcodec flv -f flv -r 29.97 -s 320×240
          -aspect 4:3 -b 300kb -g 160 -cmp 2 -subcmp 2 -mbd 2 -flags
          +aic+cbp+mv0+mv4+trell -ac 1 -ar 22050 -ab 56k "mimul_avi.flv"
 - Ruby
   . shell>wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p22.tar.bz2
   . shell>./configue --prefix=/home/k2/server/ruby;make;make install
 - FLVTool2
   . shell>wget
   . shell>ruby setup.rb config;ruby setup.rb setup;ruby setup.rb install
   . 사용방법 : RUBYLIB=lib ruby bin/flvtool2 -U <path to>/movie.flv
 - Flowplayer
   . http://flowplayer.org/download.html 사이트에서 파일을 다운 받음
   . 사용방법
<object type="application/x-shockwave-flash" data="[your site]/FlowPlayer.swf"
width="320" height="263" id="FlowPlayer">
<param name="allowScriptAccess" value="sameDomain"/>
<param name="movie" value="[your site]/FlowPlayer.swf"/>
<param name="quality" value="high"/>
<param name="scale" value="noScale"/>
<param name="wmode" value="transparent"/>
<param name="flashvars" value="baseURL=[base URL]&amp;videoFile=movie.flv
&amp;autoPlay=false&amp;loop=false&amp;autoBuffering=false
&amp;splashImageFile=movie.jpg"/>
</object>
[참조 사이트]
  • http://lame.sourceforge.net/
  • http://ffmpeg.mplayerhq.hu/
  • http://www.ruby-lang.org/
  • http://flowplayer.org/

+ Recent posts