Streaming FLAC over the Internet, Split from "The Future of FLAC" |
Streaming FLAC over the Internet, Split from "The Future of FLAC" |
Nov 22 2012, 12:06
Post
#1
|
|
![]() Group: Members Posts: 84 Joined: 12-May 08 Member No.: 53478 |
IMHO flac has one technical weakness that will prevent it taking off as THE standard -- namely it only has Variable Bit Rate compression algorithms. Which means that one cannot predict in advance the length of ouput file that will be generated for any input stream.
This is a problem when you want to transcode another format of audio file to flac and stream it over Http. The Http protocol requires sending a Content Length (number of bytes) header at the start of the streaming process. With flac you cannot know the number of bytes until after the full file has been transcoded. So this means that Http must either wait until the full transcoding has been completed, or alternatively if it wants to start streaming the data immediately, then it must provide some guessed value in its Content Length header (and this is not conformant to the Http specifications, and may cause problems in some music players...) By contrast, if you are (say) transcoding to mp3 and streaming that via Http, then the transcoder can select a Constant Bit Rate compression algorithm. And in such a case, the Http Content Length is easily calculated in advance as being the input audio file's duration (in seconds) multiplied by the CBR rate (in bytes per second). So if the flac standard were extended to allow both the existing Variable Bit Rate compression algorithm plus a new Constant Bit Rate option, then it would become much better suited for online streaming. This post has been edited by andrewfg: Nov 22 2012, 12:07 -------------------- AndrewFG (Whitebear -- http://www.whitebear.ch/mediaserver )
|
|
|
|
![]() |
Nov 22 2012, 12:26
Post
#2
|
|
![]() ReplayGain developer Group: Developer Posts: 4615 Joined: 5-November 01 From: Yorkshire, UK Member No.: 409 |
By definition, lossless compressed formats can't be CBR.
You could "abuse" the lossyWAV algorithm to make a near-lossless CBR-ish (maybe ABR, or at least capped bitrate) encoder fairly easily. Cheers, David. |
|
|
|
Nov 23 2012, 10:45
Post
#3
|
|
|
Group: Members Posts: 317 Joined: 28-November 01 From: South Australia Member No.: 555 |
By definition, lossless compressed formats can't be CBR. You could "abuse" the lossyWAV algorithm to make a near-lossless CBR-ish (maybe ABR, or at least capped bitrate) encoder fairly easily. Cheers, David. What about a ZIP format? IE All FLAC would be is a container for the WAV file. Is this possible without VBR? |
|
|
|
Nov 23 2012, 11:00
Post
#4
|
|
![]() Group: Members Posts: 1516 Joined: 30-November 06 Member No.: 38207 |
What about a ZIP format? IE All FLAC would be is a container for the WAV file. Is this possible without VBR? You mean, like when you store in a .zip without compressing? FLAC can do that. dBpoweramp also even supports conversion to uncompressed FLAC, likely to satisfy placebophiles who think it makes a difference. WAV is a container, by the way. -------------------- geocities.com/hydrogenaudio: http://goo.gl/tqYZj
|
|
|
|
Nov 24 2012, 00:20
Post
#5
|
|
|
Group: Members Posts: 317 Joined: 28-November 01 From: South Australia Member No.: 555 |
What about a ZIP format? IE All FLAC would be is a container for the WAV file. Is this possible without VBR? You mean, like when you store in a .zip without compressing? FLAC can do that. dBpoweramp also even supports conversion to uncompressed FLAC, likely to satisfy placebophiles who think it makes a difference. WAV is a container, by the way. There are some VERY SPECIAL people in this world For curiosity sake, what are the commands for uncompressed FLAC files in dBpoweramp? This post has been edited by funkyblue: Nov 24 2012, 00:22 |
|
|
|
Nov 24 2012, 00:30
Post
#6
|
|
![]() Group: Members Posts: 84 Joined: 12-May 08 Member No.: 53478 |
For curiosity sake, what are the commands for uncompressed FLAC files in dBpoweramp? I also would be interested to know if there are any commands for uncompressed flac output in either flac.exe or sox.exe? (As far as I can tell, this is not possible in flac.exe or sox.exe and the only way to do it is to either use libflac.dll or to compile your own wrapper around the flac source code libraries. But I would be delighted if anyone can explain otherwise...) -------------------- AndrewFG (Whitebear -- http://www.whitebear.ch/mediaserver )
|
|
|
|
andrewfg Streaming FLAC over the Internet Nov 22 2012, 12:06
greynol QUOTE (andrewfg @ Nov 22 2012, 03:06) IMH... Nov 22 2012, 12:15
andrewfg QUOTE (greynol @ Nov 22 2012, 12:15) Name... Nov 22 2012, 12:19
[JAZ] QUOTE (andrewfg @ Nov 22 2012, 12:19) It ... Nov 22 2012, 19:24
andrewfg QUOTE ([JAZ] @ Nov 22 2012, 19:24... Nov 22 2012, 22:35
andrewfg QUOTE (2Bdecided @ Nov 22 2012, 12:26) By... Nov 22 2012, 22:28

Porcus QUOTE (andrewfg @ Nov 22 2012, 22:28) QUO... Nov 22 2012, 23:49

Soap QUOTE (andrewfg @ Nov 22 2012, 17:28) QUO... Nov 23 2012, 00:19

andrewfg QUOTE (Soap @ Nov 23 2012, 00:19) You can... Nov 23 2012, 23:49

Porcus QUOTE (andrewfg @ Nov 23 2012, 23:49) Nev... Nov 24 2012, 02:20

Soap QUOTE (andrewfg @ Nov 23 2012, 18:49) ...... Nov 24 2012, 03:44

andrewfg QUOTE (Soap @ Nov 24 2012, 03:44) Congrat... Nov 24 2012, 14:52
funkyblue QUOTE (Porcus @ Nov 23 2012, 20:00) QUOTE... Nov 23 2012, 11:19
includemeout QUOTE (Porcus @ Nov 23 2012, 12:00) (...)... Nov 23 2012, 22:28
Wombat QUOTE (andrewfg @ Nov 24 2012, 01:30) I a... Nov 24 2012, 00:39
Nekit1234007 QUOTE (andrewfg @ Nov 22 2012, 15:06) The... Nov 22 2012, 12:45
andrewfg QUOTE (Nekit1234007 @ Nov 22 2012, 12:45)... Nov 22 2012, 22:31
[JAZ] QUOTE (andrewfg @ Nov 22 2012, 22:31) I a... Nov 23 2012, 21:17
andrewfg QUOTE ([JAZ] @ Nov 23 2012, 21:17... Nov 24 2012, 00:09
Porcus If this is still relevant after [JAZ]'s clarif... Nov 22 2012, 19:48
andrewfg QUOTE (Porcus @ Nov 22 2012, 19:48) FLAC ... Nov 22 2012, 22:37
funkyblue It is an option in dBpoweramp.
http://www.audiost... Nov 24 2012, 00:38
greynol QUOTE (andrewfg @ Nov 23 2012, 14:49) If ... Nov 24 2012, 00:58
andrewfg QUOTE (greynol @ Nov 24 2012, 00:58) Desp... Nov 24 2012, 14:04
Soap QUOTE (andrewfg @ Nov 24 2012, 09:04) I w... Nov 24 2012, 14:21
andrewfg QUOTE (Soap @ Nov 24 2012, 14:21) You men... Nov 24 2012, 18:22
greynol QUOTE (andrewfg @ Nov 24 2012, 09:22) if ... Nov 24 2012, 18:32
tuffy QUOTE (andrewfg @ Nov 24 2012, 12:22) The... Nov 24 2012, 18:48
Soap QUOTE (andrewfg @ Nov 24 2012, 12:22) No.... Nov 24 2012, 19:20
andrewfg QUOTE (Soap @ Nov 24 2012, 19:20) That is... Nov 25 2012, 01:10
Soap QUOTE (andrewfg @ Nov 24 2012, 19:10) Act... Nov 25 2012, 01:29
funkyblue I realise that but the link posted a bunch of cryp... Nov 24 2012, 01:10
73ChargerFan Seeking - store a seek table in the header, say fo... Nov 24 2012, 02:02
greynol You pad and your compression goes out the window. ... Nov 24 2012, 03:51
saratoga I guess in principle you'd have to pad for at ... Nov 24 2012, 03:55
greynol If you could manage to ensure that the only data t... Nov 24 2012, 04:00
Porcus Well if you are encoding the signal in advance, yo... Nov 24 2012, 11:36
greynol QUOTE (Porcus @ Nov 24 2012, 02:36) Well ... Nov 24 2012, 15:24
Porcus QUOTE (greynol @ Nov 24 2012, 15:24) QUOT... Nov 25 2012, 01:15
greynol @andrewfg:
Read my edit. Nov 24 2012, 18:48
greynol Axon posted a script to generate histograms and in... Nov 25 2012, 05:39
Axon QUOTE (greynol @ Nov 24 2012, 22:39) AFAI... Nov 25 2012, 06:34
2Bdecided I knew I should have brought popcorn. Nov 26 2012, 14:09![]() ![]() |
|
Lo-Fi Version | Time is now: 19th June 2013 - 22:24 |