Sto scrivendo un'applicazione di streaming per MP3 (CBR). È tutto passante, il che significa che non devo decodificare/codificare, ho solo bisogno di passare i dati mentre vedo che viene attraverso. Voglio essere in grado di contare i fotogrammi MP3 mentre passano (e altre cose come i calcoli del throughput).Come analizzare i dati MP3 per estrarre i frame numerati?
Secondo la MP3 frame header specifiche, la parola di sincronizzazione sembra essere undici (11) bit di 1s, tuttavia I notice (naturalmente) che il carico utile telaio che devo tranquillamente assumere essere binario e quindi non è dispari del tutto per vedere undici (11) 1s in sequenza.
Le mie domande:
- C'è un'Unix | Linux | Perl utilità parser MP3 (
dd
in stile) che può tirare frame numerati da un file MP3/pipa? - Come si delinea un blocco di intestazione MP3 da qualsiasi altro dato di carico utile binario? e infine:
- È un Bitrate costante (CBR) MP3 definito dai byte del carico utile oppure i byte di intestazione sono inclusi nel numero aggregato di byte/bit per ogni data timeslice specificato?
Grazie,
dd-style? Intendi qualcosa che è fonte di confusione da usare, funziona in unità scomode piuttosto che in byte, e quando si usano blocchi di byte * dopo tutto *, diventa naturalmente lento ... (Penso che tu voglia 'dd_rescue' in futuro per copiare i dati.) – user562374
Beh, dd style significa che potrei o nominare/numerare una cornice per l'estrazione in una pipe & | file o che potrei specificare gli intervalli di fotogrammi nel modo in cui dd fa saltare | seek | count. dd ha i suoi problemi senza dubbio, ma il supporto dd_rescue cerca? – Xailor
Che lingua stai usando? – Brad