[스트리밍] ffmpeg로 FLV 동영상 파일 변환하기

FLV란 플래시 동영상 파일이다. 용량에 비해 화질이 좋은 포맷이다.
모든 플랫폼(OS)에서 구동이 되면 특별한 코덱이 필요없는 포맷이다.
웹 2.0에서 표준형,개발형으로 많은 각광을 받고 있는 포맷이다.


최근 주요 포털은 동영상 Contents에 대한 경쟁이 심화 되고 있으며
야후에서는 AVI포맷으로 엠파스와 네이버는  WMV포맷으로 싸이월드에서는 FLV포맷으로 서비스를 하고 있다.


1. 설치기
설치환경 :  ubuntu 6.1
설치순서: LAME->FFmpeg->Ruby->FLVTool2
LAME: MP3 Encoder
FFmpeg: multimedia player
Ruby : FLVTool을 설치하기 위해
FLVTool2
MING: FLV파일을 SWF파일로 변환시켜 주는 라이브러리가 있는것



LAME설치
sudo apt-cache search lame
sudo apt-get install lame


FFmpeg
sudo apt-cache search ffmpeg
sudo apt-get install ffmpeg


Ruby
  http://www.ruby-lang.org/en/ 여기에서 다운 받아
  ./configure
  make
  make install


  FLVTool2
  http://rubyforge.org/frs/?group_id=1096&release_id=9694 여기에서 다운받아
  ruby setup.rb config
  ruby setup.rb setup
  ruby setup.rb install


  MING
  관련 프로그램 참조: http://klaus.geekserver.net/ming-video/examples.html
  라이브러리 참조: http://ming.sourceforge.net/
  여기에서 다운로드 받는데 이것을 설치 하기 위해 필요한 라이브러리 (flex, bison, zlib)
   등이 필요하면 만약 Ubuntu라면 모두 apt-cache 로 찾아 볼수 있으면 install 하는데 아무런 문제가 없다.



동영상 FLV만들기
ffmpeg -i [sourcefile.avi] -acodec mp3 -ar 22050 -ab 32 -f flv -s 320240 [destfile.flv]
ffmpeg -i t.avi -acodec aiff -f flv t.flv (audio 코덱에 대해서 알아 봐야 할것 같다)



FLV에 메타데이터 넣기
flvtool2 -U [flvfile]


동영상 썸네일 만들기
ffmpeg -y -i [videofile] -vframes 1 -ss 00:00:02 -an -vcodec png -f rawvideo -s 320240 [thumbnailimage.png]



일부 옵션의 설명( 분위기와 익사이트 직역으로 하고 있는 그리고, 잘못하고 있으면(자) 지적해 주세요)


메인 옵션:
-L          라이센스를 표시
-h          헬프를 표시
-formats       현재 사용할 수 있는 포맷, 코덱, 프로토콜을 표시
-f fmt        포맷을 지정(fmt 의 부분에-formats 그리고 조사한 포맷명이 들어간다)
-img img_fmt     화상의 포맷을 지정(img_fmt 의 부분에-formats 그리고 조사한 포맷명이 들어간다)
-i filename      입력 파일을 지정
-y          출력 끝에 동명의 파일이 있었을 경우, 문답 무용으로 덧쓰기한다
-t duration     완성되는 파일의 시간을 지정한다(duration 의 부분에10 (와)과 넣으면,10 초의 부분까지 밖에 기록하지 않는다)


영상의 옵션:
-b bitrate      bit rate를kbit/s 그리고 지정
-aspect aspect    어스펙트비를 지정(4:3, 16:9 or 1.3333, 1.7777)
-vn          영상을 출력하지 않는다
-bt tolerance     bit rate의 허용 오차를kbit/s 그리고 지정
-vcodec codec     codec 의 부분에-formats 그리고 조사한 코덱을 지정(‘copy’ (을)를 지정하면 원파일에 손보지 않는다)
-sameq        원래의 파일과 같은 비디오 품질을 사용합니다.( 암묵중에VBR (이)가 되기도 합니다)
-pass n        무슨 패스로 encode 하는지를 지정합니다.(1 인가2 (을)를 지정)
-passlogfile file   2 패스로 encode 했을 때의 로그 파일명을 지정합니다


음성의 옵션:
-ab bitrate      음성의 bit rate를kbit/s 그리고 지정
-ar rate       음성의 샘플링 레이트를Hz 그리고 지정
-ac channels     음성의 채널수를 지정
-an          음성을 출력하지 않는다
-acodec codec     codec 의 부분에-formats 그리고 조사한 음성의 코덱을 지정(‘copy’ (을)를 지정하면 원파일에 손보지 않는다)



ffmpeg -i onestar.avi -acodec mp3 -ar 22050 -ab 32 -f flv -s 320240 onestar.flv
  950  ffmpeg -i onestar.avi -acodec mp3 -ar 22050 -ab 32 -f flv -s 320240 onestar.flv
  951  ffmpeg -i onestar.avi-ar 22050 -ab 32 -f flv -s 320240 onestar.flv
  952  ffmpeg -i onestar.avi -ar 22050 -ab 32 -f flv -s 320240 onestar.flv
  953  ffmpeg -i onestar.avi -acodec mp3 -ar 22050 -f flv -s 320240 onestar.flv
  954  ffmpeg -i onestar.avi -ar 22050 -ab 32 -f flv -s 320×240 onestar.flv
  955  ffmpeg -i onestar.avi -ar 22050 -ab 32 -f flv -s 320×240 onestar.flv


ffmpeg -i movie.avi -r 14 -b 128k -vcodec mpeg4 -acodec aac -ab 64k movie_phone.mp4



 

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

2 Responses

  1. 2022년 6월 19일

    1limitations

  2. 2023년 1월 26일

    1wrestling

페이스북/트위트/구글 계정으로 댓글 가능합니다.