HTTP Live Streaming은 Apple에서 만든 Streaming Protocol입니다.
아래 글은 FFMPEG을 사용해서 TS파일을 HTTP Live Streaming을 할 수있는 형식으로 만드는 방법과 Streaming을 하기위한 방법에 대한 글입니다.
1. Open Source Segmenter 컴파일
- Segmenter 는 TS파일을 HTTP Live Streaming에 맞게 파일을 자동으로 만들어주는 프로그램
입니다.
- Segmenter를 컴파일 하기 위해서는 FFMPEG 라이버리가 필요합니다.
* FFMPEG을 다운로드 후 공유 라이버리가 생성 되로록 옵션을 설정 후 컴파일 합니다.
컴파일 방법 : http://blog.naver.com/shlee7708?Redirect=Log&logNo=120120223039
* 첨부 파일(Open Source Segmenter) 다운로드 해서 make 하시면 됩니다.
전제 조건이 FFMPEG 관련 라이버리들이 정상적으로 설치되 있어야 함
* 컴파일 끝나면 segmenter 실행 파일이 생성 됩니다.
./segmenter <input MPEG-TS file> <segment duration in seconds> <output MPEG-TS
file prefix> <output m3u8 index file> <http prefix>
예] input MPEG-TS file: h264_chan_0.ts // source file name
segment duration in seconds: 10초 // 파일 segment될 시간 간격 , 초단위
output MPEG-TS file prefix : sample_low // streaming 될 파일명
output m3u8 index file: stream_low.m3u8 // http url로 접속 할 파일 명
http prefix : http://172.16.12.6/livehttp // http url 주소
2. 설치
위 예 기준으로 할 경우 아래와 같이 입력 합니다.
./segmenter ~/h264_chan_0.ts 10 sample_low stream_low.m3u8 http://172.16.12.6/livehttp/
실행 하면 현재 디렉토리에 sample_low-xx.ts 여러개의 파일과 stream_low.m3u8이라는 파일이 생성 됩니다. 그러면 생성된 파일들을 "http prefix" 인자로 넘겨준 위치에 전부 복사 합니다.
웹서버가 아파치인 경우 /etc/httpd/conf/httpd.conf 파일에 mine 파입 추가
AddType application/x-mpegURL .m3u8
AddType video/MP2T .ts
3. 실행
I-Phone 웹브라우져에서 http://172.16.12.6/livehttp/stream_low.m3u8 실행 하면 동영상이 나올 것입니다.
[출처] HTTP Live Streaming 구축|작성자 백두산