Народ!
Пдскажите пожалуйска, как реализовать программно конвертацию wav в mp3, какие библиотеки, кодеки использывать (бесплатные). Может есть где-то пример с исходниками?
Буду очень признателен.
Спасибо.
26.11.07 11:35: Перенесено модератором из '.NET' — TK
wirt однажды (24 ноября 2007г. [Суббота] 00:31) писал:
> Народ! > Пдскажите пожалуйска, как реализовать программно конвертацию wav в mp3, какие библиотеки, кодеки использывать (бесплатные). Может есть где-то пример с исходниками? > Буду очень признателен.
sheridan@amd /home/_configuration/img/space $ lame --help
LAME 64bits version 3.97 (http://www.mp3dev.org/)
usage: lame [options] <infile> [outfile]
<infile> and/or <outfile> can be "-", which means stdin/stdout.
RECOMMENDED:
lame -V2 input.wav output.mp3
OPTIONS:
-b bitrate set the bitrate, default 128 kbps
-h higher quality, but a little slower. Recommended.
-f fast mode (lower quality)
-V n quality setting for VBR. default n=4
0=high quality,bigger files. 9=smaller files
--preset type type must be "medium", "standard", "extreme", "insane",
or a value for an average desired bitrate and depending
on the value specified, appropriate quality settings will
be used.
"--preset help" gives more info on these
--longhelp full list of options
Здравствуйте, Sheridan, Вы писали:
S>wirt однажды (24 ноября 2007г. [Суббота] 00:31) писал:
>> Народ! >> Пдскажите пожалуйска, как реализовать программно конвертацию wav в mp3, какие библиотеки, кодеки использывать (бесплатные). Может есть где-то пример с исходниками? >> Буду очень признателен.
S>
S>LAME 64bits version 3.97 (http://www.mp3dev.org/)
S>usage: lame [options] <infile> [outfile]
S> <infile> and/or <outfile> can be "-", which means stdin/stdout.
S>RECOMMENDED:
S> lame -V2 input.wav output.mp3
S>
>> Спасибо.
S>Всегда пожалуйста
Спасибо. Но мне нужно чтобы мое .NET приложение, конвертировало файлы из wav в mp3. Как интегрировать lame_enc.dll в .NET app?
Есть где-то пример такого .NET приложения?
Здравствуйте, Sheridan, Вы писали:
S>wirt однажды (24 ноября 2007г. [Суббота] 00:31) писал:
>> Народ! >> Пдскажите пожалуйска, как реализовать программно конвертацию wav в mp3, какие библиотеки, кодеки использывать (бесплатные). Может есть где-то пример с исходниками? >> Буду очень признателен.
S>
S>LAME 64bits version 3.97 (http://www.mp3dev.org/)
S>
Народ,такой вопрос относительно Lame. Подскажите, что насчет лицензии, можно ли использовать его в комерческом продукте? Если нет, то подскажите бесплатную альтернативу.
wirt однажды (25 ноября 2007г. [Воскресенье] 13:19) писал:
> Народ,такой вопрос относительно Lame. Подскажите, что насчет лицензии, можно ли использовать его в комерческом продукте? Если нет, то подскажите бесплатную альтернативу.
LAME is an MPEG Audio Layer III (MP3) encoder licensed under the LGPL.
Здравствуйте, wirt, Вы писали:
W>Народ! W>Пдскажите пожалуйска, как реализовать программно конвертацию wav в mp3, какие библиотеки, кодеки использывать (бесплатные). Может есть где-то пример с исходниками? W>Буду очень признателен.
W>Спасибо.
Здравствуйте, wirt, Вы писали:
W>Народ! W>Пдскажите пожалуйска, как реализовать программно конвертацию wav в mp3, какие библиотеки, кодеки использывать (бесплатные). Может есть где-то пример с исходниками? W>Буду очень признателен.
W>Спасибо.
Здравствуйте, wirt, Вы писали:
W>как реализовать программно конвертацию wav в mp3
Вопрос поставлен некорректно. wav — это формат контейнера, внутри которого может быть всё, что угодно, в том числе и mp3
Здравствуйте, Sheridan, Вы писали:
S>wirt однажды (24 ноября 2007г. [Суббота] 00:31) писал:
>> Народ! >> Пдскажите пожалуйска, как реализовать программно конвертацию wav в mp3, какие библиотеки, кодеки использывать (бесплатные). Может есть где-то пример с исходниками? >> Буду очень признателен.
S>[code] S>sheridan@amd /home/_configuration/img/space $ lame --help S>LAME 64bits version 3.97 (http://www.mp3dev.org/)
А как можно конвертировать wav в mp3 если в wav содержит звук кодированный кодеком G711 (pcmu или pcma)? Можно ли как-то его сконвертировать?
Здравствуйте, wirt, Вы писали:
W>Народ! W>Пдскажите пожалуйска, как реализовать программно конвертацию wav в mp3, какие библиотеки, кодеки использывать (бесплатные). Может есть где-то пример с исходниками? W>Буду очень признателен.
W>Спасибо.
Попробуйте lame.dll (библиотека бесплатная, найти в итнернете не проблема),
вот хэдер для неё:
unit Lame_dll;
{Delphi conversion for lame.dll 3.8x
Lame is freeware MP3 encoder
Full source (in C++) available from http://www.sulaco.org/mp3}interface
uses Windows;
const
BE_CONFIG_MP3 = 0;
BE_CONFIG_LAME = 256;
type
THBESTREAM = ULONG;
PHBESTREAM = ^THBESTREAM;
TBEERR = ULONG;
PSHORT = ^SHORT;
PBYTE = ^Byte;
const
BE_ERR_SUCCESSFUL = $00000000;
BE_ERR_INVALID_FORMAT = $00000001;
BE_ERR_INVALID_FORMAT_PARAMETERS = $00000002;
BE_ERR_NO_MORE_HANDLES = $00000003;
BE_ERR_INVALID_HANDLE = $00000004;
BE_ERR_BUFFER_TOO_SMALL = $00000005;
BE_MAX_HOMEPAGE = 256;
BE_MP3_MODE_STEREO = 0;
BE_MP3_MODE_JSTEREO = 1;
BE_MP3_MODE_DUALCHANNEL = 2;
BE_MP3_MODE_MONO = 3;
MPEG1 = 1;
MPEG2 = 0;
type
MPEG_QUALITY = (NORMAL_QUALITY, LOW_QUALITY, HIGH_QUALITY, VOICE_QUALITY);
PLHV1 = ^TLHV1;
TLHV1 = packed record
dwStructVersion : DWORD;
dwStructSize : DWORD;
dwSampleRate : DWORD;
dwReSampleRate : DWORD;
nMode : INTEGER;
dwBitrate : DWORD;
dwMaxBitrate : DWORD;
nQuality : DWORD; {MPEG_QUALITY ;}
dwMpegVersion : DWORD;
dwPsyModel : DWORD;
dwEmphasis : DWORD;
bPrivate : BOOL;
bCRC : BOOL;
bCopyright : BOOL;
bOriginal : BOOL;
bWriteVBRHeader : BOOL;
bEnableVBR : BOOL;
nVBRQuality : integer;
btReserved : array [1..255] of byte;
end;
PLameMP3 = ^TLameMP3;
TLameMP3 = packed record
dwSampleRate : DWORD;
// 48000, 44100 and 32000 allowed
byMode : Byte;
// BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO
wBitrate : Word;
// 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320 allowed
bPrivate,
bCRC,
bCopyright,
bOriginal : BOOLean;
end;
PAAC = ^TAAC;
TAAC = packed record
dwSampleRate : DWORD;
byMode : Byte;
wBitrate : Word;
byEncodingMethod : Byte;
end;
PFormat = ^TFormat;
TFormat = packed record
case dwConfig : DWord of
BE_CONFIG_MP3 : (MP3 : TLameMP3);
BE_CONFIG_LAME : (LHV1 : TLHV1);
end;
PBECONFIG = ^TBECONFIG;
TBECONFIG = packed record
Format : TFormat;
end;
PBEVersion = ^TBEVersion;
TBEVersion = packed record// BladeEnc DLL Version number
byDLLMajorVersion,
byDLLMinorVersion,
// BladeEnc Engine Version Number
byMajorVersion,
byMinorVersion,
// DLL Release date
byDay,
byMonth : Byte;
wYear : Word;
zHomepage : Array[0..BE_MAX_HOMEPAGE] of char;
end;
function beInitStream(var pbeConfig : TBEConfig; var dwSamples : DWORD; var dwBufferSize : DWORD; var phbeStream : THBESTREAM) : TBeErr; cdecl; external'lame.dll';
(*
pbeConfig = Type of mp3
dwSamples = Maximum number of samples to encode
dwBufferSize = Maximum mp3 buffer size
hbeStream = BladeEnc-stream
*)function beEncodeChunk(hbeStream : THBEStream; nSamples : DWORD; pSamples : PShort; pOutput : PByte; var pdwOutput : DWORD) : TBeErr; cdecl; external'lame.dll';
(*
hbeStream =
nSamples = Number of samples to encode
pSamples = Pointer to buffer with Samples to encode
pOutput = Pointer to buffer to recieve encoded samples
pdwOutput = number of samples encoded
*)function beDeinitStream(hbeStream : THBEStream; pOutput : PByte; var pdwOutput : DWORD) : TBeErr; cdecl; external'lame.dll';
(*
hbeStream =
pOutput = Pointer to buffer holding encoded samples
pdwOutput = Number of samples to write
*)function beCloseStream(hbeStream : THBEStream) : TBeErr; cdecl; external'lame.dll';
procedure beVersion(var pbeVersion : TBEVersion); cdecl; external'lame.dll';
implementation
end.
Здравствуйте, D. Mon, Вы писали:
W>>А как можно конвертировать wav в mp3 если в wav содержит звук кодированный кодеком G711 (pcmu или pcma)? Можно ли как-то его сконвертировать?
DM>Да, декодировать в PCM (если есть кодек для G711 )и свести к предыдущей задаче. При наличии кодеков, в DirectShow делается очень легко.
а можно ссылку на работающий пример декодирования с помощью DirectShow, т.к. с ним не работал никогда.