2013-02-21 25 views
12

Ho un file compresso la sua dimensione è 728 e in qualche modo so che questo è un file audio e dura 1040 msChe codec è

La struttura del file compresso è semplice:

Si è formato con 14 byte blocchi, ogni blocco inizia con 0x0C:

0c xx xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx x x xx xx xx xx xx xx xx

(xx) potrebbe essere un qualsiasi numero esadecimale

È possibile scaricare file binario compresso qui:

http://dusijun.files.wordpress.com/2013/02/29-aud-bin.doc (si prega di rinominare a * .aud)

Or vista testo in formato doc

http://dusijun.files.wordpress.com/2013/02/29-aud.doc

non v'è alcuna intestazione né meta-informazioni. Il numero di blocchi dipende dalla durata dell'audio reale. durata audio alla dimensione del file è di circa 1,42

esempio

Se le dimensioni del file = 9506, allora l'audio potrebbe durare per 9506 * 1,42 = 13580 ms circa il 13 S

Qualcuno sa che cosa codec potrebbe essere?

PS:

Il file binario è wechat (IOS) file audio.

REF

1) Come posso estrarre/riprodurre file .aud?

http://www.boards.ie/vbulletin/showthread.php?t=2055891600

2) wechat ios

https://itunes.apple.com/us/app/wechat/id414478124?mt=8

+2

Supponendo che sia un formato PCM non elaborato, hai provato a inserirlo in FFMPEG? –

+0

Bel tentativo, anche se un PCM grezzo non avrà una struttura simile al frame, e specialmente ogni frame ha un char iniziale 0X0c. E se si tratta di un PCM non elaborato, per un secondo la dimensione del file (frequenza di campionamento * (bit per campione/8) * 1 s) sarebbe almeno di molte migliaia di byte anziché di 728 byte nell'esempio fornito. –

+1

Non ho segnalato la tua domanda, ma penso che non sia molto adatta per un overflow dello stack. Consiglierei di leggere le FAQ. –

risposta

6

Sospetto che sia un codec vocale. Ad esempio RFC6716 e OPUS. Il bit rate per questo codec è 8-12 kbit/s per il parlato NB. Lo 0x0c si adatta alla configurazione SILK per una dimensione del fotogramma di 20 ms.

| 0 ... 3 | Solo SETA | NB | 10, 20, 40, 60 ms |

La dimensione del telaio di 20 ms corrisponde a circa 14 byte. Ho provato a salvare il campione come 29-aud-bin.opus e aprirlo in Firefox, ma manca quell'intestazione che hanno altri file opus. Anche una versione del codec SILK viene utilizzata da Skype.

+0

+1 mostrando un po 'di sportività e penso che sia necessario avere almeno 2 voti positivi per poter ottenere il premio. @DuSijun può confermare ... Buona fortuna! –

3

Che codec è? In qualche modo so che questo è un file audio. Il file binario è un file audio WeChat (ios).

Assegnare al file di esempio scaricabile un'estensione AUD non ha senso.

Probabilmente è più probabile trovare un file AUD in una cartella di programma per il videogioco Westwood . Un file con estensione file AUD è un file Video Game Compressed Audio .


How do I find a codec?

Se si conosce il nome del codec o il suo ID (noto come identificatore FourCC per i codec video o un identificatore WAVEFORMAT per codec audio), prova a cercare in Internet. Puoi spesso visitare il sito Web di un produttore di codec per scaricare la versione più recente di un codec.

Dal momento che il file non è un colpo di testa né meta informazioni (magic file) si può fare affidamento solo sulla estensione del file, ad esempio:

http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/AU/AU.html

enter image description here

Se ho un file con un'estensione .EXE e * in qualche modo so che questo è davvero un file audio` Posso controllare il file magic usando Winista.

public MimeType GetMimeTypeFromFile(string filePath) 
{ 
    sbyte[] fileData = null; 
    using (FileStream srcFile = new FileStream(filePath, FileMode.Open, FileAccess.Read)) 
    { 
     byte[] data = new byte[srcFile.Length]; 
     srcFile.Read(data, 0, (Int32)srcFile.Length); 
     fileData = Winista.Mime.SupportUtil.ToSByteArray(data); 
    } 

    MimeType oMimeType = GetMimeType(fileData); 
    if (oMimeType != null) return oMimeType; 

    //We haven't found the file using Magic (eg a text/plain file) 
    //so instead use URLMon to try and get the files format 
    Winista.MimeDetect.URLMONMimeDetect.urlmonMimeDetect urlmonMimeDetect = new Winista.MimeDetect.URLMONMimeDetect.urlmonMimeDetect(); 
    string urlmonMimeType = urlmonMimeDetect.GetMimeFromFile(filePath); 
    if (!string.IsNullOrEmpty(urlmonMimeType)) 
    { 
     foreach (MimeType mimeType in types) 
     { 
      if (mimeType.Name == urlmonMimeType) 
      { 
       return mimeType; 
      } 
     } 
    } 

    return oMimeType; 
} 

Nota il codice di ricorrere a URLMON per trovare il tipo MIME può essere trovato qui su msdn - Detect file type

Il metodo di cui sopra si aprirà il file e rilevare il tipo MIME reale per sapere quale programma per aprire con. Si fa il corrispondente utilizzando un file di mapping di tipo Video/Audio MIME in formato XML:

<!-- 
! Audio primary type 
! --> 

<mime-type name="audio/basic" 
      description="uLaw/AU Audio File"> 
    <ext>au</ext><ext>snd</ext> 
    <magic offset="0" type="byte" value="2e736e64000000"/> 
</mime-type> 

<mime-type name="audio/midi" 
      description="Musical Instrument Digital Interface MIDI-sequention Sound"> 
    <ext>mid</ext><ext>midi</ext><ext>kar</ext> 
    <magic offset="0" value="MThd"/> 
</mime-type> 

<mime-type name="audio/mpeg" 
      description="MPEG Audio Stream, Layer III"> 
    <ext>mp3</ext><ext>mp2</ext><ext>mpga</ext> 
    <magic offset="0" value="ID3"/> 
</mime-type> 

ho provato Winamp e Windows Media Classic ed entrambi non è riuscito ad aprire il file.

Poiché non si conosce il tipo di file MIME e l'estensione del file AUD è chiaramente errata, non penso sia possibile rilevare il codec/programma necessario per riprodurre questo file.