Log in

View Full Version : BeHappy: "The pipe has been ended"


djloewen
15th September 2009, 14:28
So after being told that BeSweet is a thing of the ancient past, I decided to give BeHappy a try. I'm attempting to encode a 6ch WAV (taken from a Blu-Ray by eac3to) to mp3. I downloaded the latest copy of BeHappy, put NicAudio.dll into the AviSynth folder, and put lame.exe into the BeHappy folder.

When I tried the encode, I got an error indicating that I was missing avisynthwrapper.dll. A search turned up an old post with a similar problem - that user was directed to use an old build of BeHappy that had the dll included. I downloaded this old version, and copied all missing files (but did not overwrite anything) to my BeHappy folder. Now I get this:

Starting job 2_4_audio.wav->2_4_audio.mp3
Found Audio Stream
Channels=6, BitsPerSample=24 int, SampleRate=48000Hz
lame.exe -b 128 -h -S --silent - "H:\BLU\2_4_audio.mp3"
Writing RIFF header to encoder's StdIn
Writing PCM data to encoder's StdIn
Error: System.IO.IOException: The pipe has been ended.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
at BeHappy.Encoder.encode()

What have I done this time? :)

tebasuna51
15th September 2009, 15:15
...
Channels=6, BitsPerSample=24 int, SampleRate=48000Hz
lame.exe -b 128 -h -S --silent - "H:\BLU\2_4_audio.mp3"
...
What have I done this time? :)

Lame support mono or stereo audio, but not multichannel.

You need include in [3] Digital Signal Processing a Downmix function before encode.

djloewen
15th September 2009, 15:22
Thanks for the reply, I assumed lame would handle that automatically. I see a file in the "extensions" folder called "DownMix.extension", but in the DSP section of the program I only see:
Convert to mono
Normalize to 100%
TimeStretch - 25 -> 23.976
Amplify by 0

How do I add a "Downmix to stereo" option?

EDIT: nevermind, I just had to close and reopen BeHappy :P

djloewen
15th September 2009, 15:34
Okay, next error message:

Starting job 2_4_audio.wav->2_4_audio.mp3
Found Audio Stream
Channels=2, BitsPerSample=32 int, SampleRate=48000Hz
encoder\lame.exe -b 128 -h -S --silent - "H:\BLU\2_4_audio.mp3"
Error: System.ApplicationException: Can't start encoder: The system cannot find the file specified ---> System.ComponentModel.Win32Exception: The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at BeHappy.Encoder.createEncoderProcess(AviSynthClip x)
--- End of inner exception stack trace ---
at BeHappy.Encoder.createEncoderProcess(AviSynthClip x)
at BeHappy.Encoder.encode()

Having restarted the program, this now happens whether or not I apply DSP before running.

EDIT: I've moved the lame.exe from the root folder to the "encoders" folder and now it works. Whatever :)

djloewen
15th September 2009, 15:43
Next problem:
I've got four Blu-Rays ripped. The WAV file on one is less than 4GB, and the length shows up correctly as 1:41:55. The other 3 are >4GB, and their lengths all show up incorrectly in Windows as 19-24mins. This one for example is 20:46. Well, now the mp3 I've encoded is 20:46.

tebasuna51
16th September 2009, 00:20
Next problem:
I've got four Blu-Rays ripped. The WAV file on one is less than 4GB, and the length shows up correctly as 1:41:55. The other 3 are >4GB, and their lengths all show up incorrectly in Windows as 19-24mins. This one for example is 20:46. Well, now the mp3 I've encoded is 20:46.
If you use RaWavSource to open wav files >4GB, instead WavSource, the problem is solved.

djloewen
16th September 2009, 02:23
Thank you!