Audible Audio: Difference between revisions
Jump to navigation
Jump to search
(revert spam/vandalism) |
No edit summary |
||
Line 4: | Line 4: | ||
* [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress] | * [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress] | ||
* [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry] | * [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry] | ||
==== Parsing metadata ==== | |||
This following Ruby code works for parsing the metadata on the only sample available: | |||
video = File.new(ARGV[0]) | |||
video.read(189) # skip header | |||
(1..19).each { |x| | |||
sizes = video.read(8).unpack('NN') | |||
key = video.read(sizes[0].to_i) | |||
value = video.read(sizes[0].to_i+1) | |||
puts "#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}" | |||
} | |||
Sample output (stripped): | |||
13 key(5)=codec value(7)=acelp85 | |||
16 key(10)=HeaderSeed value(10)=1158166611 | |||
18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117 | |||
19 key(15)=EncryptedBlocks value(5)=39333 | |||
[[Category: Container Formats]] | [[Category: Container Formats]] |
Revision as of 16:07, 19 August 2009
Proprietary container format from audible.com. There is no published specification. It may contain one of five different encodings which are numbered 1 thru 5. 1-3 are rumored to be ACELP.net at varying bitrates. #4 is MP3. #5 is some unknown Sony format.
Parsing metadata
This following Ruby code works for parsing the metadata on the only sample available:
video = File.new(ARGV[0]) video.read(189) # skip header (1..19).each { |x| sizes = video.read(8).unpack('NN') key = video.read(sizes[0].to_i) value = video.read(sizes[0].to_i+1) puts "#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}" }
Sample output (stripped):
13 key(5)=codec value(7)=acelp85 16 key(10)=HeaderSeed value(10)=1158166611 18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117 19 key(15)=EncryptedBlocks value(5)=39333