Un4seen.Bass.MiscBaseEncoder
Un4seen.Bass.MiscEncoderFHGAACplus
Namespace: Un4seen.Bass.Misc
Assembly: Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
The EncoderFHGAACplus type exposes the following members.
Name | Description | |
---|---|---|
EncoderFHGAACplus |
Creates an instance of a FHG Winamp AACplus encoder implementation.
|
Name | Description | |
---|---|---|
ChannelBitwidth |
This property returns the actual bitwidth of the sample data of the channel (e.g. 8, 16, 32).
(Inherited from BaseEncoder.) | |
ChannelHandle |
Gets or Sets the channel handle which is used to create the broadcast encoder class.
(Inherited from BaseEncoder.) | |
ChannelInfo |
Returns the general channel info.
(Inherited from BaseEncoder.) | |
ChannelNumChans |
This property returns the actual number of channles of the sample data BASS is using with the channel (e.g. 1=mono, 2=stereo, etc.).
(Inherited from BaseEncoder.) | |
ChannelSampleRate |
This property returns the actual sample rate in Hz of the sample data BASS is using with the channel (e.g. 44100).
(Inherited from BaseEncoder.) | |
DefaultOutputExtension |
This return the default extension of an output file for this encoder (either ".aac" or ".m4a").
(Overrides BaseEncoderDefaultOutputExtension.) | |
EffectiveBitrate |
Returns the CBR encoder bitrate (in kbps) of the output.
(Overrides BaseEncoderEffectiveBitrate.) | |
EncoderCommandLine |
Gets the actual encoder command-line string (using all AACPlus_xxx properties).
(Overrides BaseEncoderEncoderCommandLine.) | |
EncoderDirectory |
Gets or Sets the encoder's base directory.
(Inherited from BaseEncoder.) | |
EncoderExists |
This property return , if the files "fhgaacenc.exe", "enc_fhgaac.dll", "libsndfile-1.dll" and "nsutil.dll" exists in the EncoderDirectory - else is returned.
(Overrides BaseEncoderEncoderExists.) | |
EncoderHandle |
Gets or sets the current HENCODE encoder handle.
(Inherited from BaseEncoder.) | |
EncoderType |
Gets a value indicating the type of content. Here BASS_CTYPE_STREAM_AAC is always returned.
(Overrides BaseEncoderEncoderType.) | |
Force16Bit |
Gets or Sets if a encoding in 16-bit sample data should be forced (default is ).
(Inherited from BaseEncoder.) | |
InputFile |
Gets or Sets the input file name to be processed by the encoder (null = STDIN, default).
(Inherited from BaseEncoder.) | |
IsActive |
Gets a value indicating if the encoder has been started (see Start(ENCODEPROC, IntPtr, Boolean)) and is active - else will be returned.
(Inherited from BaseEncoder.) | |
IsPaused |
Gets a value indicating if the encoder has been paused (see Pause(Boolean)) - else must be returned.
(Inherited from BaseEncoder.) | |
IsStreaming |
Is this instance used for streaming? When set to true, some internal encoder options might be set.
Default is false.
(Inherited from BaseEncoder.) | |
NoLimit |
Gets or Sets if encoding should use the CAST_NOLIMIT flag (which is only needed, if the encoder is used for streaming).
(Inherited from BaseEncoder.) | |
OutputFile |
Gets or Sets the output file name to be processed by the encoder (null = STDOUT, default).
(Inherited from BaseEncoder.) | |
SupportsSTDOUT |
The "fhgaacenc.exe" implements STDOUT, so is always returned.
(Overrides BaseEncoderSupportsSTDOUT.) | |
TAGs |
Gets or Sets the TAG_INFO structure associated with the encoder.
(Inherited from BaseEncoder.) | |
UseAsyncQueue |
Gets or Sets if encoding should use an async queue (i.e. the BASS_ENCODE_QUEUE flag).
(Inherited from BaseEncoder.) |
Name | Description | |
---|---|---|
Dispose |
Implement IDisposable.
(Inherited from BaseEncoder.) | |
Finalize |
Finalization code.
(Inherited from BaseEncoder.) | |
IsWinampInstalled |
Determines, if Winamp is installed on your machine(only work on Windows using the Full Framework).
| |
Pause |
Pauses or resumes an encoder.
(Inherited from BaseEncoder.) | |
SettingsString |
Returns the string representation of the current encoder settings.
(Overrides BaseEncoderSettingsString.) | |
Start |
This method starts the actual FHG AACplus encoder.
(Overrides BaseEncoderStart(ENCODEPROC, IntPtr, Boolean).) | |
Stop |
Stops the encoder immediately (if started).
(Inherited from BaseEncoder.) | |
Stop(Boolean) |
Stops the encoder (if started).
(Inherited from BaseEncoder.) | |
ToString |
Returns the name of the Encoder.
(Overrides ObjectToString.) |
Name | Description | |
---|---|---|
AACPlus_ConstantBitrate |
--cbr: encode in CBR mode; bitrate in kbps (8..576), default 128 kbps.
| |
AACPlus_Profile |
--profile: choose the AAC profile (only for CBR mode); default is Auto.
| |
AACPlus_UseADTS |
Use ADTS container instead of MPEG-4.
| |
AACPlus_VariableBitrate |
--vbr: encode in VBR mode; preset 1..5, default is 0 (disabled).
|
fhgaacenc (fhgaacenc.exe) must be downloaded separately (e.g. from https://github.com/tmkk/fhgaacenc).
Since "fhgaacenc.exe" also needs the mentioned Winamp DLLs ("enc_fhgaac.dll", "nsutil.dll" and "libmp4v2.dll" as of version 5.62 or above) you also need to install Winamp and copy the Winamp DLLs from the Winamp resp. Winamp/PlugIns folder into the same folder which contains fhgaacenc.exe (or you might also copy "fhgaacenc.exe" and "libsndfile-1.dll" into the Winamp/PlugIns folder).
The FHG Winamp AACPlus library does not support 32-bit floating point sample data as input, so the BASS_ENCODE_FP_32BIT flag will automatically be used.
Make sure to set the AACPlus_xxx flags before retrieving the EncoderCommandLine or calling Start(ENCODEPROC, IntPtr, Boolean).
This implementation uses the automatic DSP system for encoding. Meaning the sending of sample data to the encoder is done automatically when you play the channel (BASS_ChannelPlay(Int32, Boolean)) or call BASS_ChannelGetData(Int32, IntPtr, Int32) (if it's a decoding channel). So there is no need to call BASS_Encode_Write(Int32, IntPtr, Int32) manually!
The extension of the OutputFile can be either .acc to write an aac bitstream output file or .m4a/.mp4 to box the output to a MP4 container (note, that using m4a/mp4 requires "libmp4v2.dll" to be present).
If you simply want to encode a physical file please also take a look to the EncodeFile(String, String, BaseEncoder, BaseEncoderENCODEFILEPROC, Boolean, Boolean).