[Streaming] DASH Encoder를 통한 동영상 파일 인코딩
홈페이지(https://dash.itec.aau.at/download/)에 DASH를 사용하기 위한 여러 tool이 있는데, 그 중에서 DASH Encoder를 사용하여 동영상을 인코딩 하겠습니다.
DASH Encoder를 사용하기 위해 몇가지 작업이 필요합니다.
사용 환경 구축하기
[사전작업]
x264와 FFMpeg에서 asm을 사용하기에 asm 프로그램을 설치해 줘야 합니다. 저는 우분투 환경에서 진행하겠습니다.
CentOS or Fedora : yum install yasm
ubuntu : sudo apt-get install nasm
sudo apt-get install nasm
1. X264 컴파일
1) 설치 (기본 디렉토리에서 시작)
git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --enable-shared --enable-static --disable-avs
configure option: ./configure --help로 자세한 옵션 확인이 가능합니다. 이렇게 해서 avs를 제외하지 않으면, AVS 관련 파일에서 컴파일 에러가 나게 됩니다.
make
sudo make install
이렇게 하시면 컴파일과 설치가 완료됩니다. prefix 옵션을 안 주셨다면, 설치된 라이브러리 경로는 아래와 같습니다.
Library : /usr/local/lib
Header : /usr/local/include
2. MP4Box 컴파일
* 참고 링크: https://github.com/gpac/gpac/wiki/GPAC-Build-Guide-for-Linux
1) 빌드 툴 설치
sudo apt-get install build-essential pkg-config git
2) zlib 설치하기
sudo apt-get install zlib1g-dev
3) 설치 (기본 디렉토리에서 시작)
git clone https://github.com/gpac/gpac gpac_public
cd gpac_public
4) 빌드하기
만약 이전 버전을 새로 업그레이드 하고 싶다면 make install, make distclean을 먼저 해줍니다.
./configure --static-mp4box
make
5) 바이너리 설치하기
sudo make install
6) 사용하기
3. FFMPEG
1) 설치
sudo snap install ffmpeg
2) 버전 확인
ffmpeg -version
4. MySQL 설치 (Optional)
필요에 따라 mysql을 설치해줍니다. 저는 기존에 설치가 되어있었는데 굳이 설치 안 해도 작동합니다.
DASH Encoder 사용하기
* 참고 링크: https://github.com/slederer/DASHEncoder
1) 설치
git clone https://github.com/slederer/DASHEncoder.git
make
2) 실행 확인
example config file의 parameter를 수정합니다.
sudo vi DASHEncoder.config
DASHEncoder를 실행합니다
./DASHEncoder
* 참고
default config 파일에서 수정이 필요한 부분은 다음과 같습니다.
1) dest-directory, video input, audio input, segment-name, mpd name, url root를 환경에 맞게 수정합니다
2) sql-pw 부분이 공백인데, sql 부분 전체를 지우거나 필요한 경우 sql 계정 정보를 입력합니다
3) audio-quality가 비워져 있습니다. 주석 표시된 예시처럼 2,44100,48로 바꿔줍니다