rafael2k / darkice

DarkIce is a live audio streamer. It records audio from an audio interface (e.g. sound card), encodes it and sends it to a streaming server. This is the official development repository of Darkice.
http://www.darkice.org
194 stars 46 forks source link

Darkice r547 buffer underruns with Opus streaming to remote Icecast #89

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Send opus stream to remote icecast server (v2.3.99.3)
2.
3.

What is the expected output? What do you see instead?
Should run fine as it does with an icecast server running on localhost.
Instead I get buffer underruns

Please use labels and text to provide additional information.

Output of debug level 10:
22-May-2013 14:33:07 HTTP/1.0 200
22-May-2013 14:33:07 MultiThreadedConnector :: tranfer, bytes 0
22-May-2013 14:33:07 MultiThreadedConnector :: ThreadData :: threadFunction, 
was (thread, priority, type):  0x234e100 4 SCHED_FIFO
22-May-2013 14:33:07 MultiThreadedConnector :: ThreadData :: threadFunction, 
now is (thread, priority, type):  0x234e100 1 SCHED_FIFO
22-May-2013 14:33:09 BufferedSink, new peak: 4096
22-May-2013 14:33:09 BufferedSink, remaining: 955904
22-May-2013 14:33:09 BufferedSink, new peak: 8192
22-May-2013 14:33:09 BufferedSink, remaining: 951808
22-May-2013 14:33:09 BufferedSink, new peak: 12288
22-May-2013 14:33:09 BufferedSink, remaining: 947712
22-May-2013 14:33:10 BufferedSink, new peak: 959998
22-May-2013 14:33:10 BufferedSink, remaining: 2

When I send the opus stream to my icecast running on localhost, everything 
works fine. When I send the exact same stream to my icecast server in the net, 
then buffer runs empty.

When I send an mp3 or aac+ stream to this server on the net, everything works 
smoothly, so network should not be the cause. Ping response time from this 
server is ~30ms, (a.k.a. "whoa, great!")

I don't see any differences betweetn the setups beside one server running on 
localhost and one on a remote host.

Original issue reported on code.google.com by daniel.e...@gmail.com on 22 May 2013 at 12:45

GoogleCodeExporter commented 9 years ago
Interesting.  When I originally tested this, I didn't run into this problem 
(and I tested with a similar setup--remote icecast server).  I have a list of 
other enhancements from the Opus developers, so I'd like to come back and 
revisit this.

As a hacky solution, maybe you can use an icecast instance locally, then use 
icecast's rebroadcasting feature to send it to the remote server?  I wonder how 
well that works.

Original comment by dougk....@gmail.com on 30 Sep 2013 at 6:05

GoogleCodeExporter commented 9 years ago
Issue 100 is related to this.

Original comment by kulon...@gmail.com on 13 Jan 2014 at 9:50