Domanda

dopo aver letto l'intestazione fama, inizia la cornice di dati, voglio sapere che cosa è la dimensione del frame di dati, che un lettore mp3 si legge, in modo che se cambio singolo bit di ogni fotogramma senza causare molti al suono del file e come posso cambiare un singolo bit (ultimo bit) in modo da effetto è minimo in C #. per favore mi aiuti

È stato utile?

Soluzione 3

sono stato in grado di capirlo e si avvicinò con il mio algoritmo, RZR che cosa mai hai detto era giusto.

Il file MP3 è altamente file di ogni cambiamento po 'in uno qualsiasi dei frame introdurrebbe tremendo rumore compresso.

non c'è modo per aggirare questo,

Soln_1: Hide the text data and in any of the bit of each byte and reconstruct the frame using humming code 

Soln_2: which i was able to do it, using Layer III, BitRate=128000, SampleRate=441000, Padding=0

svantaggi :. Dimensione del file sarebbe aumentato un po 'nervosa, che l'utente non-destinato sopraelevazione prevedere, se non ha la copia esatta del file mp3 originale

in grado di raggiungere : senza rumore sono riuscito a nascondere i dati di testo fino a 5 KB in un file mp3 3MB

aggirare :

step1: scan every 8 bytes in each frame
step2: take a 8 bits from the text data

posizione pre-definee di dove mettere ogni bit dei dati di testo in ogni fotogramma per esempio:. 4 ° posizione

step3:  check every 4th bit location of each byte of the frame is same as the each bit of the text data are same

Es .: i dati di testo un byte è 01110001

1 ° a 8 byte dai frame di dati mp3

byte_1: 01101111 -->4th location bit is 0
byte_2: 01111111 -->4th location bit is 1
byte_3: 01111001 -->4th location bit is 1
byte_4: 01111011 -->4th location bit is 1
byte_5: 01100011 -->4th location bit is 0
byte_6: 01101100 -->4th location bit is 0
byte_7: 01101011 -->4th location bit is 0
byte_8: 01110011 -->4th location bit is 1

quindi questo byte dal telaio, ogni posizione di bit 4th sta avendo i bit che sono uguali ai bit di dati di testo.

Step4: note down the location of the byte in the mp3 data frame, in this case its "1" that is 1st location

se il byte dal frame di dati mp3 non corrisponde ai bit di dati quindi saltare il byte e andare avanti per il byte successivo, continuare a fare la stessa fino a tutto il dati di testo è nascosto.

Step5:now take all the locations where the text data is present and add these as a byte to the data frame of mp3.

questo è uno soluzione ho potuto implementata con successo.

Altri suggerimenti

La tecnologia che stai cercando si chiama 'steganografia'.

Non è C # (questo è molto più complessa di quanto si potrebbe pensare), ma questo è legato. . Si potrebbe desiderare di utilizzare questo utilizzando P / Invoke, o la porta in codice C #.

Sto anche lavorando ad un progetto simile ... Prima di tutto quello che dovete sapere sulla struttura dei file mp3 ... spero questo link aiuterebbe voi per quanto riguarda la struttura dei file mp3 ... una volta che siete chiari circa la struttura dei file è abbastanza facile scrivere un codice da soli ... Prendi il file mp3 come un flusso ed estrarre ogni fotogramma da esso (Questo dovrebbe essere davvero facile una volta che sai di struttura dei file mp3 ... In realtà, ci sono voluti solo un paio di ore per me di scrivere un codice per farlo) ... e un suggerimento circa la vostra algoritmo. Un file mp3 5 mb ha più o meno 15.000 telai ... Quindi, se si pensa di sostituire un po 'per frame i dati più grandi si può negozio è 2KB ...

ho provato lo stesso, ma ho cambiato un BYTE per frame ... Questo ha introdotto qualche rumore nel file risultante ... Qualche suggerimento su come ridurre il rumore ...!?!?! ?? E spero che la mia risposta ti aiuta ...:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top