Piszę aplikację do przesyłania strumieniowego MP3 (CBR). To wszystko jest passthru, co oznacza, że nie muszę dekodować/kodować, po prostu muszę przekazać dane, jak widzę, przez to przejść. Chcę móc policzyć ramki MP3 podczas ich przesyłania (i inne rzeczy, takie jak obliczenia przepustowości).Jak analizować dane MP3, aby wyodrębnić ponumerowane ramki?
Według MP3 frame header specyfikacji, synchronizacja słowo wydaje się być jedenaście (11) bitów 1s, jednak zauważam (naturalnie), że ładunek rama, która powinna bezpiecznie założyć, aby być binarny, a zatem nie jest dziwne w ogóle, aby zobaczyć jedenaście (11) 1s w sekwencji.
Moje pytania:
- istnieje Unix | Linux | Perl MP3 parser narzędzie (
dd
-Style), które mogą ciągnąć numerowanych ramek z pliku MP3/rury? - Jak wytyczyć blok nagłówka MP3 z innych danych binarnych? i na koniec:
- Czy MP3 w stałej bitrate (CBR) jest zdefiniowany przez bajty ładunku lub czy bajty nagłówka znajdują się w sumie # bajtów/bitów na dowolny określony czas?
Dzięki
dd-style? Masz na myśli coś, co jest mylące w użyciu, działa w niezręcznych jednostkach, a nie w bajtach, a przy użyciu fragmentów bajtów * po wszystkim *, staje się naturalnie powolne ... (Myślę, że w przyszłości będziesz potrzebować 'dd_rescue' do kopiowania danych.) – user562374
No cóż, styl dd oznacza, że mógłbym wymienić/numerować ramkę do ekstrakcji do rury i | plik lub mogę określić zakresy ramek w taki sposób, że dd pomija | seek | count. dd ma wątpliwości co do własnych problemów, ale czy poszukuje wsparcia dd_rescue? – Xailor
Jakiego języka używasz? – Brad