stream이란 ? codec 이란?

FSA·2023년 12월 5일
0

cs

목록 보기
2/2

steram

  • 미디어 파일에서 "스트림(stream)"이라는 용어는 파일 내의 데이터 흐름을 의미합니다.
  • 이 개념은 주로 오디오, 비디오, 자막 등과 같이 다양한 형태의 미디어 데이터를 포함하는 파일에서 사용됩니다.

스트림의 기본 개념

  1. 데이터 흐름:

    • 스트림은 연속적인 데이터 흐름을 나타냅니다.
    • 예를 들어, 비디오 파일에서는 시간에 따라 연속적으로 이어지는 이미지 시퀀스가 스트림을 형성합니다.
  2. 다양한 유형:

    • 하나의 미디어 파일에는 여러 종류의 스트림이 포함될 수 있습니다.
    • 가장 흔한 예로는 비디오 스트림(이미지), 오디오 스트림(소리), 자막 스트림(텍스트) 등이 있습니다.
  3. 독립적 처리:

    • 각 스트림은 독립적으로 처리될 수 있습니다.
    • 예를 들어, 비디오 스트림만 따로 추출하거나, 오디오 스트림을 다른 형식으로 변환하는 것이 가능합니다.

스트림의 활용

  1. 미디어 재생:
    • 미디어 플레이어는 파일에서 각 스트림을 읽어와 동시에 재생합니다.
    • 비디오 파일을 재생할 때, 비디오 스트림과 오디오 스트림을 동기화하여 재생하는 것이 대표적인 예
  2. 편집 및 변환:
    • 미디어 편집 소프트웨어는 각 스트림을 개별적으로 편집할 수 있습니다.
    • 예를 들어, 비디오 스트림에서 특정 부분을 잘라내거나, 오디오 스트림에 효과를 추가하는 등의 작업이 가능합니다.
  3. 인코딩 및 디코딩:
    • 인코더와 디코더는 각 스트림의 데이터를 압축하거나 해독하는 데 사용됩니다.
    • 이 과정을 통해 파일 크기를 줄이거나, 다른 형식으로 변환할 수 있습니다.

결론

  • 스트림은 미디어 파일 내에서 오디오, 비디오, 자막 등과 같이 서로 다른 유형의 데이터를 관리하고 처리하는 데 중요한 역할을 합니다.
  • 각 스트림의 독립적인 처리 능력 덕분에 복잡한 미디어 파일을 효율적으로 다룰 수 있습니다.

codec

  • 코덱(codec)은 '코더(coder)'와 '디코더(decoder)'의 합성어로, 디지털 미디어 파일(예: 비디오, 오디오)을 압축하고 해독하는 기술입니다.

코덱의 기본 개념

  1. 디지털 미디어 파일의 크기 문제:
    • 비디오나 오디오와 같은 미디어 파일은 원본 상태에서 매우 큰 파일 크기를 가집니다. 이 큰 파일들을 그대로 저장하거나 인터넷을 통해 전송하려면 많은 저장 공간과 대역폭(인터넷 속도)이 필요합니다.
  2. 압축의 필요성:
    • 파일 크기를 줄이기 위해 코덱은 미디어 파일을 더 작은 크기로 압축합니다. 이렇게 하면 저장 공간을 절약하고, 인터넷으로 더 빠르게 전송할 수 있습니다.
  3. 코더의 역할:
    • 코더는 원본 미디어 파일을 압축하는 과정을 담당합니다. 이 과정에서 중요하지 않은 정보를 제거하거나 데이터를 더 효율적인 형태로 변환하여 파일 크기를 줄입니다.
  4. 디코더의 역할:
    • 디코더는 압축된 파일을 원래의 형태로 되돌리는 역할을 합니다. 예를 들어, 우리가 비디오를 재생할 때, 디코더는 압축된 비디오 파일을 해독하여 화면에 표시할 수 있는 형태로 변환합니다.

코덱의 예시

  • MP3 (오디오 코덱):
    • 음악 파일의 크기를 줄이기 위해 사용되며, 사람 귀가 잘 감지하지 못하는 소리는 제거하여 파일 크기를 줄입니다.
  • H.264 (비디오 코덱):
    • 비디오 파일을 압축할 때 널리 사용됩니다. 이 코덱은 화질을 최대한 유지하면서 파일 크기를 크게 줄일 수 있습니다.

코덱 파이썬

        probe = ffmpeg.probe(video_path)
        probe['streams']["codec_type"]
            Video:
                codec_type이 'video'인 스트림은 비디오 데이터를 담고 있습니다. 
                이는 이미지 시퀀스를 포함하며, 해상도, 프레임 레이트, 코덱 등의 정보를 포함
            Audio:
                'audio' 타입은 오디오 데이터를 처리합니다. 
                이 스트림은 샘플 레이트, 채널 수, 오디오 코덱 등 오디오 관련 정보
            Subtitle:
                자막 데이터를 포함하는 스트림입니다. 
                자막 형식, 언어, 자막 텍스트 등의 정보가 여기에 포함될 수 있습니다.
            Data:
                일반적인 오디오나 비디오 데이터가 아닌, 
                    추가 메타데이터나 사용자 정의 데이터를 포함하는 스트림입니다. 
                예를 들어, 인터랙티브 미디어에서 사용되는 메뉴 정보 등이 이에 해당할 수 있습니다.
            Attachment:
                미디어 파일과 연관된 파일들을 포함하는 스트림입니다. 
                이는 일반적으로 폰트나 이미지 파일 같은 부가적인 자원을 포함합니다.

profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글