LW IT Solutions

Sprawdzenie odtwarzania bez przerw: wyprzedzenie i dopełnienie w MP3, AAC, Opus i FLAC

Kodery stratne dodają próbki na początku i na końcu pliku. Gdy plik podaje, ile ich jest, odtwarzacz usuwa je z powrotem i jeden utwór przechodzi w następny bez przerwy. To sprawdzenie odczytuje właśnie te deklaracje. Nic nie jest wysyłane, plik zostaje w przeglądarce.

Wybór pliku audio

MP3, M4A/AAC, Opus, Ogg Vorbis, FLAC i WAV. Czytany jest tylko nagłówek pliku, nie dźwięk.

Co oznaczają te pola

Kodery oparte na transformacie potrzebują rozbiegu: pierwszy blok wyjścia opisuje dźwięk leżący przed początkiem pliku, a ostatni sięga poza jego koniec. Oba końce zostają więc wypełnione próbkami, które nie są muzyką.

MP3 niesie te liczby w ramce Info albo Xing, którą zapisuje koder, razem ze swoją nazwą. Do podanego tam wyprzedzenia dochodzi opóźnienie samego dekodera; to sprawdzenie dolicza za nie 529 próbek, tyle dał pomiar do powiązanego artykułu.

W MP4 początek opisuje lista montażowa, przesuwając start ścieżki. Pole iTunSMPB firmy Apple podaje oba końce w próbkach; gdy go brakuje, tylko czas trwania ścieżki mówi odtwarzaczowi, gdzie ma skończyć.

Opus podaje swoje wyprzedzenie w nagłówku, liczone przy 48 kHz, a ostatnia strona mówi, dokąd naprawdę sięga dźwięk. RFC 7845 ustala oba, więc odtwarzanie bez przerw nie wymaga dodatkowego pola.

FLAC i WAV zapisują dokładną liczbę próbek, nic więc nie jest dodawane i nic nie musi być usuwane.

Źródła: RFC 7845 · RFC 9639 · LAME tech FAQ

Czytane są tylko nagłówki pliku, nie dźwięk. Co konkretny odtwarzacz zrobi z tymi polami, nie jest tu sprawdzane; wartości pokazują, co mógłby zrobić.

OTHER TOOLS

Wszystkie narzędzia (118)