NB Streams는 미디어 파일 안에 있는 스트림의 개수입니다. NB는 number(숫자)의 약자이므로, 값이 2이면 파일에 2개의 스트림이 있다는 뜻입니다. NB Frames 필드는 한 스트림 안의 프레임 개수에 같은 약자를 사용합니다.
미디어 파일은 하나 이상의 스트림과 메타데이터를 함께 저장하는 컨테이너입니다. 이 필드에서 말하는 스트림은 온라인 동영상이나 라이브 방송이 아닙니다. 스트림은 그림이나 소리처럼 콘텐츠를 구성하는 한 요소입니다.
스트림으로 계산되는 것
이 필드는 미디어 파일을 읽고 쓰는 소프트웨어 프로젝트 FFmpeg에서 사용합니다. FFmpeg에는 5가지 스트림 유형이 있으며, NB Streams는 이 모든 유형을 합쳐 센 값입니다:
video: 움직이는 영상과 앨범 커버 같은 정지 이미지audio: 소리, 예를 들어 다른 언어 음성이나 해설subtitle: 자막처럼 시청자에게 보이는 텍스트data: 영상, 소리, 자막이 아닌 기타 정보attachment: 컨테이너 안에 들어 있는 전체 파일, 예를 들어 자막에 사용하는 폰트 파일
NB Streams 값만으로는 유형 이름을 알 수 없습니다. 각 스트림의 유형을 보려면 해당 스트림의 Codec Type을 확인하세요.
값이 어떻게 표시되는지
값은 단위가 없는 정수입니다. FFmpeg 프로젝트의 ffprobe 파일 리더는 nb_streams=3 같은 한 줄을 출력합니다. 숫자는 파일에 들어 있는 내용에 따라 달라집니다:
1: 예를 들어 그림이 없는 FLAC 음원처럼, 스트림이 1개뿐인 경우2: 영상 스트림 1개와 오디오 스트림 1개가 있는 동영상, 또는 첨부된 사진이 1장 있는 음원3이상: 추가 오디오 스트림, 자막 스트림 또는 첨부 파일이 있는 동영상
각 스트림에는 0부터 시작하는 인덱스 번호도 있습니다. 따라서 스트림이 3개이면 인덱스는 0, 1, 2가 됩니다.
파일 형식에 따라 스트림의 개수와 유형이 제한될 수 있습니다. 예를 들어 FFmpeg는 FLAC 파일에 오디오 스트림 1개만 정확히 기록하고, 여기에 이미지를 추가할 수 있습니다. 반대로 MKV 규격의 예시 파일에는 7개의 오디오 스트림이 있으며, 이를 트랙이라고 부릅니다.
어떤 파일에 포함되어 있는지
NB Streams 값은 FFmpeg로 열 수 있는 MP4, MOV, AVI, MKV, MP3, FLAC, WAV 같은 오디오·비디오 파일에서 확인할 수 있습니다. ffprobe 리더는 이미지 파일도 엽니다. FFmpeg는 일반적으로 이미지를 비디오 스트림 1개로 처리하므로, ffprobe는 1을 출력합니다.
일부 사진에서는 ffprobe가 1개보다 많은 스트림을 출력합니다. HEIC 사진은 이미지를 여러 타일로 나눈 격자로 저장할 수 있습니다. FFmpeg는 각 타일을 개별 스트림으로 나열할 수 있으므로, 2×2 타일 격자는 최소 4개의 스트림으로 계산됩니다.
FFmpeg에는 PDF, DOCX 같은 문서 형식을 읽는 리더가 없습니다. 따라서 문서 파일에서는 일반적으로 이 필드가 보고되지 않습니다.
값이 어디에서 오는지
파일 안에 'NB Streams'라는 필드가 실제로 들어 있는 것은 아닙니다. FFmpeg가 파일을 열어 각 스트림을 찾고, 스트림을 목록에 추가합니다. NB Streams는 이 목록에 있는 항목의 개수입니다.
왜 중요한지
NB Streams 값으로 파일에 무엇이 들어 있는지 간단히 확인할 수 있습니다. 값이 1인 동영상 파일은 보통 영상 또는 소리 중 하나가 없는 상태입니다.
예상보다 큰 값은 추가 언어, 자막, 이미지 또는 첨부 파일이 있다는 신호일 수 있습니다. 재생 프로그램은 일반적으로 이들 중 일부 스트림만 선택하므로, 나머지는 재생 중에 눈에 띄지 않을 수 있습니다.
파일을 변환하면 이 값이 바뀔 수도 있습니다. 추가 옵션을 주지 않으면 ffmpeg 프로그램은 각 유형별로 스트림 1개만 선택하고 data 및 attachment 스트림은 건너뜁니다. 따라서 값이 더 작아졌다면 일부 스트림이 제거되었을 수 있습니다.