NB Streams là số lượng luồng bên trong một tệp media. NB là viết tắt của số lượng, vì vậy giá trị 2 nghĩa là tệp có 2 luồng. Trường NB Frames dùng cùng kiểu viết tắt cho số lượng khung hình trong một luồng.
Một tệp media là một container lưu trữ một hoặc nhiều luồng cùng với metadata. Trong trường này, một luồng không phải là video trực tuyến hay phát sóng trực tiếp. Một luồng là một phần nội dung, chẳng hạn như hình ảnh hoặc âm thanh.
Những gì được tính là một stream
Trường này đến từ FFmpeg, một dự án phần mềm dùng để đọc và ghi các tệp media. FFmpeg có 5 loại luồng, và NB Streams đếm tổng tất cả các loại đó:
video: hình ảnh chuyển động, và hình ảnh tĩnh như ảnh bìaaudio: âm thanh, ví dụ một ngôn ngữ thứ hai hoặc lời bình luậnsubtitle: văn bản cho người xem, chẳng hạn phụ đề bằng một ngôn ngữdata: thông tin khác không phải hình ảnh, âm thanh hoặc phụ đềattachment: một tệp hoàn chỉnh trong container, ví dụ một phông chữ cho phụ đề
NB Streams không ghi tên các loại. Để xem loại của từng luồng, bạn hãy xem Codec Type của nó.
Giá trị trông như thế nào
Giá trị là một số nguyên không có đơn vị. Trình đọc tệp ffprobe của dự án FFmpeg in ra một dòng như nb_streams=3. Con số này phụ thuộc vào nội dung tệp:
1: chỉ một luồng, chẳng hạn một bài hát FLAC không có hình ảnh2: một video có một luồng hình ảnh và một luồng âm thanh, hoặc một bài hát với một hình ảnh đính kèm3trở lên: một video có thêm các luồng âm thanh, luồng phụ đề hoặc tệp đính kèm
Mỗi luồng cũng có một số chỉ mục, bắt đầu từ 0. Vì vậy một tệp có 3 luồng sẽ có các chỉ mục 0, 1 và 2.
Định dạng tệp có thể giới hạn số lượng và loại luồng. Ví dụ, FFmpeg ghi chính xác 1 luồng âm thanh vào tệp FLAC và có thể thêm hình ảnh. Ngược lại, đặc tả MKV cho thấy một tệp ví dụ có 7 luồng âm thanh, mà nó gọi là các track.
Những tệp nào chứa nó
Bạn thấy NB Streams trong các tệp âm thanh và video mà FFmpeg có thể mở, như MP4, MOV, AVI, MKV, MP3, FLAC và WAV. Trình đọc ffprobe cũng mở được tệp hình ảnh. FFmpeg thường coi một hình ảnh là một luồng video, nên ffprobe in ra 1.
Với một số ảnh, ffprobe in ra nhiều hơn 1 luồng. Ảnh HEIC có thể lưu hình ảnh của nó thành một lưới các tile riêng biệt. FFmpeg có thể liệt kê mỗi tile là một luồng, nên một lưới 2 x 2 tile được tính là ít nhất 4 luồng.
FFmpeg không có trình đọc cho các định dạng tài liệu như PDF và DOCX. Vì vậy các tài liệu thường không báo cáo trường này.
Giá trị đến từ đâu
Bản thân tệp không chứa một trường tên là NB Streams. FFmpeg mở tệp, tìm từng luồng và thêm luồng đó vào một danh sách. NB Streams là số lượng mục trong danh sách đó.
Tại sao nó quan trọng
NB Streams cho bạn một cách kiểm tra nhanh tệp đang chứa gì. Một tệp video có giá trị 1 thường bị thiếu hình ảnh hoặc âm thanh.
Giá trị cao hơn mong đợi có thể chỉ ra các ngôn ngữ bổ sung, phụ đề, hình ảnh hoặc tệp đính kèm. Trình phát thường chỉ chọn một số luồng trong đó, nên bạn có thể không nhận ra các luồng khác trong khi phát.
Giá trị cũng có thể thay đổi khi bạn chuyển đổi tệp. Nếu không có tùy chọn bổ sung, chương trình ffmpeg chọn 1 luồng của mỗi loại và bỏ qua các luồng data và attachment. Vì vậy một giá trị thấp hơn có thể nghĩa là một luồng đã bị mất.