Developer Document

Embedded Software 개발을 하면서 습득한 내용을 적은 시니어 개발자들의 글

코 독 코 독 CoderDocument

Embedded SW 기초/Streaming 3

GStreamer 기초

GStreamer란?스트리밍 미디어 응용 프로그램을 만들기 위한 프레임 워크로 모든 유형의 스트리밍 멀티미디어 응용 프로그램을 작성할 수 있습니다. 구성요소를 임의의 파이프라인에 혼합하여 응용 프로그램을 작성할 수 있는 장점이 있습니다. GStreamer 구성요소  1. PipelineGStreamer 파이프라인은 멀티미디어 데이터를 처리하는 element들로 구성되어 있습니다.데이터가 입력되는 src 요소와 출력되는 sink 요소,  encoding, decoding filtering 등의 특정 작업을 수행하는 요소들이 존재합니다.   2. ElementsElements는 파이프라인을 구성하는 추상화된 Block형태를 정의합니다. 서로 연결된 elements를 만들고 이를 통해 데이터가 흐르도록 합니다..

프레임 (GOP) & 영상 품질 요소 ( Bit rate / Frame rate)

지난 글에 2024.05.23 - [Embedded SW 기초] - Stream 구조와 원리를 보셨다면 마지막에 손실압축과 무손실 압축이 있다는 것을 아실 수 있습니다. 사람의 눈은 시시각각 바뀌는 영상에 모든 정보를 담지 못합니다. 또한 같은 화면인 경우 같은 데이터를 준다면 중복 데이터로 인해 전송이 더 느려질 수 있습니다. 이러한 내용을 보완하고자 손실압축이 생겨 났습니다. GOP(Group Of Pictures)란?MPEG standard 비디오 압축 기술에서 사용되는 표현으로 인코딩한 이미지 프레임 그룹입니다.즉, 여러 장의 연속적으로 나열된 이미지 프레임들을 하나의 이미지 프레임 그룹으로 인코딩합니다.GOP의 구성은 IFrame BFrame PFrame이 있습니다. 그림에서 보듯  IFrame..

Stream 구조와 원리

위의 그림은 동영상을 모니터 화면에 출력 시 나오는 영상 데이터 구조입니다.카메라 등에서 나오는 데이터가 src를 통해 들어오게 되고, filter를 거치며 나온 데이터를 sink를 통해서 모니터 등의 output에서 출력이 됩니다.각 Layer에서 있는 packet 중 RTP(Real Time protocol)은 Timestamp, Sequence 역할을 하며 Transprot 계층에서 udp와 clock을 양쪽 끝에 위치시켜 packet이 손상되었는지 확인을 하는 encapsulation을 합니다. physical 계층에서 또한 MAC Header와 MAC으로 encapsulation 합니다.동영상의 구조는 컨테이너로 이루어져 있습니다.컨테이너란 여러 코덱을 하나로 묶은 파일을 의미하며 예시로 mp4..