일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 온디바이스AI
- 개발남노씨
- 쉬운 코드
- concurrency control
- 운영체제와 정보기술의 원리
- 백엔드
- 김영한
- 반효경
- 코딩애플
- B tree 데이터삽입
- 프로세스 주소 공간
- 네트워크
- 커널 동기화
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 운영체제
- 쉬운코드
- 시스템프로그래밍
- 시그널 핸들러
- 데이터베이스
- 인터럽트
- 코딩테스트 [ ALL IN ONE ]
- CPU 스케줄링
- recoverability
- Git
- vite
- 트랜잭션
- SQL
- SDK
- 갤럭시 S24
- Extendable hashing
- Today
- Total
티끌모아 태산
커넥티드 플랫폼 이론과 실제(2) 본문
webOS TV Media Framework의 이해
Multimedia란? 여러 형식의 정보 콘텐츠와 정보 처리를 사용하여 사용자에게 정보를 제공하고 즐거움을 주는 미디어
미디어 영상은 어떻게 만들어지는가?
Live Event -> Camera -> Encoder -> (Save to Disk) -> Streaming Platform -> PC or TV
Media encoding이란 오디오, 비디오, 이미지, 텍스트와 같은 디지털 미디어 콘텐츠를 저장, 전송, 페이백과 같은 표준화된 형식으로 전환하는 과정을 말한다. 미디어 인코딩은 디지털 미디어 생산에서 중요한 단계이다. 왜냐하면 인코딩은 최종 산출물의 호환성, 품질, 사이즈를 결정하기 때문이다.
(Encoding is the process of converting a raw video file(codec) into a compatible, compressed and efficient digital format).
a video codec은 디지털 비디오를 인코드와 디코드하는 소프트웨어 또는 하드웨어다. 다시말해 코덱은 압축과 해독을 수행하는 알고리즘의 조합이며, 미디어 데이터를 효율적으로 압축하고 다시 해독하는 역할을 담당합니다. 예를 들어, MPEG-2 코덱은 DVD 비디오의 디코딩에 사용되며, MP3 코덱은 음악 파일의 디코딩에 사용됩니다.
Compression Techniques
- Chroma subsampling: 공간을 저장(확보)하기위해 컬러 정보를 버리는 비디오 압축 기법이다. (video compression that discards some color information to save space)
- Image resizing and Altering frame rates: 크기 조정 혹은 해상도 조절(resizing, or reducing the resolution)
- Interframe and video frames: 데이터 저장 및 전송을 최적화하기 위해 프레임 간 중복 정보를 줄이고, 중복 데이터를 제거합니다.( reduce redundant information between frames to optimize data storage and transmission. and removes duplicate data )
미디어 영상은 어떻게 재생하는가?
Media decoding이란 인코딩과 반대로 binary file들을 raw meida signals로 되돌리는 과정이다.디코딩은 주로 압축된 미디어 데이터를 해독하여 사람이나 기계가 이해할 수 있는 형태로 변환하는 작업을 수행. 미디어 디코딩은 다양한 형식의 미디어 파일을 해석하는 것을 포함합니다. 예를 들어, 비디오 파일을 디코딩하면 압축된 비디오 데이터를 해독하여 원래의 비디오 프레임을 생성합니다. 오디오 파일의 경우에도 디코딩 작업을 통해 압축된 오디오 데이터를 복원하여 소리를 재생할 수 있도록 합니다.
webOS TV Media Framework
- uMediaServer: 미디어 프레임워크의 서버 역할을 하며, 앱이 미디어 콘텐츠(비디오/오디오)를 재생할 수 있도록 인터페이스를 제공하며 미디어 플레이어의 생명 주기를 관리한다. 미디어 파이프라인의 오류 감지 및 격리 제공.
- startfish-media-pipieline: uMediaServer or Native app으로부터 미디어 재생과 관련된 명령과 정보를 받아서 내부 Gstreamer기반 player로 전달한다. 미디어 재생에 필요한 자원을 uMediaServer에 요청하는 역할. 미디어 재생과 관련된 정보를 외부서비스/앱에게 전달.
- player-factory-libs: Gstreamer 프레임워크 기반의 미디어 재생을 수행하는 기능을 담당. 미디어 서비스 형태 혹은 스트리밍 프로토콜 타입에 따라 필요한 Gstreamer 파이프라인을 생성. Gstreamer 엘리먼트 생성하고, 엘리먼트간 연결 및 제어. 미디어 재생관 관련된 Gstreamer 파이프라인 제어. Gstreamer로부터 받은 미디어 정보를 상위 레이어로 전달.
- Gstreamer: 미디어 애플리케이션을 만들기 위한 파이프라인 기반의 오픈소스 미디어 프레임워크. 오픈 소스이며 WebOS media 프레임워크의 핵심 기능중 하나로 파이프라인을 구성할 엘리먼트와 이를 제어하기 위한 코어 라이브러리를 제공하며 고성능의 HW자원을 위한 플러그인을 제공한다.
- OMX(OpenMAX): OMXIL로 구현되는 component들을 통해 kernel의 device driver(vdec, sink)를 사용할 수 있다. webOS에서는 OMX IL을 통해 HW DEC를 사용하여 비디오를 디코딩하고 영상을 출력(rendering)하는 용도로 사용됨.
HLS(HTTP Live Streaming)이란
스트리밍 미디어를 전송하기 위한 프로토콜이다. 다시말해 ,HLS는 HTTP 기반의 스트리밍 프로토콜로서 미디어를 작은 청크로 분할하고 전송하는 방식을 사용합니다. 이를 통해 실시간 또는 비동기 방식으로 동영상이나 오디오를 효율적으로 전송하고 재생할 수 있습니다.
GStreamer
미디어 애플리케이션을 만들기 위한 파이프라인 기반의 오픈소스 미디어 프레임워크이다.GStreamer는 파이프라인(Pipeline)이라는 개념을 기반으로 동작하는데, 파이프라인은 여러 개의 요소(Element)로 구성되며, 각 요소는 데이터의 처리 단계를 나타냅니다. 예를 들어, 비디오 파일을 재생하는 파이프라인은 파일을 읽는 요소, 비디오 디코딩을 수행하는 요소, 화면에 비디오를 표시하는 요소 등으로 구성될 수 있습니다. 이러한 요소들은 연결되어 데이터를 처리하고 전달하며, GStreamer는 이러한 데이터 흐름을 관리하고 제어합니다.
'CS 지식 > 커넥티드 플랫폼 이론과 실제' 카테고리의 다른 글
커넥티드 플랫폼 이론과 실제(4) (0) | 2023.06.17 |
---|---|
커넥티드 플랫폼 이론과 실제(3) (0) | 2023.06.17 |
커넥티드 플랫폼 이론과 실제(1) (0) | 2023.06.17 |