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

Reply via email to