HLS 개발환경 구축
개발환경/ubuntu 2014. 12. 19. 13:451. ffmpeg 설치
ubuntu 14.04에서 아래와 같이 하면 빌드 안하고 간단히 설치할 수 있음.
#sudo apt-add-repository ppa:mc3man/trusty-media
#sudo apt-get update
#sudo apt-get install ffmpeg gstreamer0.10-ffmpeg
2. ffmpeg segment muxer를 이용한 HLS 파일 생성
ffmpeg -i [소스파일] [m3u8 파일]
#ffmpeg - test.ts playlist.m3u8
2.1. ffmpeg segment muxer option
hls_time seconds |
segment length, default 2 second |
hls_list_size size |
playlist 최대 갯수, default 5, 한파일에 모든 playlist 넣기위해서는 '0'을 설정 |
hls_ts_options options_list |
이해 안됨 |
hls_wrap wrap |
이해 안됨 |
start_number number |
playlist 중에 어떤 값부터 시작할 것인지 설정 |
hls_allow_cache allowcache |
쓸일 없어 보임. |
hls_base_url baseurl |
playlist 파일명 앞에 붙을 url값 |
hls_segment_filename filename |
segment 파일의 이름을 지정 |
hls_flags single_file |
segment별로 별도 파일 생성하지 않고 하나의 파일에 모두 집어 넣음. |
hls_flags delete_segments |
실제 play할 시간에 해당하지 않는 segment 파일은 삭제한다. |
2.2. option example
#ffmpeg -i test.ts -hls_time 1 playlist.m3u8 (segment 파일 길이를 1초로 하겠다. 1초는 안먹는 듯)
#ffmpeg -i test.ts -hls_list_size 0 playlist.m3u8 (옵션 사용하지 않으면 playlist에 5개 밖에 없음)
3. VLC 설치 및 Local에서 확인
#sudo apt-get install vlc
#vlc playlist.m3u8
3.1. Apache2 Server를 이용해서 Play 확인
#mv playlist*.ts playlist.m3u8 ~$HOME/public_html (public_html은 Apache 폴더)
#vlc http://localhost/~hskim/playlist.m3u8
위 http://localhost/~hskim 으로 ~hskim이 들어간 이유는 아래 reference에서 개인 폴더에서 Apache2 서비스를
수행가능하도록 작업을 하였기 때문에 가능하다.
그렇지 않으면 default 폴더는 /var/www/html 이다. 물론 여기에 넣어도 되는데 여기에 파일을 넣으면
vlc http://localhost/playlist.m3u8이 될 것이다.
4. ffmpeg build 시 필요한 resources
위의 1. ~ 3.까지 과정은 ffmpeg가 별도 필요없이 진행하고자 할 경우에 해당하고 아래는 빌드 원하면
추가적으로 필요한 내용들이다.
4.1. yasm 설치
#sudo apt-get install yasm
4.2. ffmpeg get and build
#wget http://ffmpeg.org/releases/ffmpeg-2.5.1.tar.bz2
#./configure --prefix=$HOME/ffmpeg_build
#make
#make install
git을 이용해서 받을 수 있지만 그냥 최신 release파일을 받는다.
기본적으로 unbuntu에서 필요한 library들을 설치해서 configuration이 그냥 되지만 다른 library에 대한
소스를 받고 싶으면 해당 사이트에 방문해서 받으면 됨.
5. reference
https://www.ffmpeg.org/ffmpeg-formats.html
* Ubuntu Apache 서버를 개인 HOME으로 설정하기 위해서 필요한 정보가 아래 Link에 존재
http://s2junn.tistory.com/56
'개발환경 > ubuntu' 카테고리의 다른 글
ubuntu 14.04 (0) | 2014.12.16 |
---|---|
ubuntu 12.04 NFS 설정 (0) | 2013.06.09 |
ubuntu 12.04 TFTP 설정 (0) | 2013.06.09 |
ubuntu 12.04 후 추가 작업 (0) | 2013.06.03 |
ssh install (0) | 2013.06.03 |