본문 바로가기
Linux Unix

[ Linux ] HTTP LIVE STREAMING server 구축

by 정윤재 2012. 6. 6.

우분투 12.0.4 desktop 버전에서 설치 한 내역입니다.

 

1. yasm 설치

http://yasm.tortall.net/Download.html

source 를 다운 받는다.
(2012.06.04 현재 1.2.0 버전)

tar xvfz yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure
make
make install


2. x264 설치

http://www.videolan.org/developers/x264.html
x264 를 다운 로드 받음

tar -xvjf last_x264.tar.bz2

cd x264-snapshot-20120603-2245

./configure --enable-shared
make
make install


3. faad2 설치

//아래의 faad2 는 더이상 업그레이드가 안되는것 같다. 그래서  wget 으로 다운 받음
wget http://downloads.sourceforge.net/faac/faad2-2.7.tar.gz

tar xvfz faad2-2.7.tar.gz

cd faad2-2.7

./configure

make

make install


4. faac 설치

wget http://downloads.sourceforge.net/faac/faac-1.28.tar.gz

tar xvfz faac-1.28.tar.gz

cd faac-1.28

./configure


//exec: g++: not found 에러 날 경우
//c나 c++ 컴파일러가 없다는 얘기 이므로
sudo apt-get install build-essential
//gcc -v 또는 gcc -dumpversion 으로 확인 해볼것


make

//
mpeg4ip.h:126:58: error: new declaration ?
/usr/include/string.h:369:28: error: ambiguates old declaration ?
// 이런 에러 메시지가 나옴

~faac-1.28/common/mp4v2로 가서

vi mpeg4ip.h

126번째 줄로 가서

 extern "C" {
    #endif
    #ifndef _STRING_H
    char *strcasestr(const char *haystack, const char *needle);
    #endif
    #ifdef __cplusplus

앞뒤를 이렇게 바꿔줌

(구체적 내용은
http://blog.naver.com/xor74?Redirect=Log&logNo=40150529439
참조함)

다시 make 해주고 make install

 

5. libmp3lame 설치

http://sourceforge.net/projects/lame/files/3.99/
에 가서 최신판 받기

tar xvfz lame-3.99.5.tar.gz

cd lame-3.99.5

./configure

make

make install


6. libogg 설치

http://downloads.xiph.org/releases/ogg/

에 가서 최신판을 받는다.

wget http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz

tar xvfz libogg-1.3.0.tar.gz

cd libogg-1.3.0

./configure

make

make install


7. libvorbis 설치

http://downloads.xiph.org/releases/vorbis

에 가서 최신판을 다운 받는다.

wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz

tar xvfz libvorbis-1.3.3.tar.gz

cd libvorbis-1.3.3

./configure

make

make install


8. libSDL 설치

http://www.libsdl.org/release

에서 최신판을 다운 받는다.

내가 볼때는 SDL-1.2.9 버전이 최신이었으나 컴파일 실패로 apt-get 으로 설치

sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev


9. libtheora 설치

wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz

tar xvfz libtheora-1.1.1.tar.gz

cd libtheora-1.1.1

./configure

make

make install

 

10. libxvid 설치

wget http://downloads.xvid.org/downloads/xvidcore-1.2.1.tar.gz

tar xvfz xvidcore-1.2.1.tar.gz

cd xvidcore/build/generic

./configure

make

make install


11. ffmpeg 설치

먼저 svn 이 안깔려 있다면
sudo apt-get install subversion 으로 까시길...


svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

cd ffmpeg

./configure --enable-static \
--enable-shared \
--enable-gpl \
--enable-postproc \
--enable-pthreads \
--enable-libfaac \
--enable-libmp3lame \
--enable-libx264 \
--enable-nonfree \
--enable-avfilter \
--enable-avfilter \
--enable-runtime-cpudetect \
--enable-libtheora \
--enable-libvorbis \
--enable-libxvid \
--enable-nonfree \
--enable-postproc \
--enable-x11grab

 


/etc/ld.so.conf 에서

/usr/local/lib 추가

ldconfig

 

12. avi 파일을 ts 파일로 바꿔야 함

ffmpeg -i input.avi -vcodec copy -acodec copy -f mpegts output.ts

ffmpeg -y -threads 2 -i "input.avi" -ab 128k -b 2500k -r 25 -maxrate 8000k -bufsize 1000k -vcodec mpeg2video  -s 4cif -acodec  mp2  -map 0:0 -map 0:1  "output.ts"

위와 같은 방식으로 바꾸기(둘중 하나로 하면 되는데 위의 방법만 테스트 하였음)


13. segmenter 설치

svn co http://svn.assembla.com/svn/legend/segmenter/

cd segmenter

vi segmenter.c  

242 번째 줄 수정

ofmt = av_guess_format("mpegts",NULL,NULL);

수정 후

make

make install

 

14. 아파치 설정

아파치에서 설정해 줄 것이므로

아파치설치 경로로 가서

cd /usr/local/apache2.4/conf

vi httpd.conf

<IfModule mime_module> 태그 안에 아래 2줄 추가

AddType application/x-mpegurl .m3u8
AddType video/MP2T .ts


segmenter 로 ts 파일을 m3u8 로 바꿔주기

segmenter <source ts 파일명> <segment 될 시간(초)> <streaming 될 파일명> <http url 로 접속 될 파일명>

ex)
segmenter ./gundam.ts 10 gundam gundam.m3u8 http://211.63.6.184/test/

이러면 gundam-1,2,3~~~~.ts

라고 ts 파일들이 생성 될 것이다.

그러면 ts 파일과 m3u8 파일을 http쪽 실행 될 경로에 복사한다.

cp ./gundam.m3u8 /usr/local/apache2.4/htdocs/test/
cp ./gundam*.ts /usr/local/apache2.4/htdocs/test/


15. 정상적으로 streaming 되는지 확인

I-Phone 에서 http://211.63.6.184/test/gundam.m3u8

이라고 웹브라우저로 접근 시 정상 접근 되는지 확인 할 것


아이폰이 없을 경우

http://demo.anevia.com:8080/ott/vlc.php

에서 http live streaming 이 되는 player 를 다운 받을 수 있다.

나는 윈도우 용으로 설치 하고 진행하여 보았다.

play 방법은 아래와 같다.

 

 

 

 

 

 

 

 

 

 

'Linux Unix' 카테고리의 다른 글

[ Linux ] GCC 설치  (4) 2012.07.21
[ Linux ] 사용자 aging 정보  (0) 2012.06.13
[ Ubuntu ] ssh, ftp 설치  (0) 2012.06.01
[ Ubuntu ] 네트워크 설정  (0) 2012.05.06
[ Ubuntu ] 우분투 설치 (12.04 server for cloud)  (0) 2012.05.06

댓글