ffmpeg

ffmpeg-logo Linux
ffmpeg

Using ffmpeg , Server-Side convert

■ffmpegを使用して Server-Side Flash_Video 生成環境を作ることを目的とする。

=== 事前準備 ===
DAGリポジトリの導入http://dag.wieers.com/rpm/FAQ.php#B2
アーキテクチャを確認してインストールする。下記は、CentOS5i386の場合

rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

DAGリポジトリを通常無効にしておく(OS標準のリポジトリとの整合性に問題が出ることがあるので)

sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo

ffmpegインストール

本体と、リビルド環境、開発環境を導入

yum install --enablerepo=rpmforge ffmpeg
yum install rpm-build gcc

AMRのインストール

■3gpからflvへの変換を行うためオーディオコーデックを導入
■ファイル置き場を作成し、移動する。

mkdir /usr/local/src/ffmpeg
cd /usr/local/src/ffmpeg

■tarファイルからrpmを作成

wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.0.tar.bz2
rpmbuild -ta amrnb-7.0.0.0.tar.bz2
wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.2.tar.bz2
rpmbuild -ta amrwb-7.0.0.2.tar.bz2

一気にinstall

rpm -Uvh /usr/src/redhat/RPMS/i386/amr*.rpm

ソースの取得とffmpeg.specの設定

SourceRPMを取得し、コンパイル

wget http://dag.wieers.com/rpm/packages/ffmpeg/ffmpeg-0.4.9-0.9.20070530.rf.src.rpm

展開

rpm -iiv ffmpeg-0.4.9-0.9.20070530.rf.src.rpm

■151行目の行末をescapeし、下記を追記(変更行は次の通り)

vi /usr/src/redhat/SPECS/ffmpeg.spec
--disable-strip \
--enable-libamr-nb \
--enable-libamr-wb
rpmbuild
rpmbuild -ba /usr/src/redhat/SPECS/ffmpeg.spec

★大量の依存関係のエラーが出るため、依存関係を解消するため、パッケージをインストールする。

yum install SDL-devel freetype-devel zlib-devel libogg-devel libvorbis-devel libtheora-devel texi2html

yum install --enablerepo=rpmforge imlib2-devel lame-devel faad2-devel faac-devel gsm-devel xvidcore-devel x264-devel a52dec-devel

■リビルド開始

rpmbuild -ba /usr/src/redhat/SPECS/ffmpeg.spec

★P4-1GHzマシンでは、15分程度の時間がかかります。

■出来上がったpackageをinstall

rpm -Uvh /usr/src/redhat/RPMS/i386/ffmpeg-*.rpm

■ffmpeg -versionコマンドを発行

FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --incdir=/usr/include/ffmpeg --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-libogg --enable-libtheora --enable-libfaad --enable-libfaac --enable-libgsm --enable-xvid --enable-x264 --enable-liba52 --enable-liba52bin --enable-pp --enable-shared --enable-pthreads --enable-gpl --disable-strip --enable-libamr-nb --enable-libamr-wb
libavutil version: 49.4.0
libavcodec version: 51.40.4
libavformat version: 51.12.1
built on Mar 25 2008 13:17:48, gcc: 4.1.2 20070626 (Red Hat 4.1.2-14)
ffmpeg SVN-rUNKNOWN
libavutil 3212288
libavcodec 3352580
libavformat 3345409

対応フォーマットの確認
■ffmpeg -formatsコマンド発行

ffmpeg -formats

FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --
incdir=/usr/include/ffmpeg --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-
libogg --enable-libtheora --enable-libfaad --enable-libfaac --enable-libgsm --enable-xvid --
enable-x264 --enable-liba52 --enable-liba52bin --enable-pp --enable-shared --enable-pthreads
 --enable-gpl --disable-strip --enable-libamr-nb --enable-libamr-wb
libavutil version: 49.4.0
libavcodec version: 51.40.4
libavformat version: 51.12.1
built on Mar 25 2008 13:17:48, gcc: 4.1.2 20070626 (Red Hat 4.1.2-14)
File formats:
E 3g2 3gp2 format
E 3gp 3gp format
D 4xm 4X Technologies format
D MTV MTV format
DE RoQ Id RoQ format
D aac ADTS AAC
DE ac3 raw ac3
E adts ADTS AAC
DE aiff Audio IFF
DE alaw pcm A law format
DE amr 3gpp amr file format
D apc CRYO APC format
DE asf asf format
E asf_stream asf format
DE au SUN AU Format
DE audio_device audio grab and output
DE avi avi format
D avs avs format
D bethsoftvid Bethesda Softworks 'Daggerfall' VID format
D c93 Interplay C93
E crc crc testing format
D daud D-Cinema audio format
D dsicin Delphine Software International CIN format
D dts raw dts
DE dv DV video format
D dv1394 dv1394 A/V grab
E dvd MPEG2 PS format (DVD VOB)
D dxa dxa
D ea Electronic Arts Multimedia Format
DE ffm ffm format
D film_cpk Sega FILM/CPK format
DE flac raw flac
D flic FLI/FLC/FLX animation format
DE flv flv format
E framecrc framecrc testing format
DE gif GIF Animation
DE gxf GXF format
DE h261 raw h261
DE h263 raw h263
DE h264 raw H264 video format
D idcin Id CIN format
DE image2 image2 sequence
DE image2pipe piped image2 sequence
D ingenient Ingenient MJPEG
D ipmovie Interplay MVE format
DE m4v raw MPEG4 video format
D matroska Matroska file format
DE mjpeg MJPEG video
D mm American Laser Games MM format
DE mmf mmf format
E mov mov format
D mov,mp4,m4a,3gp,3g2,mj2 QuickTime/MPEG4/Motion JPEG 2000 format
E mp2 MPEG audio layer 2
DE mp3 MPEG audio layer 3
E mp4 mp4 format
D mpc musepack
DE mpeg MPEG1 System format
E mpeg1video MPEG video
E mpeg2video MPEG2 video
DE mpegts MPEG2 transport stream format
D mpegvideo MPEG video
E mpjpeg Mime multipart JPEG format
DE mulaw pcm mu law format
D mxf MXF format
D nsv NullSoft Video format
E null null video format
D nut nut format
D nuv NuppelVideo format
DE ogg Ogg format
E psp psp mp4 format
D psxstr Sony Playstation STR format
DE rawvideo raw video format
D redir Redirector format
DE rm rm format
E rtp RTP output format
D rtsp RTSP input format
DE s16be pcm signed 16 bit big endian format
DE s16le pcm signed 16 bit little endian format
DE s8 pcm signed 8 bit format
D sdp SDP
D shn raw shorten
D smk Smacker Video
D sol Sierra SOL Format
E svcd MPEG2 PS format (VOB)
DE swf Flash format
D thp THP
D tiertexseq Tiertex Limited SEQ format
D tta true-audio
D txd txd format
DE u16be pcm unsigned 16 bit big endian format
DE u16le pcm unsigned 16 bit little endian format
DE u8 pcm unsigned 8 bit format
D vc1 raw vc1
E vcd MPEG1 System format (VCD)
D video4linux video grab
D video4linux2 video grab
D vmd Sierra VMD format
E vob MPEG2 PS format (VOB)
DE voc Creative Voice File format
DE wav wav format
D wc3movie Wing Commander III movie format
D wsaud Westwood Studios audio format
D wsvqa Westwood Studios VQA format
D wv WavPack
DE yuv4mpegpipe YUV4MPEG pipe format

Codecs:
D V 4xm
D V D 8bps
D V VMware video
DEA aac
D V D aasc
DEA ac3
DEA adpcm_4xm
DEA adpcm_adx
DEA adpcm_ct
DEA adpcm_ea
DEA adpcm_ima_dk3
DEA adpcm_ima_dk4
DEA adpcm_ima_qt
DEA adpcm_ima_smjpeg
DEA adpcm_ima_wav
DEA adpcm_ima_ws
DEA adpcm_ms
DEA adpcm_sbpro_2
DEA adpcm_sbpro_3
DEA adpcm_sbpro_4
DEA adpcm_swf
D A adpcm_thp
DEA adpcm_xa
DEA adpcm_yamaha
D A alac
DEV D asv1
DEV D asv2
D A atrac 3
D V D avs
D V bethsoftvid
DEV bmp
D V D c93
D V D camstudio
D V D camtasia
D V D cavs
D V D cinepak
D V D cljr
D A cook
D V D cyuv
D A dca
D V D dnxhd
D A dsicinaudio
D V D dsicinvideo
DES dvbsub
DES dvdsub
DEV D dvvideo
D V dxa
DEV D ffv1
DEVSD ffvhuff
DEA flac
DEV D flashsv
D V D flic
DEVSD flv
D V D fraps
DEA g726
DEV gif
DEA gsm
D A gsm_ms
DEV D h261
DEVSDT h263
D VSD h263i
EV h263p
DEV DT h264
DEVSD huffyuv
D V D idcinvideo
D A imc
D V D indeo2
D V indeo3
D A interplay_dpcm
D V D interplayvideo
DEV D jpegls
D V kmvc
DEA libamr_nb
DEA libamr_wb
EV libtheora
EV ljpeg
D V D loco
D A mace3
D A mace6
D V D mdec
DEV D mjpeg
D V D mjpegb
D V D mmvideo
DEA mp2
DEA mp3
D A mp3adu
D A mp3on4
D A mpc sv7
DEVSDT mpeg1video
DEVSDT mpeg2video
DEVSDT mpeg4
D A mpeg4aac
D VSDT mpegvideo
DEVSD msmpeg4
DEVSD msmpeg4v1
DEVSD msmpeg4v2
D V D msrle
D V D msvideo1
D V D mszh
D V D nuv
DEV pam
DEV pbm
DEA pcm_alaw
DEA pcm_mulaw
DEA pcm_s16be
DEA pcm_s16le
DEA pcm_s24be
DEA pcm_s24daud
DEA pcm_s24le
DEA pcm_s32be
DEA pcm_s32le
DEA pcm_s8
DEA pcm_u16be
DEA pcm_u16le
DEA pcm_u24be
DEA pcm_u24le
DEA pcm_u32be
DEA pcm_u32le
DEA pcm_u8
DEV pgm
DEV pgmyuv
DEV png
DEV ppm
D V ptx
D A qdm2
D V D qdraw
D V D qpeg
D V D qtrle
DEV rawvideo
D A real_144
D A real_288
DEA roq_dpcm
D V D roqvideo
D V D rpza
DEV D rv10
DEV D rv20
DEV sgi
D A shorten
D A smackaud
D V smackvid
D V D smc
DEV snow
D A sol_dpcm
DEA sonic
EA sonicls
D V D sp5x
DEV D svq1
D VSD svq3
DEV targa
D V theora
D V D thp
D V D tiertexseqvideo
DEV tiff
D V D truemotion1
D V D truemotion2
D A truespeech
D A tta
D V txd
D V D ultimotion
D V vc1
D V D vcr1
D A vmdaudio
D V D vmdvideo
DEA vorbis
D V vp3
D V D vp5
D V D vp6
D V D vp6f
D V D vqavideo
D A wavpack
DEA wmav1
DEA wmav2
DEVSD wmv1
DEVSD wmv2
D V wmv3
D V D wnv1
D A ws_snd1
D A xan_dpcm
D V D xan_wc3
D V D xl
EV xvid
DEV D zlib
DEV zmbv

Supported file protocols:
file: http: pipe: rtp: tcp: udp:
Frame size, frame rate abbreviations:
ntsc pal qntsc qpal sntsc spal film ntsc-film sqcif qcif cif 4cif
Motion estimation methods:
zero(fastest) full(slowest) log phods epzs(default) x1 hex umh iter

Note, the names of encoders and decoders dont always match, so there are
several cases where the above table shows encoder only or decoder only entries even though both encoding and decoding are supported for example, the h263 decoder corresponds to the h263 and h263p encoders, for file formats its even worse

■3gpからFlvへの変換確認

ffmpeg -formats|grep amr

FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --incdir=/usr/include/ffmpeg --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-libogg --enable-libtheora --enable-libfaad --enable-libfaac --enable-libgsm --enable-xvid --enable-x264 --enable-liba52 --enable-liba52bin --enable-pp --enable-shared --enable-pthreads --enable-gpl --disable-strip --enable-libamr-nb --enable-libamr-wb
libavutil version: 49.4.0
libavcodec version: 51.40.4
libavformat version: 51.12.1
built on Mar 25 2008 13:17:48, gcc: 4.1.2 20070626 (Red Hat 4.1.2-14)
DE amr 3gpp amr file format
DEA libamr_nb
DEA libamr_wb

コメント

タイトルとURLをコピーしました