H.264 스트리밍 서버 구글링 하다 확인하였다.
http://h264.code-shop.com/trac
여긴 스트리밍 데모 페이지 플래쉬 플레이어로 플레이가 되는.
http://h264.code-shop.com:8080/testlist.html
사이트에 보면 H.264 지원하는 가져다 쓸수 있는( 소스는 오픈 안된 ) 플래쉬 플레이어 리스트도 정리가 되어있다.
http://h264.code-shop.com/trac/wiki#FlashplayerssupportingH264Streaming
디자인 때문에 당연 그냥은 못쓰겠다. 그냥 스트리밍 되는 것만 눈으로 확인.
고화질 플래쉬 플레이어 액션 스크립트 소스 링크다.
http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player.html
위 소스 찾고서 진짜 몸의 전율을 느꼈었는데 ㅡㅜ ( 만들 실력은 못되고 쿨럭;; )
위 소스를 참고로 플레이어를 만들어 둔 녀석이 있는데. 오픈할지는 고려중이다.
위 소스를 참고로 플래쉬 고화질플레이어를 만들어 보면 되겠다.
FFMPEG 를 통해 H.264 포맷으로 인코딩 하는 방법도 정리가 되어 있다.
http://h264.code-shop.com/trac/wiki/Encoding
FFMPEG 설치 방법은 http://meong.tistory.com/66 에서 성공 설치기가 있다.
( 다만 FLV 인코딩을 위한 FFMPEG 설치문서 였기에 H.264 코덱은 인코딩 될지는 잘 모르겠다. 추후 다시 한번 삽질(?) 해서 정리해 포스팅 하도록 할 예정이다. )
이제 설치시작.!
http://h264.code-shop.com/trac/wiki#AvailableVersions
지원하는 웹서버 리스트들이다. 골라서 설치들 하면 되겠다.
아파치만 확인해 보겠다.
http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Apache-Version2#BuildConfigurationCentOS5.2
CentOs 버전 설치방법이다.
다행이 테스트 서버가 YUM 으로 설치된 APM 이었다.
엥? 머지. 따라했더니 에러 없이 그냥 됬다. 한번에 되니깐 이상했다. ㅡㅡ;
YUM 이 진정 대세란 말인가.
설치가 완료 되었으니 테스트 해보자. 테스트 하러 하단 링크로 GO!
mp4 파일도 제공해 준다. wget 으로 받는다.
이제 스트리밍 모듈이 설치된 아파치 웹서버의 웹 디렉토리에 해당 test.mp4 파일을 적당한 위치에 놓고 H.264 지원하는 플래쉬 플레이어로 스트리밍 테스트를 해보자.
H.264 파일 URL : http://stream.fwangmeong.com/resource/test.mp4
파일 플레이어 URL : http://stream.fwangmeong.com/player/play.html
http://stream.fwangmeong.com/player/play.html
플레이 잘 된다.
mp4 파일을 직접 브라우저로 접근해 보자.
ie8 에서 직접 http 로 접근한 결과 다운로드 되버린다!!
타 브라우저에서 테스트 해보자.
크롬: 바로 플레이 된다.
그러나 여기서 반전이;
우클릭 퀵메뉴에 동영상 저장이 있다.
누르면 mp4 파일다운로드가 된다 .
파폭: 플레이 안된다. ( 파폭은 퀵타임 플레이어로 왜 플레이 하는지 아시는분 ㅡㅡ?? )
사파리: 플레이안된다. ( 파폭과 같이 퀵타임 로고만 뜬다.)
이외는 안깔려 있어서 패스
이게 무슨 스트리밍 인가 ㅡㅡ;
자고로 스트리밍이란 , 두가지 요소에서 다운로드 방식과 차이점을 가져야 한다.
첫째로 , 동영상의 중간부터 플레이가 가능해야 한다.
둘째로, 파일을 말그대로 흘려 보내 서비스를 하여 흘려 보내져야 한다. 파일을 다운로드하여 컨텐츠의 유포를 막을수 있어야 한다.
mp4 파일이 있는 resource 폴더를 권한을 701로 막아보자.
다시 브라우저 테스트
IE8 : 깨진 문자로 텍스트가 뿌려진다.
크롬 : 위와 같다.
파폭 : 위와 같다.
사파리 : 위와 같다.
mp4 스트리밍 플레시 플레이어 : 플레이 된다.
chmod 700 으로 막아보자.
IE8 : Forbidden
크롬 : Forbidden
파폭 : Forbidden
사파리 : Forbidden
mp4 스트리밍 플레시 플레이어 : 플레이 안된다.
웹서버 상에서 mp4 파일이 다운로드 안되도록 하는 방안으로 알아 봐야 겠다.( 아시는분 리플 부탁해요.)
몇분간 생각 끝에,
flash player 자체소스를 보면 http 로 가져 오기 때문에 ,
브라우저에서 다이렉트로 접근은 안되게 하면서 flah player 에서 http로 mp4 파일을 가지고 와서 스트리밍을 하도록 구현 할수는 없겠다.
자. 결론이다.
삽질했다.
실 스트리밍 서비스로 사용하기엔 무리가 있는 모듈이다.
완벽보안 스트리밍 서비스를 할수 있는 방안이 있다고 센스있게 생각 되시는 분은 리플 부탁합니다.
rtmp 프로토콜을 이용 해야 하겠다.
여기 부턴 여담이다.
이전 고화질 사이트 제작시 rtmp 프로토콜을 이용한 다윈 스트리밍 서버를 통해 고화질 플레이어를 탑재한 사이트 제작한 기억이 있다.
의외로 APPLE 에서 오픈한 스트리밍 서버였다.
클로즈 , 팩키지 의 대명사인 APPLE 에서 스트리밍 서버를 오픈했다니.
http://developer.apple.com/opensource/server/streaming/index.html
꽤 몇년전의 일이다.
요즘 애플의 HTML5 에 오픈 소스 코덱의 ogg가 아닌 H.264를 미는 행적이 예전부터 준비된 APPLE 의 정책이었던 것이다.
http://www.mpegla.com/main/programs/AVC/Pages/Licensors.aspx
H.264 라이센스 회원사 리스트 같다.
Apple 과 Microsoft 가 보인다.
엥? DAEWOO Electronics Corporation
대우가 저기 왜 있지?
http://www.appleforum.com/mac-column/57512-ogg-theora%EC%99%80-h-264-%EA%B7%B8%EB%A6%AC%EA%B3%A0-html-5-a.html
OGG 코덱과 H.264 코덱의 배경내용을 잘 정리한 포스팅이다.
여튼 HTML5 에 올라갈 기본 코덱으론. H.264 가 거진 확실시 되는 상황이다.
라이센스가 있는 H.264 이지만 2016 년 까지 웹상의 스트리밍되는 H.264 결과물에 대한 라이센스를 무료로 풀었다고 하기에 우선은 H.264 로 발생한 고화질 컨텐츠의 라이센스 비용은 신경 안써도 되겠지만 , 그건 분명 일시적인 것이리라.
나중에 세상에 풀어헤쳐진 많은 H.264코덱의 컨텐츠들이 주머니에서 내야할 돈으로 돌아오게 될 것은 좀 고려를 해야 할 것이다.