업그레이트 (UpGreate)

- 威武不屈


  • Home

  • Categories

  • About

  • Archives

  • Tags

  • Search

스트리밍(Streaming)

Posted on 2020-09-07 | In DEFINITION

스트리밍의 종류

  • HLS(Http Live Streaming)

  • Progressive Download
  • Pseudo Streaming
  • RTSP, RTMP
  • Adaptive Streaming
  • Http Dynamic Streaming

스트리밍이란?

스트리밍이란 인너넷(네트워크)을 바탕으로 사용자들에게 각종 비디오, 오디오 등의 멀티미디어 디지털 정보를 제공하는 기술로 인터넷에서 영상 및 음향 등의 파일을 하드디스크 드라이브에 다운로드 받아 재생하던 것을 다운로드 없이 실시간으로 재생해 주는 기법이다.

전송되는 데이터가 물 흐르듯 처리된다고 해서 “스트리밍(Streaming)”이라 표현하고, 파일이 모두 전송되지 않아도 브라우저 또는 플러그인이 데이터를 표현하기 시작한다. 재생 시간이 단축되며 클라이언트 하드디스크 드라이브의 용량에도 영향을 받지 않는다.

라이브 스트리밍 프로토콜 종류

기존 프로토콜

  • RTSP(Real-Time Streaming Protocol)
  • RTMP(Real-Time Messaging Protocol)

HTTP-Based Adaptive Protocols

  • Apple HLS(HTTP Live Streaming)
  • Low-Latency HLS
  • MPEG-DASH (Moving Picture Expert Group Dynamic Adaptive Streaming over HTTP)
  • Low-Latency CMAF for DASH (Common Media Application Format for DASH)
  • Microsoft Smooth Streaming
  • Adobe HDS(HTTP Dynamic Streaming)

New Technologies

  • SRT(Secure Reliable Transport)
  • WebRTC(Web Real-Time Communications)

기본적으로 라이브 스트리밍 프로토콜을 사용하는 스트리밍 서버는 영상 데이터 전송뿐만 아니라, 동영상에 대한 정보 분석이나 전송 규격에 맞도록 동영상 파일을 읽어서 변형하는 기능도 갖춰야 한다. RTSP/RTP 의 경우 서로 다른 네트워크 연결로 데이터 교환이 발생하기 때문에 NAT, 방화벽 등의 환경에서 서비스가 원활하지 않다.

반면 HTTP 전송 채널로 사용하는 경우 웹 서비스를 위한 캐시 구조와 기존의 CDN(Content Delivery Network)를 이용할 수 있다.

Read more »

HLS(Http Live Streaming)

Posted on 2020-09-07 | In DEFINITION

스트리밍의 종류

  • HLS(Http Live Streaming)

  • Progressive Download
  • Pseudo Streaming
  • RTSP, RTMP
  • Adaptive Streaming
  • Http Dynamic Streaming

HLS(Http Live Streaming) 이란?

Apple(iPhone, iPad 등) 에서 사용하는 표준 HTTP 기반 스트리밍 프로토콜이다. 프로토콜에서 스트리밍 데이터를 m3u8 의 확장자를 가진 재생목록 파일과 잘게 쪼개놓은 다수의 ts 파일들(동영상)을 HTTP 를 통해 전송하는 방식을 사용한다.

– m3u8 : m3u 파일인데, UTF-8 로 인코딩 되어 있다는 의미.

– m3u : 멀티미디어 파일의 재생목록을 관리하는 파일

– ts : MPEG-2 의 Transport Stream 포맷

HLS는 iPhone과 iPad의 사용자 수가 늘어남으로써 자연스럽게 그 수요가 늘어나게 되었다. 또한, 규격 자체의 단순함과 IETF(Internet Engineering Task Force)를 통한 표준화 작업 등을 통해 다른 업체들도 쉽게 HLS를 지원할 수 있게 했다. 그 결과로, Adobe는 Flash Media Server 4.0에서, Microsoft는 IIS Media Server 4.0에서 HLS를 정식으로 지원하며, 모바일 운영체제에서 상대 진영이라 할 수 있는 Google의 Android에서도 3.0 버전인 Honeycomb부터 HLS를 지원하기 시작했다.

HLS 전송 방식

HLS에서 서버는 HTTP 를 통해 클라이언트로부터 요청을 받고, 데이터에 대한 응답을 주는 역할만 수행하기 때문에, 저장되어 있는 파일을 읽어서 HTTP 응답에 데이터를 실어서 보낼 수 있는 어떤 웹 서버든지 사용이 가능하다. 스트림 세그먼터 (Stream Segmenter) 는 일정한 시간 간격마다 입력 받은 미디어 데이터를 분할해 파일로 만들고, 그 분할한 파일에 접근할 수 있는 메타데이터(m3u8) 를 생성하는 역할을 한다. HTTP 는 양방향 방식이 아니기 때문에, 클라이언트에서 반드시 서버에 요청을 해야만 응답을 받을 수 있다.

Apple Inc, HTTP Live Streaming Overview

* Apple Inc, HTTP Live Streaming Overview (출처 http://developer.apple.com/library/ios/)

HLS 에서는 ABS(Adaptive Bitrate Streaming) 를 위해 동시에 여러 비트율의 ts 파일에 대한 정보를 제공한다. ABS 을 지원하기 위한 m3u8 파일과 ts 파일 구조는 아래 그림과 같다. 전체를 대표하는 m3u8 파일이 있고, 대표 파일 내 각각의 비트율별 플레이 리스트 파일을 가리키게 한다. 각 비트율별 플레이 리스트 파일은 다시 각 비트율에 해당하는 ts 파일을 가리킨다. HLS는 확장성이 높고 안정적이기는 하나, 이러한 구조상 파일을 먼저 만들고 스트리밍하는 방식이기 때문에 RTMP/RTSP 방식에 비해 딜레이 문제가 발생할 수 있다.

ABS를 위한 m3u8 파일과 ts 의 연결구조

* ABS를 위한 m3u8 파일과 ts 의 연결구조

(출처 http://helloworld.naver.com/helloworld/7122 )

HLS는 기존의 스트리밍 프로토콜이 지닌 단점을 극복하고 스트리밍 서비스를 위한 인프라를 단순화시키려는 의도에서 나온 규격이라고 할 수 있다. 고화질 서비스를 지원하고, 네트워크 상황에 따라 원하는 비트레이트의 콘텐츠를 선택할 수 있는 기능을 제공한다. Android 3.0 기기부터는 공식적으로 HLS를 지원하여 iOS 기기 및 Android 기기에 모두 동일한 방식의 라이브 스트리밍 서비스를 할수 있게 되었다. HLS 이외에도 HTTP 를 이용한 Adaptive Bitrate Streaming을 지원하는 스트리밍 규격이 있다. Adobe의 HTTP Dynamic Streaming과 Microsoft의 Smooth Streaming도 HTTP를 이용한 스트리밍 규격이다.

ABS (Adaptive Bitrate Streaming)

– 사용자의 네트워크 속도에 따라 적합한 콘텐츠를 선택하여 재생

– 사용자 별 서비스 품질 다변화

– 대역폭 변동에 대한 품질개선 및 안정성 확보

– Apple : HTTP Live Streaming (HLS)

– Adobe : HTTP Dynamic Streaming (HDS)

– Microsoft : HTTP Smooth Streaming (HSS)

————————————————————————————————————————

* 출처

https://blog.kollus.com/?p=131

http://en.wikipedia.org/wiki/Adaptive_bitrate_streaming http://helloworld.naver.com/helloworld/7122 http://www.adobe.com/kr/products/hds-dynamic-streaming.html http://www.thekuroko.com/what-is-http-dynamic-streaming/ http://www.jwplayer.com/blog/what-is-video-streaming/ http://blog.edgecast.com/post/55198896476/hds-hls-hss-adaptive-http-streaming-demystified http://unipro.tistory.com/121 http://blog.naver.com/makerslee?Redirect=Log&logNo=30148808093 http://blog.naver.com/pyoyr?Redirect=Log&logNo=50037791019

Read more »

기능점수 산정(Function Point) - 예시 - Web

Posted on 2020-09-02 | In RULE

KOSA_한국소프트웨어산업협회, http://www.sw.or.kr

  • “국제표준기반 기능점수 산정 안내서”

Web기반 시스템 기능점수 산정 사례

개발 내용

  • 목표 : 사내 및 사외 프로젝트 품질 감사업무 전산화

  • 시스템 구성 : 웹기반 구현

  • 주 사용자 : 사내 품질팀원

  • 시스템 내용 :

    매년 담당하는 프로젝트별 공정단계별 품질보증계획수립, 품질감사 진행, 품질감사결과 지적사항에 대한 개선결과 등 프로젝트 품질 감사업무를 통합 관리하는 시스템이다.

목표 시스템 개념도

  • 프로젝트 감사관리 시스템을 하나의 경계로 식별하고, 감사관리 시스템 외부에 존재하는 사람 또는 기 개발되어 사용 중인 인사 애플리케이션은 별도의 애플리케이션으로 식별하였다.

사용자 요구사항

  1. 수행하는 모든 SW개발 프로젝트에 대하여 감사활동단계별로 매년 초 연간 감사계획을 등록 및 관리하는 기능을 필요로 한다.

    • 연간 감사계획정보 C,R,U,D

    • 연간 감사계획정보는 매일 밤 12시에 프로젝트 관리 시스템으로 확정된 연간 감사계획 정보를 전송한다.

  2. 인사시스템의 부서정보와 직원정보는 프로젝트 품질감사 시스템에서 참조된다.

    • 부서정보

    • 직원정보

  3. 프로젝트 감사대상 계획정보는 관리되어야 한다.

    • 연간 감사계획정보

    • 연간 감사상세정보

데이터 현황

  • 부서코드 : 인사시스템에서 유지관리되며 산정대상인 프로젝트 품질감사 시스템에서는 참조용으로만 사용됨
  • 직원정보 : 인사시스템에서 유지관리되며 산정대상인 프로젝트 품질감사 시스템에서는 참조용으로만 사용됨
  • 프로젝트 코드 : 프로젝트 품질감사 시스템에서 유지관리 됨
  • 감사활동단계 코드 : 프로젝트 품질감사 시스템에서 유지관리 됨
  • 연간감사계획 : 프로젝트 품질감사 시스템에서 유지관리 됨
  • 연간감사상세계획 : 프로젝트 품질감사 시스템에서 유지관리 됨

데이터 기능 산정

내부논리파일
외부연계파일
데이터 기능 복잡도 및 기능점수 산정
외부 입력
외부 출력
외부 조회
트랜잭션 기능 복잡도 및 기능점수 산정
Read more »

기능점수 산정(Function Point) - 간이법

Posted on 2020-09-01 | In RULE

KOSA_한국소프트웨어산업협회, http://www.sw.or.kr (한국소프트웨어산업협회_기능점수교육)

  • “SW사업 대가산정 가이드”
  • “국제표준기반 기능점수 산정 안내서”

행정자치부, http://www.moi.go.kr

행정자치부_빅데이터, http://bigdata.go.kr

NIA_한국정보화진흥원, http://www.nia.or.kr

  • “공공 빅데이터 분석 사업비 대가산정 가이드”

정보통신산업진흥원, “SW공학백서”

핵심 정리

  1. “사용자가 어떤 기능을 요구했는지” 고객의 관점에서 측정한다.

  2. 연계해야 하는 시스템을 파악한다.

    (여기서 시스템은 물리적, 논리적 상관 없이 수요자 요구에 따라 구분한다.)

    ex)

    • 사용자 DB

    • 상품 DB

    • 웹

  3. 연계 시스템의 데이터 기능과 트랜잭션 기능을 식별한다.

    • 데이터 기능 (참조만)
    • 트랜잭션 기능 (C,R,U,D)

ex)

  • EI (외부입력) - 데이터 C,U,D
  • EQ (외부조회) - 데이터 Read
  • EO (외부출력) - 사용자에게 정보를 제시(보여주는)
  • ILF (내부논리파일) - 내부 데이터로 수정 관리를 하는 데이터
  • EIF (외부연계파일) - 외부의 데이터를 가져와서 참조만 하는 것
용어 적합 해설
데이터적재 EI 데이터적재는 EI로 산정하는 것이 타당하다.
발송 EQ 단순 발송은 EQ로 산정하는 것이 타당하다. (단순 발송이 아니라면 EO가 적합하다.)
그래프 EO 그래프는 일반적으로 EO로 산정하는 것이 타당하다.
다운로드 EQ 다운로드는 EQ로 산정하는 것이 타당하다.
로그인 EQ 암호검증 후 로그인은 EQ로 산정하는 것이 타당하다.
사용자인증 EQ 사용자 인증은 EQ로 산정하는 것이 타당하다.
통계 EO 통계기능은 EO로 산정하는 것이 타당하다.
전송 EQ, EO 전송기능은 EQ 또는 EO로 산정하는 것이 타당하다.
코드 삭제 코드데이터는 기능에서 제외하는 것이 타당하다.
임시 삭제 임시파일은 기능에서 제외하는 것이 타당하다.
이력 삭제 이력정보는 기능에서 제외하는 것이 타당하다.
첨부 삭제 첨부는 단위프로세스를 완료하지 못하므로 제외하는 것이 타당하다.
엑셀저장 삭제 엑셀로 저장하는 단순기능은 산정 제외
서식다운 삭제 관련 서식다운로드 기능은 산정 제외
로그 삭제 로그 데이터는 산정에서 일반적으로 제외 (단, 서비스에 직접적으로 연관되어 있다면 포함한다.)
상세 삭제 단독으로 단위 프로세스를 완료하지 못하기 때문에 제외한다.
변환 삭제 단순 파일의 형태변환 (HWP -> PDF)은 산정에서 제외한다.
설정 EI 설정은 ILF를 변경시키므로 EI로 산정하는 것이 타당하다.
업로드 EI 파일 업로드 기능은 EI로 산정하는 것이 타당하다.

※ 혼동될 때는 사용자가 웹으로 접했을때 버튼 하나의 기능과 같이 최종적으로 제공하는 기능만 기능으로 산정한다고 생각하면 된다.

Read more »

python_튜플

Posted on 2019-08-30 | In LANGUAGE

튜플이란?

  • ’(‘ 과 ‘)’ 으로 둘러싼다.

  • 리스트와 비슷, 속도는 리스트보다 빠르다.

    ※ 리스트와 다르게 한번 생성하면 그 값을 바꿀 수 없다.

  • 여러값을 출력, 리턴 할때, 함수의 인수로 많이 사용한다.

선언법

1
a=(1,2,3)

※ list(), set(), tuple() 을 이용해 언제든지 서로 변환 될 수 있다!

Read more »
1 … 13 14 15 … 32
Sik

Sik

156 posts
7 categories
30 tags
RSS
© 2021 Sik
Powered by Jekyll
Theme - NexT.Muse