2. RTP Payload Format for SVC Video
'Embedded' 카테고리의 다른 글
MPEG 1/2 Reference Site (0) | 2009.12.13 |
---|---|
Eclipse + eCOS =?? (0) | 2009.11.23 |
DM6467 Develop Board (2) | 2009.06.25 |
FFMPEG /X264를 MAC에서 빌드 (0) | 2009.06.14 |
H.264 SVC 다운로드 커맨드 (0) | 2009.06.12 |
MPEG 1/2 Reference Site (0) | 2009.12.13 |
---|---|
Eclipse + eCOS =?? (0) | 2009.11.23 |
DM6467 Develop Board (2) | 2009.06.25 |
FFMPEG /X264를 MAC에서 빌드 (0) | 2009.06.14 |
H.264 SVC 다운로드 커맨드 (0) | 2009.06.12 |
FFMPEG /X264를 MAC에서 빌드
반드시 맥이 아니더라도 상관은 없을것 같습니다만,
홈페이지는 아래와 같습니다.
다운로드는 SVN으로 합니다.
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
그럼 열심히 다운로드가 됩니다.
빌드에 참고가 되는 페이지는 아래와 같습니다.
http://stephenjungels.com/jungels.net/articles/ffmpeg-howto.html
폴더에 들어가서
./configure
make
사용법은 쉽습니다.
./ffmpeg -s 4cif -i ../../TestStream/SOCCER_704x576_30_orig_02.yuv -b 2000k test_2M.avi
주의할 점은..
입력이 YUV이면, 파일에 대한 정보가 하나도 없으므로, 커맨드라인에서 옵션을 줍니다.
이때, 옵션은 입력 파일 이름보다 먼저 나와야 합니다.
이제 x264를 구합니다.
홈페이지는 다음과 같습니다.
http://www.videolan.org/developers/x264.html
다운로드는 다음과 같습니다.
git clone git://git.videolan.org/x264.git
빌드는 다음과 같습니다.
./configure
make
sudo make install
이러면 설치가 됩니다.
이제 ffmpeg으로 264 엔코딩을 수행하기로 합니다.
옵션 할 것도 많기 때문에 makefile로 스크립트를 만들어서 처리하면 쉽습니다.
makefile의 내용은 아래와 같습니다.
-----------------
# Options
# option for highprofile
options_hp=-vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 \
-partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 \
-me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 \
-flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 \
-g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10\
-qmax 51 -qdiff 4
# Option for Baseprofile
options_bp=-vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 \
-partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 \
-me_method hex -subq 7 -trellis 1 -refs 5 -bf 0 \
-flags2 +mixed_refs -coder 0 -me_range 16 \
-g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10\
-qmax 51 -qdiff 4
# FFMPEG
FFMPEG = ./FFMPEG/ffmpeg/ffmpeg
# OUTPUT
OUTPUT = ./output
# Test Stream
ICE_704x576 = ./TestStream/ICE_704x576_30_orig_02_yuv/ICE_704x576_30_orig_02.yuv
####################################
all : ICE_264_HP ICE_264_BP
ICE_264_HP :
${FFMPEG} -s 4cif -y -i ${ICE_704x576} -an -pass 1 ${options_hp} ${OUTPUT}/ice_hp.h264
ICE_264_BP :
${FFMPEG} -s 4cif -y -i ${ICE_704x576} -an -pass 1 ${options_bp} ${OUTPUT}/ice_bp.h264
ffmpeg_help :
${FFMPEG} -h
-----------------
다만 실행하면 다음과 같은 오류가 발생합니다
Unknown encoder 'libx264'
찾아보면 아래의 페이지에서 해결책이 있습니다.
http://ffmpeg.arrozcru.org/forum/viewtopic.php?f=1&t=870
In order to have H264 encoding support in ffmpeg, should I build it with x264 lib ? (from http://www.videolan.org/developers/x264.html)
./configure --help | grep 264
--enable-libx264 enable H.264 encoding via x264 [default=no]
Is there built-in support for h264 encoding in ffmpeg source tree (just decode) ?
Building with configuration: --enable-shared --disable-static --enable-memalign-hack
요지는 옵션을 넣어서 컴파일을 해야 한다는 점입니다.
다시 ffmpeg을 빌드합니다.
make distclean
./configure --enable-libx264 --enable-shared --disable-static --enable-memalign-hack --enable-gpl
{
ibx264를 쓸려면 gpl을 enable시켜야 합니다. --enable-gpl
}
make
sudo make install
실행하면 다음과 같습니다.
Macintosh:JSVM kevinim$ make ICE_264_HP
./FFMPEG/ffmpeg/ffmpeg -s 4cif -y -i ./TestStream/ICE_704x576_30_orig_02_yuv/ICE_704x576_30_orig_02.yuv -an -pass 1 -vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 -flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 ice_hp.h264
FFmpeg version SVN-r19185, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --enable-libx264 --enable-shared --disable-static --enable-memalign-hack --enable-gpl
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.31. 2 / 52.31. 2
libavformat 52.34. 0 / 52.34. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0. 7. 1 / 0. 7. 1
built on Jun 14 2009 08:57:59, gcc: 4.0.1 (Apple Inc. build 5490)
Input #0, rawvideo, from './TestStream/ICE_704x576_30_orig_02_yuv/ICE_704x576_30_orig_02.yuv':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0.0: Video: rawvideo, yuv420p, 704x576, 25 tbr, 25 tbn, 25 tbc
[libx264 @ 0x1805410]using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
[libx264 @ 0x1805410]profile High, level 3.0
Output #0, h264, to 'ice_hp.h264':
Stream #0.0: Video: libx264, yuv420p, 704x576, q=10-51, pass 1, 512 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 240 fps= 16 q=-11214781.0 Lsize= 613kB time=9.52 bitrate= 527.1kbits/s
video:613kB audio:0kB global headers:0kB muxing overhead 0.000000%
[libx264 @ 0x1805410]slice I:1 Avg QP:35.73 size: 5288
[libx264 @ 0x1805410]slice P:60 Avg QP:29.56 size: 4813
[libx264 @ 0x1805410]slice B:179 Avg QP:32.34 size: 1858
[libx264 @ 0x1805410]consecutive B-frames: 0.0% 0.0% 1.3% 98.7%
[libx264 @ 0x1805410]mb I I16..4: 33.3% 52.3% 14.5%
[libx264 @ 0x1805410]mb P I16..4: 1.3% 3.8% 2.6% P16..4: 31.2% 7.3% 4.7% 0.2% 0.2% skip:48.8%
[libx264 @ 0x1805410]mb B I16..4: 0.0% 0.2% 0.2% B16..8: 40.0% 1.3% 2.0% direct: 0.9% skip:55.4% L0:44.1% L1:53.4% BI: 2.5%
[libx264 @ 0x1805410]final ratefactor: 27.11
[libx264 @ 0x1805410]8x8 transform intra:50.4% inter:72.3%
[libx264 @ 0x1805410]coded y,uvDC,uvAC intra:48.7% 36.2% 12.9% inter:6.7% 3.0% 0.2%
[libx264 @ 0x1805410]ref P L0 61.8% 16.3% 9.4% 5.3% 7.2%
[libx264 @ 0x1805410]ref B L0 83.4% 10.4% 4.4% 1.8%
[libx264 @ 0x1805410]ref B L1 93.3% 6.7%
[libx264 @ 0x1805410]SSIM Mean Y:0.9466668
[libx264 @ 0x1805410]kb/s:522.2
이상 없이 동작합니다.
결과는 아래와 같습니다.
-끝-
H.264 SVC 참고 사이트 입니다. (0) | 2009.07.04 |
---|---|
DM6467 Develop Board (2) | 2009.06.25 |
H.264 SVC 다운로드 커맨드 (0) | 2009.06.12 |
LVDS Owner’s Manual [3] (0) | 2009.05.16 |
LVDS Owner’s Manual [2] (0) | 2009.05.15 |
cvs -d :pserver:jvtuser:jvt.Amd.2@garcon.ient.rwth-aachen.de:/cvs/jvt login
cvs -d :pserver:jvtuser@garcon.ient.rwth-aachen.de:/cvs/jvt checkout jsvm
DM6467 Develop Board (2) | 2009.06.25 |
---|---|
FFMPEG /X264를 MAC에서 빌드 (0) | 2009.06.14 |
LVDS Owner’s Manual [3] (0) | 2009.05.16 |
LVDS Owner’s Manual [2] (0) | 2009.05.15 |
LVDS Owner’s Manual [1] (0) | 2009.05.14 |