클라우드/IDC 운영자를 위한 서버 및 도커 컨테이너 모니터링 솔루션 (old version)
인코딩 및 스트리밍 처리 구성도
1. Encoding / Streaming Service
2011.03.18 – Ver. 1.5
웹 서비스 및 모바일 서비스
동영상 처리 구성도
[Encoding / Streaming]
2011.03
.
.
.
IT사업팀 개발1팀
2. Encoding / Streaming Service
2011.03.18 – Ver. 1.5
목 차
1. Encoding / Streaming Server 구조도
2. Encoding Server 구조도
3. Streaming Server 구조도
4. Output Service 구조도
5. 추가 진행 예정 안
3. Encoding / Streaming Service
2011.03.18 – Ver. 1.5
1. Encoding / Streaming Server 구조도
서버 URL 범례
※ WEB 예제 코드 ※ Return XML
en-svr(encoding server) : ***.***.***.***
<form method="post" action=“[en-svr]" enctype="multipart/form-data">
<?xml version="1.0" encoding="UTF-8"?> st-svr(streaming server) : ***.***.***.***
<result>
<input type="file" name="fileMov" id="fileMov”> <code>200</code>
<input type="submit" value="submit"> <filename>[파일명]</filename>
</form> <filesize>[파일 사이즈]</filesize>
</result>
code 범례 : 성공 200, 실패 400
Thumbnail
http://[en-svr]/content/thumb/[파일명].jpg
Action URL : http://[en-svr]/tmp/uploadAction.php
영상의 시작 후 3초의 이미지 캡쳐
320x240 해상도의 썸네일 생성
Input
[WEB]
1 2 3 영상 Output 정보
파일 변수 명 : fileMov Encoding Streaming Output
POST방식 전송 300kbps / 480x320 / mp4
[en-svr] [st-svr] [h264/mp4]
nfs
[mount]
MOV MOV
WEB User iPhone User
Input
[Mobile] MOV http://[st-svr]:1935/vod/_definst_
Android User /mp4:mobile/[파일명]
/playlist.m3u8
파일 변수 명 : fileMov rtmp://[st-svr]/vod/mobile/[파일명]
POST방식 전송 HTML5 Video Tag로 플레이 테스트
Flash Player로 플레이 진행
rtsp://[st-svr]/vod/_definst_/mobile/mp4:[파일명]
HTML5 Video Tag로 플레이 테스트
※ [파일명] 은 업로드한 파일의 확장자를 포함한 명칭에 “.mp4” 를 추가하시면 됩니다.( Ex. test.wmv 인 경우 test.wmv.mp4 )
※ 인코딩 서버로의 파일 전송은 HTTP프로토콜의 POST방식으로 업로드 되며, 1기가 미만의 파일만 전송이 가능합니다.
※ 업로드 파일은 파일명 예외처리가 되어있지 않기 때문에, 영문소문자로 공백 없는 파일을 업로드 해 주시기 바랍니다.
※ Action URL의 Return의 실패는 표기되지 않습니다. – 업로드와 동시에 인코딩에 대한 성공/실패 모듈은 없습니다.
5. Encoding / Streaming Service
2011.03.18 – Ver. 1.5
3. Streaming Server 구조도
Wowza Server Info.
1. Install Info
Path : /usr/local/WowzaMediaServer
2. Config Info
1 2 Path : /usr/local/WowzaMediaServer/conf/Application.xml
Encoding Streaming
[en-svr] [st-svr] 3. Server license
Path : /usr/local/WowzaMediaServer/conf/Server.license
*****-*****-*****-*****-***** //develop license
en-svr : /mnt/nfs ↔ st_svr : /usr/local/WowzaMediaServer/content
4. Version
WowzaMediaServer-2.2.3
추가 설치/점검 사항
HD급 Streaming Mobile급
영상 Service 영상
Directory 1. NFS설정
인코딩 서버 및 스트리밍 서버 마운트 연결
현재 인코딩 시 HD급과 SD급은 추가적으로 2. 방화벽 설정 해제 – NFS포트 고정 및 설정
처리하지 않으며, Mobile급의 h.264기반의
리눅스 구축관리 실무 참조
MP4 파일로만 진행 중
SD급
영상 3. 서비스 포트 오픈
서비스 포트 내용
TCP 1935 RTMP(all variants), RTSP, Smooth and Cupertino Streaming
UDP 6970-9999 RTP UDP Streaming
TCP 8084-8085 JMX/Jconsole Monitoring and Administration
TCP 8086 HTTP Administration
TCP 80 RTMPT, Smooth Streaming, Cupertino Streaming
TCP 443 RTMPS
TCP 554 RTSP
※ st-svr 의 Storage를 en-svr 에서 마운트 하여 사용. 즉, 실제 컨텐츠 데이터는 st-svr에 존재하게 됨.
※ en-svr의 인코딩 시 CPU 사용량이 증가하며, st-svr의 서비스 진행 시 IO사용량 증가
6. Encoding / Streaming Service
2011.03.18 – Ver. 1.5
4. Output Service 구조도
※ JWPlayer 적용 script 예시
<script type='text/javascript'>
var so = new SWFObject('/s_video/player.swf','mpl','360','240','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addParam('wmode','opaque');
so.addVariable('file',„[영상URL]');
so.addVariable('backcolor','000000');
so.addVariable('frontcolor','CCCCCC');
so.addVariable('lightcolor','CCCCCC');
JWPlayer 를 통한 RTMP 서비스(IE인경우 HTML5 지원이 미흡) so.addVariable('screencolor','000000');
ffmpeg로 썸네일 추출 후 en-svr 을 통한 http서비스 so.addVariable('image',„[썸네일 URL]');
so.addVariable('streamer',„[영상Stream URL]');
so.write('mediaspace<?=$i?>');
</script>
Thumbnail
MOV
WEB User
Service
JWPlayer
1 Service
Encoding MOV
[en-svr] iPhone User
Thumbnail
Directory
2 3
Streaming Output
[st-svr] [h264/mp4]
HTML5
Service
MOV
HTML5 비디오 테그로 서비스 Android User
Streaming
Service
Directory
※ HTML5 비디오 테그
<video src=“[비디오주소]" width="360" height="240" controls="true"/></video>
※ 동일한 인코딩 환경에서 안드로이드 기반 영상서비스에서 격자가 발생하는 현상 검증 필요
7. Encoding / Streaming Service
2011.03.18 – Ver. 1.5
5. 추가 진행 예정 안
최적화된 인코딩 (ffmpeg) 방식(Option) 검증 – HD급, SD급 등
Android 기반 플레이 시 영상 품질 향상
Streaming 서버(WowzaMedia) 설정 최적화
Upload 및 Streaming 현황에 대한 Progress 처리
Thumbnail 및 Caption 최적화
서버 사양 검증 – 스트레스 테스트