[스트리밍] 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