讀取頭文件名後,數據幀開始,我想知道數據幀大小是多少,即一個MP3播放器讀取的數據,以便如果我更改每個位框架對文件的聲音沒有太大的影響,我怎樣才能改變一個位(最後一位),所以在C#中效果最小。 請幫我如何使用C#隱藏數據在mp3數據幀中使用C#
回答
我能夠弄明白,並提出了我自己的算法,Rzr什麼,你說的是對的。
這個mp3文件是高度壓縮的文件,任何幀的任何位改變都會引入巨大的噪音。
有辦法解決這一點,
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
弊端:文件大小將升技其中未預期用戶傾斜預測增加,除非他有原來的MP3文件的精確副本。
能夠取得:無噪音,我是能夠隱藏在3MB的MP3文件
解決高達5KB的文本數據:哪裏放
step1: scan every 8 bytes in each frame
step2: take a 8 bits from the text data
預definee位置每幀中的每一位文本數據,例如:第4個位置。
step3: check every 4th bit location of each byte of the frame is same as the each bit of the text data are same
例如: 文本數據的一個字節是01110001
從mp3數據第一8字節幀
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
所以從幀這個字節,每4th
位位置具有位這與文本數據位相同。
Step4: note down the location of the byte in the mp3 data frame, in this case its "1" that is 1st location
如果從MP3數據幀中的字節不匹配的數據位,然後跳過字節,並繼續到下一個字節,繼續做同樣的,直到整個文本數據是隱藏的。
Step5:now take all the locations where the text data is present and add these as a byte to the data frame of mp3.
這是我能夠成功實施的一個解決方案。
你正在尋找被稱爲'steganography'.
它不是C#(這是很多複雜得多,人們會認爲),但this is related.技術。你可能想用p/invoke來使用它,或者把它移植到C#代碼中。
我也在研究一個類似的項目...首先,你必須知道的MP3文件結構...我希望this link將幫助你有關MP3文件結構...一旦你清楚文件結構很容易就可以自己編寫代碼......將mp3文件作爲流獲取並從中提取每個幀(一旦知道了mp3文件結構,這應該很容易......事實上,它只需要幾個幾小時,我寫一個代碼來做到這一點)...和一個關於你的算法的建議。一個5 MB的MP3文件有或多或少的15,000幀...所以,如果你認爲每幀替換一點,你可以存儲的最大數據是2KB ...
我試過相同的,但我改變了一個字節frame ...這會在結果文件中引入一些噪音......關於如何減少噪音的任何建議......!?!?!?並希望我的答案可以幫助你... :)
- 1. 將數據隱藏在mp3文件中
- 2. 如何從PCM數據(C/C++)寫入mp3幀?
- 3. 使用JOptionPane隱藏數據
- 4. 如何使用IPropertyStore在Windows中使用C++訪問mp3元數據?
- 5. 如何在c中使用MMF數據?
- 6. 如何使用gstreamer提取mp3流中的數據幀?
- 7. 如何使用對象c提取mp3文件元數據?
- 8. 使用數據幀數組在數據幀中創建數據幀
- 9. 如何使用C#將數據存儲在數據庫中?
- 10. 如何在C#中使用mysql數據庫插入數據
- 11. 隱藏C#實現使用的參數
- 12. 使用數據幀
- 13. 如何在數據幀,使用R
- 14. 如何使用functions.explode在數據幀
- 15. 如何在數據幀上使用ifelse
- 16. 如何在隱藏塊中使用微數據?
- 17. r使用在數據幀
- 18. 如何在C#和Sqlite安全中隱藏數據庫密碼
- 19. C#如何訪問隱藏數據表列即數據源綁定在DataGridView中
- 20. 如何使用熊貓數據幀在Seaborn數據參數lmplot
- 21. c#MP3 ID3數據(無taglib)
- 22. 如何根據數據庫條件使用vbscript來隱藏div?
- 23. 如何在ASP.NET中使用MySql數據庫使用C#
- 24. 使用隱藏字段更新數據庫中的數據
- 25. 使用AJAX提交隱藏數據
- 26. 使用Scrapy抓取隱藏數據
- 27. 使用隱藏形式發佈數據
- 28. 使用隱藏的iframe提交數據
- 29. 使用css3隱藏數據屬性
- 30. 使用VBA隱藏數據透視表
你沒有得到我的問題,它沒有得到我的問題,它是關於如何使用C#語言讀取mp3數據幀,您建議的相關鏈接是在C,多少位數據幀用於播放歌曲... .hope你明白了我的觀點 – Napster 2010-12-27 09:38:52