<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: A few ways of &#8220;watermarking&#8221; mp3 files</title>
	<link>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/</link>
	<description>One Small Mouseover Hint for [a] Man, One Giant Doubleclick for Mankind</description>
	<pubDate>Tue, 06 Jan 2009 01:14:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2</generator>

	<item>
		<title>By: Roy</title>
		<link>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/#comment-1967</link>
		<author>Roy</author>
		<pubDate>Thu, 23 Oct 2008 09:31:43 +0000</pubDate>
		<guid>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/#comment-1967</guid>
		<description>@cygn: You don't even need to re-encode the data, just reformat the headers and removing oos-data, but I've heard of watermarking methods where the watermarking is actually encoded into the audio stream although disputed sice it would alter the audio quality.  The primary goal of watermarking is to identify the source of a media, even when the media is distorted somehow.  That is for instance when you copy a DVD onto a VHS or a CD to a MC.  (Why the hell would you do that?? ;) )</description>
		<content:encoded><![CDATA[<p>@cygn: You don&#8217;t even need to re-encode the data, just reformat the headers and removing oos-data, but I&#8217;ve heard of watermarking methods where the watermarking is actually encoded into the audio stream although disputed sice it would alter the audio quality.  The primary goal of watermarking is to identify the source of a media, even when the media is distorted somehow.  That is for instance when you copy a DVD onto a VHS or a CD to a MC.  (Why the hell would you do that?? <img src='http://spoox.org/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roy</title>
		<link>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/#comment-1966</link>
		<author>Roy</author>
		<pubDate>Thu, 23 Oct 2008 09:23:16 +0000</pubDate>
		<guid>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/#comment-1966</guid>
		<description>The framesync header is identified by 11 consecutive bits set to "one".  Out-of-stream data is data appearing after the data payload, but before the next frame, that is the next section starting with 11 consecutive bits set to "one".

When I created a script calculating the length of an mp3, I calculated that on a frame-to-frame basis.  That is finding the length of the first header, based on that skipping to the next, etc.  If I didn't find any header sync word where I expected it to be, I simply looked forward till I found the next valid sync header and verified that the header seemed valid.

You could also calculate the whole play time of an mp3 simply by looking at the fisrt header and then multiply that length with a formula based on the file size minus id3 and Lame header, but this will only work on constant bitrate files and woild certainly break if you put out-of-stream data into the mp3 stream.

Also such oos data is not part of the mp3 format, thus it is not given how mp3 players behaves in such situations.  It could work just fine, stop playing, play a little warbled sound or even crash where the oos-data resides.

Also worth to mention is that every other frame is one bit longer than the other frames, indicated by the "padding bit".</description>
		<content:encoded><![CDATA[<p>The framesync header is identified by 11 consecutive bits set to &#8220;one&#8221;.  Out-of-stream data is data appearing after the data payload, but before the next frame, that is the next section starting with 11 consecutive bits set to &#8220;one&#8221;.</p>
<p>When I created a script calculating the length of an mp3, I calculated that on a frame-to-frame basis.  That is finding the length of the first header, based on that skipping to the next, etc.  If I didn&#8217;t find any header sync word where I expected it to be, I simply looked forward till I found the next valid sync header and verified that the header seemed valid.</p>
<p>You could also calculate the whole play time of an mp3 simply by looking at the fisrt header and then multiply that length with a formula based on the file size minus id3 and Lame header, but this will only work on constant bitrate files and woild certainly break if you put out-of-stream data into the mp3 stream.</p>
<p>Also such oos data is not part of the mp3 format, thus it is not given how mp3 players behaves in such situations.  It could work just fine, stop playing, play a little warbled sound or even crash where the oos-data resides.</p>
<p>Also worth to mention is that every other frame is one bit longer than the other frames, indicated by the &#8220;padding bit&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rune Bjerke</title>
		<link>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/#comment-222</link>
		<author>Rune Bjerke</author>
		<pubDate>Thu, 26 Apr 2007 07:43:22 +0000</pubDate>
		<guid>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/#comment-222</guid>
		<description>@arun: It simply means that data can be added in between the valid MPEG frames, as long as that data does not look like valid MPEG frames with an MPEG frame sync header etc. Most players will just scan on and look for the next valid sync signature and ignore the junk in between.

That's why you e.g. can sometimes take a Flash file, an .avi file, or something else with an MPEG stream in it and drag it into Winamp or some other player and still get some sensible playback. Of course there are bits and pieces in between that will look as valid frames and cause blips and blops and noise..</description>
		<content:encoded><![CDATA[<p>@arun: It simply means that data can be added in between the valid MPEG frames, as long as that data does not look like valid MPEG frames with an MPEG frame sync header etc. Most players will just scan on and look for the next valid sync signature and ignore the junk in between.</p>
<p>That&#8217;s why you e.g. can sometimes take a Flash file, an .avi file, or something else with an MPEG stream in it and drag it into Winamp or some other player and still get some sensible playback. Of course there are bits and pieces in between that will look as valid frames and cause blips and blops and noise..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cygn</title>
		<link>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/#comment-101</link>
		<author>cygn</author>
		<pubDate>Tue, 03 Apr 2007 00:34:11 +0000</pubDate>
		<guid>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/#comment-101</guid>
		<description>But all these methods can be defeated by reencoding the file...</description>
		<content:encoded><![CDATA[<p>But all these methods can be defeated by reencoding the file&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: arun</title>
		<link>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/#comment-83</link>
		<author>arun</author>
		<pubDate>Sat, 31 Mar 2007 14:07:50 +0000</pubDate>
		<guid>http://spoox.org/wp/2007/02/12/a-few-ways-of-watermarking-mp3-files/#comment-83</guid>
		<description>The Explanation given is good and can you please elaborate more on the first method i.e., on "Adding out-of-stream data to the MPEG stream".</description>
		<content:encoded><![CDATA[<p>The Explanation given is good and can you please elaborate more on the first method i.e., on &#8220;Adding out-of-stream data to the MPEG stream&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
