Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Keeping recording stream with Streamripper using Foobar2000 in 2024 ? (Read 22062 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Hi guys,

I use Streamripper 1.64.6 with 'foo_run' 0.4.5 and Windows 11 (x64).

Everything was working several weeks ago but today it seems that it is not working anymore.
The stream recording launch well but every minutes or less it changes tracks by itself while playing the same stream channel as I'am recording.
If I don't record the stream does not change tracks.
If I close Foobar2000 while recording, the record stream looks like f***d up, and cannot record properly without re-creating another line and keep skipping it while never recording at least a full track.

I join you guys my settings which worked well until now.

Any help will be highly appreciated





Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #1
if it can help, I just tried all various old Foobar2000 releases (aswell as 2.x and 1.x) and still the same issue, so it looks not to be from  Foobar2000 side

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #2
I wonder if it has to due with the audio stream being composed of "chunks" of M4A data, for example like this playlist for "Power Love Radio" (https://listen.powerapp.com.tr/powerlove/abr/playlist.m3u8) shows, and Streamripper is just too old to handle it?

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=280745,CODECS="mp4a.40.2"
powerlove/256/chunks.m3u8?nimblesessionid=1813168559
#EXT-X-STREAM-INF:BANDWIDTH=147572,CODECS="mp4a.40.2"
powerlove/128/chunks.m3u8?nimblesessionid=1813168559
#EXT-X-STREAM-INF:BANDWIDTH=113629,CODECS="mp4a.40.2"
powerlove/96/chunks.m3u8?nimblesessionid=1813168559
#EXT-X-STREAM-INF:BANDWIDTH=84872,CODECS="mp4a.40.2"
powerlove/64/chunks.m3u8?nimblesessionid=1813168559

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #3
I wonder if it has to due with the audio stream being composed of "chunks" of M4A data, for example like this playlist for "Power Love Radio" (https://listen.powerapp.com.tr/powerlove/abr/playlist.m3u8) shows, and Streamripper is just too old to handle it?

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=280745,CODECS="mp4a.40.2"
powerlove/256/chunks.m3u8?nimblesessionid=1813168559
#EXT-X-STREAM-INF:BANDWIDTH=147572,CODECS="mp4a.40.2"
powerlove/128/chunks.m3u8?nimblesessionid=1813168559
#EXT-X-STREAM-INF:BANDWIDTH=113629,CODECS="mp4a.40.2"
powerlove/96/chunks.m3u8?nimblesessionid=1813168559
#EXT-X-STREAM-INF:BANDWIDTH=84872,CODECS="mp4a.40.2"
powerlove/64/chunks.m3u8?nimblesessionid=1813168559

Thanks
I guess there is no good alternative as Streamripper for Foobar2000 then :( this is sad

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #4
ffmpeg

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #5
ffmpeg
Bogozo could you elaborate?  Can you set up ffmpeg to rip radio streams to metadata-named files on-the-fly?  If so, please share!

I have used wget.exe with Foobar to save streams, but I don't know how to set it up to rip to individual tracks like Streamripper. It can rip unaltered FLAC streams so it might be able to do the chunked M4A stuff as well.  The last compiled Windows 64-bit binary I could find of that was version 1.21.3 (3/12/2022) and is digitally signed--well cool, there is I see a 1.21.4 signed version from May 2023 out now: https://eternallybored.org/misc/wget/ .

There is a different unsigned 1.21.3 build downloadable here: https://github.com/webfolderio/wget-windows/releases/download/v1.21.3/wget-1.21.3-64bit-OpenSSL.zip.

I've attached the HTML options file that came with the build I have so hopefully some quicker than I may be able to come up with the proper options for Foobar's Run Services to have it rip to tracks instead of an unbroken stream.  Note juicy options like:

"--metalink-over-http
Issues HTTP HEAD request instead of GET and extracts Metalink metadata from response headers. Then it switches to Metalink download. If no valid Metalink metadata is found, it falls back to ordinary HTTP download. Enables Content-Type: application/metalink4+xml files download/processing."

Finally there is also a multithreaded wget2 to make things interesting, for binaries see the "releases" link on right panel: https://gitlab.com/gnuwget/wget2

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #6
Thanks
I guess there is no good alternative as Streamripper for Foobar2000 then :( this is sad
I'm hoping some of our genius plugin writers here (case, mudlord, pgyt, Peter, et. al.) would be so kind as to create a plugin for Foobar that functions as a Streamripper replacement and update.  The functionality model right now IMO is the slick built-in stream recorder of the AIMP music player with its simple on/off button on the player body:

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #7
Thanks
I guess there is no good alternative as Streamripper for Foobar2000 then :( this is sad
I'm hoping some of our genius plugin writers here (case, mudlord, pgyt, Peter, et. al.) would be so kind as to create a plugin for Foobar that functions as a Streamripper replacement and update.  The functionality model right now IMO is the slick built-in stream recorder of the AIMP music player with its simple on/off button on the player body:


I just migrated to AIMP music player too and it works pretty well already, many thanks for sharing! appreciated



Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #10
My alternative below.

A script using liquidsoap to record internet radio streams (like streamripper).
Supports Metadata separation, aac mp3 flac opus vorbis streams - Windows  / Linux

https://github.com/smoralis/liquidsoap-record
I've helped test zeremy's "LSR" (liquidsoap-record) on Windows 11 with Foobar v2.2 x64 Portable, and it's one slick creation.  Just as one point of comparison, unlike Streamripper it will do direct stream copies of FLAC (even 24-bit!) and Opus streams (as it will with MP3 AAC and OGG), adding track metadata title/artist if supplied by the stream to a Vorbis tag.  Even AIMP cannot record direct stream FLAC/Opus.

Full transcoding ability is also available using a number of options.  Like Streamripper, this is a command-line application, and user options must be set in the script.  Beginners may be intimidated at first.

LSR is invoked in Foobar via foo_run, just like Streamripper.  It requires ffmpeg and ffprobe be installed on your PC, which if included in your Windows PATH environmental variable need no further editing for LSR to find them.  It also needs the Liquid Soap application be installed, which you can download here:  https://github.com/savonet/liquidsoap/releases/tag/v2.2.5 .  I used the 64-bit portable version installed to C:\liquidsoap.  Afterwards, download zeremy's modified record.liq file (https://github.com/smoralis/liquidsoap-record/blob/main/record.liq) and let it overwrite the existing file in the liquidsoap directory.

This new statement in the Run Services path box will run LSR as direct-stream copy and save files to a C:\Streams folder.  An m3u file is also created although that function can be commented out in record.liq (lines 153-156).  Change the paths of liquidsoap.exe and record.liq to match yours:

Code: [Select]
"C:\liquidsoap\liquidsoap.exe" "C:\liquidsoap\record.liq" -- -url %path% -dir "C:\Streams"
When playing a stream and starting a recording via a Run Service context menu shortcut, a command window will open and ffmpeg/liquidsoap initiating parameters will be shown, followed by an ongoing indication that the track is being recorded.  Recording can be stopped/LSR exited by CTRL-C.  As with Streamripper the attempt is made to end and begin new tracks at the proper time interval, although stations' usual practice of running one track into the next make this a best-effort task.  Tools like Mp3DirectCut are your friend.

Thanks zeremy for your work in making this available to us!


Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #11
My alternative below.

A script using liquidsoap to record internet radio streams (like streamripper).
Supports Metadata separation, aac mp3 flac opus vorbis streams - Windows  / Linux

https://github.com/smoralis/liquidsoap-record
I've helped test zeremy's "LSR" (liquidsoap-record) on Windows 11 with Foobar v2.2 x64 Portable, and it's one slick creation.  Just as one point of comparison, unlike Streamripper it will do direct stream copies of FLAC (even 24-bit!) and Opus streams (as it will with MP3 AAC and OGG), adding track metadata title/artist if supplied by the stream to a Vorbis tag.  Even AIMP cannot record direct stream FLAC/Opus.

Full transcoding ability is also available using a number of options.  Like Streamripper, this is a command-line application, and user options must be set in the script.  Beginners may be intimidated at first.

LSR is invoked in Foobar via foo_run, just like Streamripper.  It requires ffmpeg and ffprobe be installed on your PC, which if included in your Windows PATH environmental variable need no further editing for LSR to find them.  It also needs the Liquid Soap application be installed, which you can download here:  https://github.com/savonet/liquidsoap/releases/tag/v2.2.5 .  I used the 64-bit portable version installed to C:\liquidsoap.  Afterwards, download zeremy's modified record.liq file (https://github.com/smoralis/liquidsoap-record/blob/main/record.liq) and let it overwrite the existing file in the liquidsoap directory.

This new statement in the Run Services path box will run LSR as direct-stream copy and save files to a C:\Streams folder.  An m3u file is also created although that function can be commented out in record.liq (lines 153-156).  Change the paths of liquidsoap.exe and record.liq to match yours:

Code: [Select]
"C:\liquidsoap\liquidsoap.exe" "C:\liquidsoap\record.liq" -- -url %path% -dir "C:\Streams"
When playing a stream and starting a recording via a Run Service context menu shortcut, a command window will open and ffmpeg/liquidsoap initiating parameters will be shown, followed by an ongoing indication that the track is being recorded.  Recording can be stopped/LSR exited by CTRL-C.  As with Streamripper the attempt is made to end and begin new tracks at the proper time interval, although stations' usual practice of running one track into the next make this a best-effort task.  Tools like Mp3DirectCut are your friend.

Thanks zeremy for your work in making this available to us!



Thanks a lot to zeremy and you for the tutorial, I just tried and it works well in a station test, but for the usual streams I would like to record, I have the following issue in the log :

Code: [Select]
2024/09/14 21:19:51 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))

Here is an example stream link I would like to record is like the following (I intentionally hide the real numbers by xxxx) : http://prem2.di.fm/deepprogressivehouse_hi?xxxxxxxxxxxxxxxxx

Any idea ?
Maybe it's the script 'record.liq' which is not compatible with user auth pass ? could it be implemented maybe ? (that would be great)


Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #12

Thanks a lot to zeremy and you for the tutorial, I just tried and it works well in a station test, but for the usual streams I would like to record, I have the following issue in the log :

Code: [Select]
2024/09/14 21:19:51 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))

Here is an example stream link I would like to record is like the following (I intentionally hide the real numbers by xxxx) : http://prem2.di.fm/deepprogressivehouse_hi?xxxxxxxxxxxxxxxxx

Any idea ?
Maybe it's the script 'record.liq' which is not compatible with user auth pass ? could it be implemented maybe ? (that would be great)


Could you change line 77 in record.liq to #split_url and see if it works?

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #13

Thanks a lot to zeremy and you for the tutorial, I just tried and it works well in a station test, but for the usual streams I would like to record, I have the following issue in the log :

Code: [Select]
2024/09/14 21:19:51 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))

Here is an example stream link I would like to record is like the following (I intentionally hide the real numbers by xxxx) : http://prem2.di.fm/deepprogressivehouse_hi?xxxxxxxxxxxxxxxxx

Any idea ?
Maybe it's the script 'record.liq' which is not compatible with user auth pass ? could it be implemented maybe ? (that would be great)


Could you change line 77 in record.liq to #split_url and see if it works?


Thanks for your reply, I just tried and still fails, here is the log (on which I replaced as always by 'xxxx' about my personal API key) :


Code: [Select]
2024/09/15 08:40:11 >>> LOG START
2024/09/15 08:40:08 [ffmpeg.filter.bitstream:3] No valid mode found for filter pgs_frame_merge!
2024/09/15 08:40:08 [main:3] Liquidsoap 2.2.5
2024/09/15 08:40:08 [main:3] Using: angstrom=0.15.0 ao=0.2.4 bigarray=[distributed with Ocaml] bigarray-compat=1.0.0 bigstringaf=0.9.1 bytes=[distributed with OCaml 4.02 or above] camlp-streams camomile.lib=2.0 cry=1.0.2 ctypes=0.22.0 ctypes-foreign=0.22.0 ctypes.stubs=0.22.0 curl=0.9.2 dtools=0.4.5 dune-build-info=3.2.0 dune-private-libs.dune-section=3.2.0 dune-site=3.2.0 duppy=0.9.4 ffmpeg-av=1.1.10 ffmpeg-avcodec=1.1.10 ffmpeg-avdevice=1.1.10 ffmpeg-avfilter=1.1.10 ffmpeg-avutil=1.1.10 ffmpeg-swresample=1.1.10 ffmpeg-swscale=1.1.10 fileutils=0.6.4 gen=1.1 integers lastfm=0.3.4 liquidsoap-lang=2.2.5 liquidsoap-lang.console=2.2.5 liquidsoap_ao liquidsoap_builtins liquidsoap_core liquidsoap_ffmpeg liquidsoap_lastfm liquidsoap_mem_usage liquidsoap_memtrace liquidsoap_optionals liquidsoap_portaudio liquidsoap_runtime liquidsoap_samplerate liquidsoap_srt liquidsoap_ssl liquidsoap_stereotool liquidsoap_taglib liquidsoap_xmlplaylist magic-mime=1.3.1 mem_usage=0.1.1 memtrace=v0.2.2 menhirLib=20230608 metadata=0.3.0 mm=0.8.4 mm.audio=0.8.4 mm.base=0.8.4 mm.image=0.8.4 mm.midi=0.8.4 mm.video=0.8.4 pcre=7.5.0 portaudio=0.2.3 posix-base=2.0.2 posix-socket=2.0.2 posix-socket.constants=2.0.2 posix-socket.stubs=2.0.2 posix-socket.types=2.0.2 re=1.11.0 samplerate=0.1.6 sedlex=3.2 seq=[distributed with OCaml 4.07 or above] srt=0.3.0 srt.constants=0.3.0 srt.stubs=0.3.0 srt.stubs.locked=0.3.0 srt.types=0.3.0 ssl=0.7.0 stdlib-shims=0.3.0 stereotool str=[distributed with Ocaml] stringext=1.6.0 taglib=0.3.10 threads=[distributed with Ocaml] threads.posix=[internal] unix=[distributed with Ocaml] uri=4.2.0 winsvc=1.0.1 xmlm=1.4.0 xmlplaylist=0.1.5
2024/09/15 08:40:08 [clock:3] Using builtin (low-precision) implementation for latency control
2024/09/15 08:40:10 [main:3] Standard library loaded in 1.94 seconds.
2024/09/15 08:40:10 [liquidsoap-record:2] Stripped %url% after ? of: xxxxxxxxxxxxxxxxxxxxxxxx
2024/09/15 08:40:10 [liquidsoap-record:2] ffprobe icy-name:
2024/09/15 08:40:10 [liquidsoap-record:2] Saving to folder: http---prem2difm-vocallounge_hi
2024/09/15 08:40:11 [liquidsoap-record:2] ffprobe failed to get codec_name!!! with error: Parsing error: json value cannot be parsed as type {streams: _, _}
2024/09/15 08:40:11 [liquidsoap-record:2] Is the stream online ??
2024/09/15 08:40:11 [liquidsoap-record:2] STREAM COPY MODE
2024/09/15 08:40:11 [liquidsoap-record:2] Recording.. X:\Musiques\StreamRIP\ripped/http---prem2difm-vocallounge_hi/2024-09-15_08-40-11.mp3.rec#s
2024/09/15 08:40:11 [liquidsoap-record:2] --press CTRL-C to stop/exit.
2024/09/15 08:40:11 [liquidsoap-record:2] Recorded 00:00 [2024-09-15_08-40-11.mp3.rec#s]
2024/09/15 08:40:11 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:14 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:16 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:18 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:21 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:23 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
[...]

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #14

Thanks a lot to zeremy and you for the tutorial, I just tried and it works well in a station test, but for the usual streams I would like to record, I have the following issue in the log :

Code: [Select]
2024/09/14 21:19:51 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))

Here is an example stream link I would like to record is like the following (I intentionally hide the real numbers by xxxx) : http://prem2.di.fm/deepprogressivehouse_hi?xxxxxxxxxxxxxxxxx

Any idea ?
Maybe it's the script 'record.liq' which is not compatible with user auth pass ? could it be implemented maybe ? (that would be great)


Could you change line 77 in record.liq to #split_url and see if it works?


Thanks for your reply, I just tried and still fails, here is the log (on which I replaced as always by 'xxxx' about my personal API key) :


Code: [Select]
2024/09/15 08:40:11 >>> LOG START
2024/09/15 08:40:08 [ffmpeg.filter.bitstream:3] No valid mode found for filter pgs_frame_merge!
2024/09/15 08:40:08 [main:3] Liquidsoap 2.2.5
2024/09/15 08:40:08 [main:3] Using: angstrom=0.15.0 ao=0.2.4 bigarray=[distributed with Ocaml] bigarray-compat=1.0.0 bigstringaf=0.9.1 bytes=[distributed with OCaml 4.02 or above] camlp-streams camomile.lib=2.0 cry=1.0.2 ctypes=0.22.0 ctypes-foreign=0.22.0 ctypes.stubs=0.22.0 curl=0.9.2 dtools=0.4.5 dune-build-info=3.2.0 dune-private-libs.dune-section=3.2.0 dune-site=3.2.0 duppy=0.9.4 ffmpeg-av=1.1.10 ffmpeg-avcodec=1.1.10 ffmpeg-avdevice=1.1.10 ffmpeg-avfilter=1.1.10 ffmpeg-avutil=1.1.10 ffmpeg-swresample=1.1.10 ffmpeg-swscale=1.1.10 fileutils=0.6.4 gen=1.1 integers lastfm=0.3.4 liquidsoap-lang=2.2.5 liquidsoap-lang.console=2.2.5 liquidsoap_ao liquidsoap_builtins liquidsoap_core liquidsoap_ffmpeg liquidsoap_lastfm liquidsoap_mem_usage liquidsoap_memtrace liquidsoap_optionals liquidsoap_portaudio liquidsoap_runtime liquidsoap_samplerate liquidsoap_srt liquidsoap_ssl liquidsoap_stereotool liquidsoap_taglib liquidsoap_xmlplaylist magic-mime=1.3.1 mem_usage=0.1.1 memtrace=v0.2.2 menhirLib=20230608 metadata=0.3.0 mm=0.8.4 mm.audio=0.8.4 mm.base=0.8.4 mm.image=0.8.4 mm.midi=0.8.4 mm.video=0.8.4 pcre=7.5.0 portaudio=0.2.3 posix-base=2.0.2 posix-socket=2.0.2 posix-socket.constants=2.0.2 posix-socket.stubs=2.0.2 posix-socket.types=2.0.2 re=1.11.0 samplerate=0.1.6 sedlex=3.2 seq=[distributed with OCaml 4.07 or above] srt=0.3.0 srt.constants=0.3.0 srt.stubs=0.3.0 srt.stubs.locked=0.3.0 srt.types=0.3.0 ssl=0.7.0 stdlib-shims=0.3.0 stereotool str=[distributed with Ocaml] stringext=1.6.0 taglib=0.3.10 threads=[distributed with Ocaml] threads.posix=[internal] unix=[distributed with Ocaml] uri=4.2.0 winsvc=1.0.1 xmlm=1.4.0 xmlplaylist=0.1.5
2024/09/15 08:40:08 [clock:3] Using builtin (low-precision) implementation for latency control
2024/09/15 08:40:10 [main:3] Standard library loaded in 1.94 seconds.
2024/09/15 08:40:10 [liquidsoap-record:2] Stripped %url% after ? of: xxxxxxxxxxxxxxxxxxxxxxxx
2024/09/15 08:40:10 [liquidsoap-record:2] ffprobe icy-name:
2024/09/15 08:40:10 [liquidsoap-record:2] Saving to folder: http---prem2difm-vocallounge_hi
2024/09/15 08:40:11 [liquidsoap-record:2] ffprobe failed to get codec_name!!! with error: Parsing error: json value cannot be parsed as type {streams: _, _}
2024/09/15 08:40:11 [liquidsoap-record:2] Is the stream online ??
2024/09/15 08:40:11 [liquidsoap-record:2] STREAM COPY MODE
2024/09/15 08:40:11 [liquidsoap-record:2] Recording.. X:\Musiques\StreamRIP\ripped/http---prem2difm-vocallounge_hi/2024-09-15_08-40-11.mp3.rec#s
2024/09/15 08:40:11 [liquidsoap-record:2] --press CTRL-C to stop/exit.
2024/09/15 08:40:11 [liquidsoap-record:2] Recorded 00:00 [2024-09-15_08-40-11.mp3.rec#s]
2024/09/15 08:40:11 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:14 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:16 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:18 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:21 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:23 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
[...]


Your log shows you didn't make the modification.

It should be like this.

Code: [Select]
#strip url after ?
def split_url
if string.contains(substring="?", url()) then
let (u,r) = string.split.first(separator="?", url())
url.set(u)
log(label="liquidsoap-record", level=2, "Stripped %url% after ? of: " ^ r)
end
end

#split_url

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #15
There has to be answer in one of these discussions, I don't have the chops personally to figure it--I'll bet zeremy does  ;) :

https://www.simplified.guide/curl/authenticate-api-key

https://stackoverflow.com/questions/5517281/place-api-key-in-headers-or-url

https://stackoverflow.com/questions/48717397/how-to-pass-api-id-and-api-key-as-authentication-parameters-of-http-request?rq=3

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #16

Thanks a lot to zeremy and you for the tutorial, I just tried and it works well in a station test, but for the usual streams I would like to record, I have the following issue in the log :

Code: [Select]
2024/09/14 21:19:51 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))

Here is an example stream link I would like to record is like the following (I intentionally hide the real numbers by xxxx) : http://prem2.di.fm/deepprogressivehouse_hi?xxxxxxxxxxxxxxxxx

Any idea ?
Maybe it's the script 'record.liq' which is not compatible with user auth pass ? could it be implemented maybe ? (that would be great)


Could you change line 77 in record.liq to #split_url and see if it works?


Thanks for your reply, I just tried and still fails, here is the log (on which I replaced as always by 'xxxx' about my personal API key) :


Code: [Select]
2024/09/15 08:40:11 >>> LOG START
2024/09/15 08:40:08 [ffmpeg.filter.bitstream:3] No valid mode found for filter pgs_frame_merge!
2024/09/15 08:40:08 [main:3] Liquidsoap 2.2.5
2024/09/15 08:40:08 [main:3] Using: angstrom=0.15.0 ao=0.2.4 bigarray=[distributed with Ocaml] bigarray-compat=1.0.0 bigstringaf=0.9.1 bytes=[distributed with OCaml 4.02 or above] camlp-streams camomile.lib=2.0 cry=1.0.2 ctypes=0.22.0 ctypes-foreign=0.22.0 ctypes.stubs=0.22.0 curl=0.9.2 dtools=0.4.5 dune-build-info=3.2.0 dune-private-libs.dune-section=3.2.0 dune-site=3.2.0 duppy=0.9.4 ffmpeg-av=1.1.10 ffmpeg-avcodec=1.1.10 ffmpeg-avdevice=1.1.10 ffmpeg-avfilter=1.1.10 ffmpeg-avutil=1.1.10 ffmpeg-swresample=1.1.10 ffmpeg-swscale=1.1.10 fileutils=0.6.4 gen=1.1 integers lastfm=0.3.4 liquidsoap-lang=2.2.5 liquidsoap-lang.console=2.2.5 liquidsoap_ao liquidsoap_builtins liquidsoap_core liquidsoap_ffmpeg liquidsoap_lastfm liquidsoap_mem_usage liquidsoap_memtrace liquidsoap_optionals liquidsoap_portaudio liquidsoap_runtime liquidsoap_samplerate liquidsoap_srt liquidsoap_ssl liquidsoap_stereotool liquidsoap_taglib liquidsoap_xmlplaylist magic-mime=1.3.1 mem_usage=0.1.1 memtrace=v0.2.2 menhirLib=20230608 metadata=0.3.0 mm=0.8.4 mm.audio=0.8.4 mm.base=0.8.4 mm.image=0.8.4 mm.midi=0.8.4 mm.video=0.8.4 pcre=7.5.0 portaudio=0.2.3 posix-base=2.0.2 posix-socket=2.0.2 posix-socket.constants=2.0.2 posix-socket.stubs=2.0.2 posix-socket.types=2.0.2 re=1.11.0 samplerate=0.1.6 sedlex=3.2 seq=[distributed with OCaml 4.07 or above] srt=0.3.0 srt.constants=0.3.0 srt.stubs=0.3.0 srt.stubs.locked=0.3.0 srt.types=0.3.0 ssl=0.7.0 stdlib-shims=0.3.0 stereotool str=[distributed with Ocaml] stringext=1.6.0 taglib=0.3.10 threads=[distributed with Ocaml] threads.posix=[internal] unix=[distributed with Ocaml] uri=4.2.0 winsvc=1.0.1 xmlm=1.4.0 xmlplaylist=0.1.5
2024/09/15 08:40:08 [clock:3] Using builtin (low-precision) implementation for latency control
2024/09/15 08:40:10 [main:3] Standard library loaded in 1.94 seconds.
2024/09/15 08:40:10 [liquidsoap-record:2] Stripped %url% after ? of: xxxxxxxxxxxxxxxxxxxxxxxx
2024/09/15 08:40:10 [liquidsoap-record:2] ffprobe icy-name:
2024/09/15 08:40:10 [liquidsoap-record:2] Saving to folder: http---prem2difm-vocallounge_hi
2024/09/15 08:40:11 [liquidsoap-record:2] ffprobe failed to get codec_name!!! with error: Parsing error: json value cannot be parsed as type {streams: _, _}
2024/09/15 08:40:11 [liquidsoap-record:2] Is the stream online ??
2024/09/15 08:40:11 [liquidsoap-record:2] STREAM COPY MODE
2024/09/15 08:40:11 [liquidsoap-record:2] Recording.. X:\Musiques\StreamRIP\ripped/http---prem2difm-vocallounge_hi/2024-09-15_08-40-11.mp3.rec#s
2024/09/15 08:40:11 [liquidsoap-record:2] --press CTRL-C to stop/exit.
2024/09/15 08:40:11 [liquidsoap-record:2] Recorded 00:00 [2024-09-15_08-40-11.mp3.rec#s]
2024/09/15 08:40:11 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:14 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:16 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:18 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:21 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:23 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
[...]


Your log shows you didn't make the modification.

It should be like this.

Code: [Select]
#strip url after ?
def split_url
if string.contains(substring="?", url()) then
let (u,r) = string.split.first(separator="?", url())
url.set(u)
log(label="liquidsoap-record", level=2, "Stripped %url% after ? of: " ^ r)
end
end

#split_url

I just downloaded again to be sure and re-did the # before splitèurl at lne 77 exactly, and same issue. My file looks correct I gues, I jion you my actual 'record.liq' to check if possible
Please let me know, many thanks


Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #17
There has to be answer in one of these discussions, I don't have the chops personally to figure it--I'll bet zeremy does  ;) :

https://www.simplified.guide/curl/authenticate-api-key

https://stackoverflow.com/questions/5517281/place-api-key-in-headers-or-url

https://stackoverflow.com/questions/48717397/how-to-pass-api-id-and-api-key-as-authentication-parameters-of-http-request?rq=3
oh nice, I will check these links, many thanks

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #18

Thanks a lot to zeremy and you for the tutorial, I just tried and it works well in a station test, but for the usual streams I would like to record, I have the following issue in the log :

Code: [Select]
2024/09/14 21:19:51 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))

Here is an example stream link I would like to record is like the following (I intentionally hide the real numbers by xxxx) : http://prem2.di.fm/deepprogressivehouse_hi?xxxxxxxxxxxxxxxxx

Any idea ?
Maybe it's the script 'record.liq' which is not compatible with user auth pass ? could it be implemented maybe ? (that would be great)


Could you change line 77 in record.liq to #split_url and see if it works?


Thanks for your reply, I just tried and still fails, here is the log (on which I replaced as always by 'xxxx' about my personal API key) :


Code: [Select]
2024/09/15 08:40:11 >>> LOG START
2024/09/15 08:40:08 [ffmpeg.filter.bitstream:3] No valid mode found for filter pgs_frame_merge!
2024/09/15 08:40:08 [main:3] Liquidsoap 2.2.5
2024/09/15 08:40:08 [main:3] Using: angstrom=0.15.0 ao=0.2.4 bigarray=[distributed with Ocaml] bigarray-compat=1.0.0 bigstringaf=0.9.1 bytes=[distributed with OCaml 4.02 or above] camlp-streams camomile.lib=2.0 cry=1.0.2 ctypes=0.22.0 ctypes-foreign=0.22.0 ctypes.stubs=0.22.0 curl=0.9.2 dtools=0.4.5 dune-build-info=3.2.0 dune-private-libs.dune-section=3.2.0 dune-site=3.2.0 duppy=0.9.4 ffmpeg-av=1.1.10 ffmpeg-avcodec=1.1.10 ffmpeg-avdevice=1.1.10 ffmpeg-avfilter=1.1.10 ffmpeg-avutil=1.1.10 ffmpeg-swresample=1.1.10 ffmpeg-swscale=1.1.10 fileutils=0.6.4 gen=1.1 integers lastfm=0.3.4 liquidsoap-lang=2.2.5 liquidsoap-lang.console=2.2.5 liquidsoap_ao liquidsoap_builtins liquidsoap_core liquidsoap_ffmpeg liquidsoap_lastfm liquidsoap_mem_usage liquidsoap_memtrace liquidsoap_optionals liquidsoap_portaudio liquidsoap_runtime liquidsoap_samplerate liquidsoap_srt liquidsoap_ssl liquidsoap_stereotool liquidsoap_taglib liquidsoap_xmlplaylist magic-mime=1.3.1 mem_usage=0.1.1 memtrace=v0.2.2 menhirLib=20230608 metadata=0.3.0 mm=0.8.4 mm.audio=0.8.4 mm.base=0.8.4 mm.image=0.8.4 mm.midi=0.8.4 mm.video=0.8.4 pcre=7.5.0 portaudio=0.2.3 posix-base=2.0.2 posix-socket=2.0.2 posix-socket.constants=2.0.2 posix-socket.stubs=2.0.2 posix-socket.types=2.0.2 re=1.11.0 samplerate=0.1.6 sedlex=3.2 seq=[distributed with OCaml 4.07 or above] srt=0.3.0 srt.constants=0.3.0 srt.stubs=0.3.0 srt.stubs.locked=0.3.0 srt.types=0.3.0 ssl=0.7.0 stdlib-shims=0.3.0 stereotool str=[distributed with Ocaml] stringext=1.6.0 taglib=0.3.10 threads=[distributed with Ocaml] threads.posix=[internal] unix=[distributed with Ocaml] uri=4.2.0 winsvc=1.0.1 xmlm=1.4.0 xmlplaylist=0.1.5
2024/09/15 08:40:08 [clock:3] Using builtin (low-precision) implementation for latency control
2024/09/15 08:40:10 [main:3] Standard library loaded in 1.94 seconds.
2024/09/15 08:40:10 [liquidsoap-record:2] Stripped %url% after ? of: xxxxxxxxxxxxxxxxxxxxxxxx
2024/09/15 08:40:10 [liquidsoap-record:2] ffprobe icy-name:
2024/09/15 08:40:10 [liquidsoap-record:2] Saving to folder: http---prem2difm-vocallounge_hi
2024/09/15 08:40:11 [liquidsoap-record:2] ffprobe failed to get codec_name!!! with error: Parsing error: json value cannot be parsed as type {streams: _, _}
2024/09/15 08:40:11 [liquidsoap-record:2] Is the stream online ??
2024/09/15 08:40:11 [liquidsoap-record:2] STREAM COPY MODE
2024/09/15 08:40:11 [liquidsoap-record:2] Recording.. X:\Musiques\StreamRIP\ripped/http---prem2difm-vocallounge_hi/2024-09-15_08-40-11.mp3.rec#s
2024/09/15 08:40:11 [liquidsoap-record:2] --press CTRL-C to stop/exit.
2024/09/15 08:40:11 [liquidsoap-record:2] Recorded 00:00 [2024-09-15_08-40-11.mp3.rec#s]
2024/09/15 08:40:11 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:14 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:16 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:18 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:21 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:23 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
[...]


Your log shows you didn't make the modification.

It should be like this.

Code: [Select]
#strip url after ?
def split_url
if string.contains(substring="?", url()) then
let (u,r) = string.split.first(separator="?", url())
url.set(u)
log(label="liquidsoap-record", level=2, "Stripped %url% after ? of: " ^ r)
end
end

#split_url

I just downloaded again to be sure and re-did the # before splitèurl at lne 77 exactly, and same issue. My file looks correct I gues, I jion you my actual 'record.liq' to check if possible
Please let me know, many thanks


It makes no sense, if you had commented out split_url the function should not be executed.
Your log has
2024/09/15 08:40:10 [liquidsoap-record:2] Stripped %url% after ? of: xxxxxxxxxxxxxxxxxxxxxxxx
which should not be

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #19

Thanks a lot to zeremy and you for the tutorial, I just tried and it works well in a station test, but for the usual streams I would like to record, I have the following issue in the log :

Code: [Select]
2024/09/14 21:19:51 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))

Here is an example stream link I would like to record is like the following (I intentionally hide the real numbers by xxxx) : http://prem2.di.fm/deepprogressivehouse_hi?xxxxxxxxxxxxxxxxx

Any idea ?
Maybe it's the script 'record.liq' which is not compatible with user auth pass ? could it be implemented maybe ? (that would be great)


Could you change line 77 in record.liq to #split_url and see if it works?


Thanks for your reply, I just tried and still fails, here is the log (on which I replaced as always by 'xxxx' about my personal API key) :


Code: [Select]
2024/09/15 08:40:11 >>> LOG START
2024/09/15 08:40:08 [ffmpeg.filter.bitstream:3] No valid mode found for filter pgs_frame_merge!
2024/09/15 08:40:08 [main:3] Liquidsoap 2.2.5
2024/09/15 08:40:08 [main:3] Using: angstrom=0.15.0 ao=0.2.4 bigarray=[distributed with Ocaml] bigarray-compat=1.0.0 bigstringaf=0.9.1 bytes=[distributed with OCaml 4.02 or above] camlp-streams camomile.lib=2.0 cry=1.0.2 ctypes=0.22.0 ctypes-foreign=0.22.0 ctypes.stubs=0.22.0 curl=0.9.2 dtools=0.4.5 dune-build-info=3.2.0 dune-private-libs.dune-section=3.2.0 dune-site=3.2.0 duppy=0.9.4 ffmpeg-av=1.1.10 ffmpeg-avcodec=1.1.10 ffmpeg-avdevice=1.1.10 ffmpeg-avfilter=1.1.10 ffmpeg-avutil=1.1.10 ffmpeg-swresample=1.1.10 ffmpeg-swscale=1.1.10 fileutils=0.6.4 gen=1.1 integers lastfm=0.3.4 liquidsoap-lang=2.2.5 liquidsoap-lang.console=2.2.5 liquidsoap_ao liquidsoap_builtins liquidsoap_core liquidsoap_ffmpeg liquidsoap_lastfm liquidsoap_mem_usage liquidsoap_memtrace liquidsoap_optionals liquidsoap_portaudio liquidsoap_runtime liquidsoap_samplerate liquidsoap_srt liquidsoap_ssl liquidsoap_stereotool liquidsoap_taglib liquidsoap_xmlplaylist magic-mime=1.3.1 mem_usage=0.1.1 memtrace=v0.2.2 menhirLib=20230608 metadata=0.3.0 mm=0.8.4 mm.audio=0.8.4 mm.base=0.8.4 mm.image=0.8.4 mm.midi=0.8.4 mm.video=0.8.4 pcre=7.5.0 portaudio=0.2.3 posix-base=2.0.2 posix-socket=2.0.2 posix-socket.constants=2.0.2 posix-socket.stubs=2.0.2 posix-socket.types=2.0.2 re=1.11.0 samplerate=0.1.6 sedlex=3.2 seq=[distributed with OCaml 4.07 or above] srt=0.3.0 srt.constants=0.3.0 srt.stubs=0.3.0 srt.stubs.locked=0.3.0 srt.types=0.3.0 ssl=0.7.0 stdlib-shims=0.3.0 stereotool str=[distributed with Ocaml] stringext=1.6.0 taglib=0.3.10 threads=[distributed with Ocaml] threads.posix=[internal] unix=[distributed with Ocaml] uri=4.2.0 winsvc=1.0.1 xmlm=1.4.0 xmlplaylist=0.1.5
2024/09/15 08:40:08 [clock:3] Using builtin (low-precision) implementation for latency control
2024/09/15 08:40:10 [main:3] Standard library loaded in 1.94 seconds.
2024/09/15 08:40:10 [liquidsoap-record:2] Stripped %url% after ? of: xxxxxxxxxxxxxxxxxxxxxxxx
2024/09/15 08:40:10 [liquidsoap-record:2] ffprobe icy-name:
2024/09/15 08:40:10 [liquidsoap-record:2] Saving to folder: http---prem2difm-vocallounge_hi
2024/09/15 08:40:11 [liquidsoap-record:2] ffprobe failed to get codec_name!!! with error: Parsing error: json value cannot be parsed as type {streams: _, _}
2024/09/15 08:40:11 [liquidsoap-record:2] Is the stream online ??
2024/09/15 08:40:11 [liquidsoap-record:2] STREAM COPY MODE
2024/09/15 08:40:11 [liquidsoap-record:2] Recording.. X:\Musiques\StreamRIP\ripped/http---prem2difm-vocallounge_hi/2024-09-15_08-40-11.mp3.rec#s
2024/09/15 08:40:11 [liquidsoap-record:2] --press CTRL-C to stop/exit.
2024/09/15 08:40:11 [liquidsoap-record:2] Recorded 00:00 [2024-09-15_08-40-11.mp3.rec#s]
2024/09/15 08:40:11 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:14 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:16 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:18 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:21 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
2024/09/15 08:40:23 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))
[...]


Your log shows you didn't make the modification.

It should be like this.

Code: [Select]
#strip url after ?
def split_url
if string.contains(substring="?", url()) then
let (u,r) = string.split.first(separator="?", url())
url.set(u)
log(label="liquidsoap-record", level=2, "Stripped %url% after ? of: " ^ r)
end
end

#split_url

I just downloaded again to be sure and re-did the # before splitèurl at lne 77 exactly, and same issue. My file looks correct I gues, I jion you my actual 'record.liq' to check if possible
Please let me know, many thanks


It makes no sense, if you had commented out split_url the function should not be executed.
Your log has
2024/09/15 08:40:10 [liquidsoap-record:2] Stripped %url% after ? of: xxxxxxxxxxxxxxxxxxxxxxxx
which should not be

Maybe it should be because I'am on Windows 11 x64 (23H2) ?
Should I try including something like "$ curl https://www.example.com/api/data?api_key=YOUR_API_KEY" somewhere in your file ? (sorry, not a dev, hehe)

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #20
Delete
Code: [Select]
#strip url after ?
def split_url
if string.contains(substring="?", url()) then
let (u,r) = string.split.first(separator="?", url())
url.set(u)
log(label="liquidsoap-record", level=2, "Stripped %url% after ? of: " ^ r)
end
end

#split_url

and report back.
Check that you are actually using the modified record.liq

Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #21
Delete
Code: [Select]
#strip url after ?
def split_url
if string.contains(substring="?", url()) then
let (u,r) = string.split.first(separator="?", url())
url.set(u)
log(label="liquidsoap-record", level=2, "Stripped %url% after ? of: " ^ r)
end
end

#split_url

and report back.
Check that you are actually using the modified record.liq

I triple checked, everything looks OK, the foobar run service is using the good patch of the modified record.liq file.
The file is the same as I sent to you, which means modified already as you said, but still the same error


Re: Keeping recording stream with Streamripper using Foobar2000 in 2024 ?

Reply #23
Please post new logs

The new log is the same, here you go :

Code: [Select]
2024/09/15 11:21:03 >>> LOG START
2024/09/15 11:20:57 [ffmpeg.filter.bitstream:3] No valid mode found for filter pgs_frame_merge!
2024/09/15 11:20:57 [main:3] Liquidsoap 2.2.5
2024/09/15 11:20:57 [main:3] Using: angstrom=0.15.0 ao=0.2.4 bigarray=[distributed with Ocaml] bigarray-compat=1.0.0 bigstringaf=0.9.1 bytes=[distributed with OCaml 4.02 or above] camlp-streams camomile.lib=2.0 cry=1.0.2 ctypes=0.22.0 ctypes-foreign=0.22.0 ctypes.stubs=0.22.0 curl=0.9.2 dtools=0.4.5 dune-build-info=3.2.0 dune-private-libs.dune-section=3.2.0 dune-site=3.2.0 duppy=0.9.4 ffmpeg-av=1.1.10 ffmpeg-avcodec=1.1.10 ffmpeg-avdevice=1.1.10 ffmpeg-avfilter=1.1.10 ffmpeg-avutil=1.1.10 ffmpeg-swresample=1.1.10 ffmpeg-swscale=1.1.10 fileutils=0.6.4 gen=1.1 integers lastfm=0.3.4 liquidsoap-lang=2.2.5 liquidsoap-lang.console=2.2.5 liquidsoap_ao liquidsoap_builtins liquidsoap_core liquidsoap_ffmpeg liquidsoap_lastfm liquidsoap_mem_usage liquidsoap_memtrace liquidsoap_optionals liquidsoap_portaudio liquidsoap_runtime liquidsoap_samplerate liquidsoap_srt liquidsoap_ssl liquidsoap_stereotool liquidsoap_taglib liquidsoap_xmlplaylist magic-mime=1.3.1 mem_usage=0.1.1 memtrace=v0.2.2 menhirLib=20230608 metadata=0.3.0 mm=0.8.4 mm.audio=0.8.4 mm.base=0.8.4 mm.image=0.8.4 mm.midi=0.8.4 mm.video=0.8.4 pcre=7.5.0 portaudio=0.2.3 posix-base=2.0.2 posix-socket=2.0.2 posix-socket.constants=2.0.2 posix-socket.stubs=2.0.2 posix-socket.types=2.0.2 re=1.11.0 samplerate=0.1.6 sedlex=3.2 seq=[distributed with OCaml 4.07 or above] srt=0.3.0 srt.constants=0.3.0 srt.stubs=0.3.0 srt.stubs.locked=0.3.0 srt.types=0.3.0 ssl=0.7.0 stdlib-shims=0.3.0 stereotool str=[distributed with Ocaml] stringext=1.6.0 taglib=0.3.10 threads=[distributed with Ocaml] threads.posix=[internal] unix=[distributed with Ocaml] uri=4.2.0 winsvc=1.0.1 xmlm=1.4.0 xmlplaylist=0.1.5
2024/09/15 11:20:57 [clock:3] Using builtin (low-precision) implementation for latency control
2024/09/15 11:21:00 [main:3] Standard library loaded in 1.78 seconds.
2024/09/15 11:21:00 [liquidsoap-record:2] Stripped %url% after ? of: xxxxxxxxxxxxxxxxxxxxxxxx
2024/09/15 11:21:02 [liquidsoap-record:2] ffprobe icy-name:
2024/09/15 11:21:02 [liquidsoap-record:2] Saving to folder: http---prem2difm-jazzhouse_hi
2024/09/15 11:21:02 [liquidsoap-record:2] ffprobe failed to get codec_name!!! with error: Parsing error: json value cannot be parsed as type {streams: _, _}
2024/09/15 11:21:02 [liquidsoap-record:2] Is the stream online ??
2024/09/15 11:21:02 [liquidsoap-record:2] STREAM COPY MODE
2024/09/15 11:21:02 [liquidsoap-record:2] Recording.. X:\Musiques\StreamRIP\ripped/http---prem2difm-jazzhouse_hi/2024-09-15_11-21-02.mp3.rec#s
2024/09/15 11:21:02 [liquidsoap-record:2] --press CTRL-C to stop/exit.
2024/09/15 11:21:03 [liquidsoap-record:2] Recorded 00:00 [2024-09-15_11-21-02.mp3.rec#s]
2024/09/15 11:21:03 [input.ffmpeg:2] Decoding failed: Avutil.Error(Server returned 401 Unauthorized (authorization failed))