Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transcoded stream stops on every new track #466

Closed
libf-de opened this issue Aug 4, 2017 · 4 comments
Closed

Transcoded stream stops on every new track #466

libf-de opened this issue Aug 4, 2017 · 4 comments
Assignees

Comments

@libf-de
Copy link

libf-de commented Aug 4, 2017

I'm using Liquidsoap to transcode an internet radio live stream to an icecast2 server running on the same machine (an Odroid XU4, running Debian Jessie). On every song change the streams stops for ~0,5-1sec and starts again (but it does not seem to fail as a tried to use a 1kHz sine as the fallback source and I can't hear that when the stream stops). I'm currently using Liquidsoap 1.1.1 from Debian Repositories, but it was the same with the newest version installed using OPAM.

There is no error message on the log, but it happens when it prints out the "new metadata" message. There are many "buffer overruns" when I start liquidsoap, but they stop after about 5seconds.

2017/08/04 10:32:04 [http_6168:3] Buffer overrun: Dropping 0.01s.
2017/08/04 10:33:01 [http_6168:3] New metadata chunk: ? -- www.radiopsr.de.
2017/08/04 10:33:05 [http_6168:3] New metadata chunk: ? -- Luis Fonsi - Despacito (feat. Daddy Yankee).
2017/08/04 10:36:19 [http_6168:3] New metadata chunk: ? -- Eagle-Eye Cherry - Save Tonight.
2017/08/04 10:39:38 [http_6168:3] New metadata chunk: ? -- www.radiopsr.de.
2017/08/04 10:39:46 [http_6168:3] New metadata chunk: ? -- Felix Jaehn x Mike Williams - Feel Good.

This is my configuration file:

psr = ladspa.bass_treble(fallback([input.http(buffer=2., max=5., new_track_on_metadata=false, "http://streams.radiopsr.de/psr-live/mp3-128/mediaplayer"), sine(1000.) ], track_sensitive=false), amplifier=1.0, bass=0.4, treble=1.8)
 
output.icecast(%opus(channels=1, samplerate=48000, bitrate=48, signal="music"), mount="/psr-high", host="localhost", port=8080, password="**********", mean(psr))

I've tried a larger and smaller buffer time and max. buffer time on input.http but it didn't change anything. The cpu definetly isn't overloaded, liquidsoap only uses about ~20% cpu on 1 of 8 cores. Am I missing something or is this indeed a bug? The input stream is in MP3 format.

@toots
Copy link
Member

toots commented Oct 6, 2017

Hey,

Are you talking about the listener client stopping? opus, as part of the ogg formats, will have to close the stream and re-open it to pass new metadata. Some players have trouble dealing with this.

@toots toots self-assigned this Oct 6, 2017
@libf-de
Copy link
Author

libf-de commented Oct 7, 2017

I'm talking about the audio played back by clients (in my case an Android Phone with VLC Media Player). VLC should be able to handle this, at least it does not visibly restart the stream (the timestamp does not reset). Is it possible to remove all metadata from the stream? (May be a stupid question, will look into the docs when I'm at home)

@toots
Copy link
Member

toots commented Oct 7, 2017

Yeah, drop_metadata and merge_tracks, from memory as well. With those two, the ogg stream should have one single continuous track and you'll be able to see if that is indeed your problem.

@libf-de
Copy link
Author

libf-de commented Oct 7, 2017

That fixed it! Thanks!

@libf-de libf-de closed this as completed Oct 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants