Skip to content

HTTP Live Streaming 구축

조회 수 33198 추천 수 0 2012.02.07 16:34:21

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  실행 하면 동영상이 나올 것입니다.

profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/76996/176/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
107 리눅스 로그파일 관리 [로그파일 삭제하는 방법] ADMINPLAY 2009-07-31 23580
106 kernel: nf_conntrack: table full, dropping packet. ADMINPLAY 2009-11-26 23625
105 리눅스에서 실수로 삭제한 파일을 복구 ADMIN 2008-12-10 23636
104 [Linux]RedHat Enterprise Linux 5 계열 VNC Server 설정 ADMINPLAY 2009-09-25 23752
103 DRBD(Distributed Replicated Block Device) 에 대해서 ADMINPLAY 2012-01-16 23794
102 [Linux] too many files 에러가 날때 ADMINPLAY 2009-09-20 23867
101 time.bora.net 시간 동기화후 dovecot 데몬이 죽는 현상 해결 ADMINPLAY 2009-04-27 23932
100 젠투리눅스에서 잃어버린 암호를 다시 설정하기 ADMINPLAY 2010-04-15 23942
99 리눅스 공유 메모리의 설정 (세마포어) ADMINPLAY 2010-04-28 23990
98 VI 에디터 유니코드(UTF-8)로 인코딩 전환 ADMINPLAY 2010-04-02 24008
97 리눅스에서 특정 파일을 제외하고 삭제하기 ADMIN 2008-11-03 24011
96 MRTG 소스 설치 ADMINPLAY 2010-05-11 24056
95 하드웨어정보 확인(lshw) file ADMINPLAY 2008-11-03 24078
94 kernel panic 발생 시 자동으로 리부팅 설정 ADMIN 2008-12-10 24127
93 로드밸런싱의 ‘꽃’, L4/L7 스위치 관심 집중 ADMINPLAY 2009-11-30 24181
92 [Flash] 크로스 도메인 설정 방법 ADMINPLAY 2010-08-31 24268
91 lighttpd와 Apache의 성능 차이 file [2] l2zeo 2012-03-08 24282
90 대용량 하드 디스크 파티셔닝 (GPT 파티션) ADMINPLAY 2009-06-04 24390
89 커널 컴파일 장애 처리 perl: warning: Please check that... ADMINPLAY 2009-08-08 24423
88 리눅스 Proxy Server[Squid] 설정법[RedHatLinux8.0] ADMINPLAY 2009-11-26 24441

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234