参考:GeekなNooblogさん
1. x264コーデックのインストール
[bash]
[root@recorder ~]# yum –enablerepo=rpmforge -y install yasm
[root@recorder ~]# mkdir /usr/local/src/encorder
[root@recorder ~]# cd /usr/local/src/encorder/
[root@recorder encorder]# git clone git://git.videolan.org/x264.git
[root@recorder encorder]# cd x264/
[root@recorder x264]# ./configure –enable-shared
Found yasm 1.1.0.2352
Minimum version is yasm-1.2.0
If you really want to compile without asm, configure with –disable-asm.
[/bash]
あれ・・・怒られる。
[bash]
[root@recorder x264]# ./configure –disable-asm
[root@recorder x264]# make
[root@recorder x264]# make install
[root@recorder x264]# vi /var/www/epgrec/libx264.ffpreset
coder=1
flags=+loop+ilme
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=umh
subq=8
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=4
refs=4
directpred=3
trellis=1
flags2=+bpyramid+wpred+mixed_refs+dct8x8+fastpskip
[/bash]
2. aacコーデック
[root@recorder x264]# cd /usr/local/src/encorder [root@recorder encorder]# wget http://downloads.sourceforge.net/faac/faac-1.28.tar.gz [root@recorder encorder]# tar xvfz faac-1.28.tar.gz [root@recorder encorder]# cd faac-1.28 [root@recorder faac-1.28]# vi common/mp4v2/mpeg4ip.h 122 /* 123 #ifdef __cplusplus 124 extern “C” { 125 #endif 126 char *strcasestr(const char *haystack, const char *needle); 127 #ifdef __cplusplus 128 } 129 #endif 130 */ [root@recorder faac-1.28]# ./configure –with-mp4v2 [root@recorder faac-1.28]# make source=’3gp.cpp’ object=’3gp.o’ libtool=no \ DEPDIR=.deps depmode=none /bin/sh ../../depcomp \ g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -Wall -c -o 3gp.o 3gp.cpp ../../depcomp: line 512: exec: g++: not found make[3]: *** [3gp.o] エラー 127 make[3]: ディレクトリ `/usr/local/src/encorder/faac-1.28/common/mp4v2′ から出ま す make[2]: *** [all-recursive] エラー 1 make[2]: ディレクトリ `/usr/local/src/encorder/faac-1.28/common’ から出ます make[1]: *** [all-recursive] エラー 1 make[1]: ディレクトリ `/usr/local/src/encorder/faac-1.28′ から出ます make: *** [all] エラー 2 あらまー。 [root@recorder faac-1.28]# yum install gcc-c++ [root@recorder faac-1.28]# make [root@recorder faac-1.28]# make install
3. ffmpegのインストール
[root@recorder faac-1.28]# git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg 割と時間がかかる・・・(´・ω・`) [root@recorder faac-1.28]# cd ffmpeg/ [root@recorder ffmpeg]# ./configure –enable-libfaac –enable-libx264 –enable-gpl –enable-nonfree ERROR: libx264 not found お? うーんちょっとググったりしたけど解決できひん・・・ (あ・・・x264はアプリじゃなくてライブラリとしてインストールしなきゃいけなかたんじゃね?\(^o^)/) ここでやってみるかなー
2013/04/23 再挑戦www
[bash]
[root@recorder x264]# ./configure –enable-shared –enable-pic –enable-visualize –disable-asm
platform: X86_64
system: LINUX
cli: yes
libx264: internal
shared: yes
static: no
asm: no
interlaced: yes
avs: avxsynth
lavf: no
ffms: no
gpac: no
gpl: yes
thread: posix
filters: crop select_every
debug: no
gprof: no
strip: no
PIC: yes
visualize: no
bit depth: 8
chroma format: all
You can run ‘make’ or ‘make fprofiled’ now.
ここまできたら以前と同じように・・・
make -> make install
[/bash]
んで手順は飛んで、「3. ffmpegのインストール」のところから!
[bash]
[root@recorder ffmpeg]# ./configure –enable-libfaac –enable-libx264 –enable-gpl –enable-nonfree
[/bash]
おお!いけたwww
[bash]
make(けっこう時間かかるなぁ) -> make install
[root@recorder ~]# echo "/usr/local/lib" > /etc/ld.so.conf.d/usr.conf
[root@recorder ~]# ldconfig
[/bash]
4. エンコード確認
あれ・・・エラーはきまくりやんwww
5.エンコード再チャレンジ
結果的に下記のコマンドでいけた!
[bash]
[root@recorder ~]# ffmpeg -i test.ts -vcodec libx264 -acodec libfaac -y test.mp4
[/bash]
下記のエラーとか、吐きまくりだけど、ファイルを再生してみると問題なさげ・・・?
[bash][/bash]
[aac @ 0x35c7720] skip_data_stream_element: Input buffer exhausted before END element found Error while decoding stream #0:1: Operation not permitted Error decoding AAC frame header. Error while decoding stream #0:1: Operation not permitted [mpeg2video @ 0x35d3a00] ac-tex damaged at 22 54 [mpeg2video @ 0x35d3a00] Warning MVs not available