First order of business is to thank you all for this mailing list - this is has been an excellent resource for this total newbie to Rivendell. * * *Short Story:* rdimport and rdlibrary can import ogg and wav files, but not mp2 or mp3 files (neither constant nor variable bit rate). The ./configure step showed all Audio Codecs except for FLAC available, and caed reports that it loaded MAD.
*Long Story:* I compiled Rivendell 2.5.3 from source on Ubuntu 12.04.3 LTS (32-bit), and at the configuration summary I see: configure: "| Audio Codecs: |" configure: "| FLAC Encoding/Decoding Support ... Yes |" configure: "| MPEG Decoding Support ... Yes |" configure: "| MPEG Layer 2 Encoding Support ... Yes |" configure: "| MPEG Layer 3 Encoding Support ... Yes |" configure: "| OggVorbis Encoding/Decoding Support ... Yes |" When I restart the Rivendell daemons (with sudo service rivendell restart) I can see that caed writes to syslog "caed: Found TwoLAME encoder library, MPEG L2 encoding supported" and "Found MAD decoder library, MPEG L2 decoding supported". Is it correct to infer from that latter message that level 3 decoding is also supported? I can import wav and ogg files just fine: ##import an example ogg file - no errors, appears in rdlibrary $ rdimport TEST example.ogg ##make a copy as a wav file $ mplayer -ao pcm:file=example.wav example.ogg ##import the wav file copy - no errors, appears in rdlibrary $ rdimport TEST example.wav ##make an mp2 copy from the wav $ twolame example.wav example.mp2 ##attempt to import the mp2 -- no joy $ rdimport TEST example.mp2 Audio Converter Error: Unsupported Format, skipping example.mp2... ##turning on fix-broken-formats just in case: $ rdimport --verbose --fix-broken-formats TEST example.mp2 RDImport v2.5.3 Log mode is OFF Normalization level = -13 dB AutoTrim level = -30 dB Destination cart is AUTO Single cart mode is OFF Delete source mode is OFF Delete cuts mode is OFF DropBox mode is OFF Start Date Offset = 0 days End Date Offset = 0 days Broken format workarounds are ENABLED Import Create Dates mode is OFF Files to process: "example.mp2" Importing file "example.mp2" to cart 000110 ... Audio Converter Error: Unsupported Format, skipping example.mp2... ##make an mp3 copy of the wav $ lame --cbr example.wav example.mp3 LAME 3.99.3 32bits (http://lame.sf.net) CPU features: MMX (ASM used), SSE (ASM used), SSE2 Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz Encoding example.wav to example.mp3 Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3 Frame | CPU time/estim | REAL time/estim | play/CPU | ETA 31/31 (100%)| 0:00/ 0:00| 0:00/ 0:00| 16.196x| 0:00 ------------------------------------------------------------------------------------------------------------------ kbps LR MS % long switch short % 128.0 32.3 67.7 90.3 6.5 3.2 Writing LAME Tag...done ReplayGain: -6.9dB ##attempt to import the mp3 file $ rdimport --verbose TEST example.mp3 RDImport v2.5.3 Log mode is OFF Normalization level = -13 dB AutoTrim level = -30 dB Destination cart is AUTO Single cart mode is OFF Delete source mode is OFF Delete cuts mode is OFF DropBox mode is OFF Start Date Offset = 0 days End Date Offset = 0 days Broken format workarounds are DISABLED Import Create Dates mode is OFF Files to process: "example.mp3" Importing file "example.mp3" to cart 000110 ... Audio Converter Error: Unsupported Format, skipping example.mp3... Possibly of note: syslog contains this message whenever an rdimport fails: "rdxport.cgi: unlink(/var/snd/000110_001.wav): No such file or directory". However, from what I've read on the list, that's a fairly common warning and can typically be ignored. apache2's error.log has no entries during this time period. However, I notice that access.log does get one entry during each successful rdimport: "POST /rd-bin/rdxport.cgi HTTP/1.1" 200 283 ...and two entries during each failed rdimport: "POST /rd-bin/rdxport.cgi HTTP/1.1" 415 363 "POST /rd-bin/rdxport.cgi HTTP/1.1" 200 258 To further investigate what that 415 HTTP response meant, I fired up wireshark and captured the packets for one of those failed transactions. When I follow that TCP stream, I find this nugget in the response: HTTP/1.1 415 Unsupported Media Type Date: Mon, 14 Oct 2013 17:55:33 GMT Server: Apache/2.2.22 (Ubuntu) Transfer-Encoding: chunked Content-Type: application/xml a0 <RDWebResult> <ResponseCode>415</ResponseCode> <ErrorString>Unsupported Format</ErrorString> <AudioConvertError>6</AudioConvertError> </RDWebResult> A quick search through the source code reveals that the "6" is the ErrorCode enum entry for "ErrorFormatNotSupported=6" (from rdaudioconvert.h) which can be returned from RDAudioConvert::Stage1Mpeg if LoadMad() fails (for example of conv_mad_handle is NULL, which might happen if dlopen of libmad.so fails) I'm unsure how to proceed - perhaps I need to symlink my libmad.so in a location other than the system default? ( /usr/lib/i386-linux-gnu/libmad.so ) Or is this something that I can solve by adding a custom encoder to my Host definition? Thanks for your insight, Nate "DJ Homebody" Hartmann
_______________________________________________ Rivendell-dev mailing list [email protected] http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
