공책

Http Live Streaming Server 구축 본문

OS/Ubuntu

Http Live Streaming Server 구축

QTHoney 2014. 9. 19. 10:53

운영체제 : Ubuntu 12.04


sudo apt-get update

# sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev \

  libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev \

  libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev

# mkdir ~/ffmpeg_sources


yasm 설치


# cd ~/ffmpeg_sources

# wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

# tar xzvf yasm-1.3.0.tar.gz

# cd yasm-1.3.0

# ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"

# make

# make install

# make distclean


x264 설치


cd ~/ffmpeg_sources

wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2

tar xjvf last_x264.tar.bz2

cd x264-snapshot*

PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-opencl

PATH="$PATH:$HOME/bin" make

make install

make distclean


fdk-aac 설치


sudo apt-get install unzip

cd ~/ffmpeg_sources

wget -O fdk-aac.zip https://github.com/mstorsjo/fdk-aac/zipball/master

unzip fdk-aac.zip

cd mstorsjo-fdk-aac*

autoreconf -fiv

./configure --prefix="$HOME/ffmpeg_build" --disable-shared

make

make install

make distclean


lame 설치


sudo apt-get install nasm

cd ~/ffmpeg_sources

wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

tar xzvf lame-3.99.5.tar.gz

cd lame-3.99.5

./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --disable-shared

make

make install

make distclean


opus 설치

cd ~/ffmpeg_sources

wget http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz

tar xzvf opus-1.1.tar.gz

# cd opus-1.1

# ./configure --prefix="$HOME/ffmpeg_build" --disable-shared

# make

# make install

# make distclean


ffmpeg

# cd ~/ffmpeg_sources

# wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2

# tar xjvf ffmpeg-snapshot.tar.bz2

# cd ffmpeg

#  PATH="$PATH:$HOME/bin" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \

   --prefix="$HOME/ffmpeg_build" \

   --extra-cflags="-I$HOME/ffmpeg_build/include" \

   --extra-ldflags="-L$HOME/ffmpeg_build/lib" \

   --bindir="$HOME/bin" \

   --enable-gpl \

   --enable-libass \

   --enable-libfdk-aac \

   --enable-libfreetype \

   --enable-libmp3lame \

   --enable-libopus \

   --enable-libtheora \

   --enable-libvorbis \

   --enable-libvpx \

   --enable-libx264 \

   --enable-nonfree \

   --enable-x11grab

# PATH="$PATH:$HOME/bin" make

# make install

# make distclean

# hash -r


segmenter 설치

# apt-get install subversion aptitude

# sudo aptitude install libavformat53 libavformat-dev libavcodec53

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

# cd segmenter

# vi segmenter.c  

아래 변수명을 우측 변수명으로 변경

CODEC_TYPE_AUDIO => AVMEDIA_TYPE_AUDIO

CODEC_TYPE_VIDEO => AVMEDIA_TYPE_VIDEO

PKT_FLAG_KEY => AV_PKT_FLAG_KEY 


242 번째 줄 수정

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

수정 후


# make

# make install


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

예) segmenter sample_100kbit.ts 10 sample sample.m3u8 http://192.168.0.10/

해서 sample.m3u8, sample-1.ts 이런식으로 파일이 나오면 성공

생성된 파일을 아파치 doc root로 복사해주면됨

# cp sample.m3u8 /var/www/

# cp sample-* /var/www/



아파치 설치
# apt-get install apache2
# vim /etc/apache2/apache2.conf

아래 내용 추가
<IfModule mime_module>
     AddType application/x-mpegurl .m3u8
     AddType video/MP2T .ts
</IfModule>

# /etc/init.d/apache2 restart













Comments