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
200 stars 47 forks source link

DarkIce: DarkIce.cpp:1140: can't open connector [0] #6

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I've an issue when I run this command:
darkice -c darkice.cfg

i get this error:

patrick@~/radio/cfg$ darkice -c darkice.cfg
DarkIce 0.19 live audio streamer, http://darkice.tyrell.hu/
Copyright (c) 2000-2007, Tyrell Hungary, http://tyrell.hu/

Using config file: darkice.cfg
Using OSS DSP input device: /dev/dsp
Could not set POSIX real-time scheduling, this may cause recording skips.
Try to run darkice as the super-user.
DarkIce: DarkIce.cpp:1140: can't open connector [0]

how can I resolve???

thanks

Original issue reported on code.google.com by patrick....@gmail.com on 3 Nov 2009 at 8:39

GoogleCodeExporter commented 9 years ago
where is the darkice.cfg you used?

Original comment by rafael2k...@gmail.com on 5 Nov 2009 at 5:52

GoogleCodeExporter commented 9 years ago
I don't understand what the error message is, is it the connector to the sound 
device
or to the server?

Original comment by tubularl...@gmail.com on 12 Nov 2009 at 12:30

GoogleCodeExporter commented 9 years ago
I'm having the same problem.  it worked fine before a recent reboot.

wxyc@wxyc-mp3encoder:~$ sudo darkice
DarkIce 0.20.1 live audio streamer, http://darkice.tyrell.hu/
Copyright (c) 2000-2007, Tyrell Hungary, http://tyrell.hu/

Using config file: /etc/darkice.cfg
Using OSS DSP input device: /dev/dsp
Using POSIX real-time scheduling, priority 98
DarkIce: DarkIce.cpp:1187: can't open connector [0]

config file:

# this section describes general aspects of the live streaming session
[general]
duration        = 0    # duration of encoding, in seconds. 0 means forever
bufferSecs      = 5        # size of internal slip buffer, in seconds
reconnect       = yes

# this section describes the audio input that will be streamed
[input]
device          = /dev/dsp  # OSS DSP soundcard device for the audio input
sampleRate      = 44100     # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample   = 16        # bits per sample. try 16
channel         = 2         # channels. 1 = mono, 2 = stereo

[icecast2-0]
bitrateMode     = cbr
format          = mp3
bitrate         = 128
quality         = 0.8
server          = audio-mp3.ibiblio.org
port            = 8000
password        = xxxx
mountPoint      = wxyc.mp3.ipv4
name            = WXYC
description     = WXYC, University of North Carolina Chapel Hill
url             = http://audio-mp3.ibiblio.org:8000/wxyc.mp3
genre           = alternative
public          = no

Original comment by eclau...@gmail.com on 18 Dec 2009 at 11:37

GoogleCodeExporter commented 9 years ago
try this: change [icecast2-0] to [icecast1-0]

Original comment by mystinen...@gmail.com on 10 Feb 2010 at 9:30

GoogleCodeExporter commented 9 years ago
Having the same problem, has also occurred just after losing network 
connectvity and I snuck a reboot in during the down time. I tried changing 
[icecast2-0] to [icecast1-0] and have tried using [icecast-0] and a few other 
derivatives. Still receive the error after running darkice as root: 

Using config file: /etc/darkice.cfg
Using OSS DSP input device: /dev/dsp
Using POSIX real-time scheduling, priority 98
DarkIce: DarkIce.cpp:1187: can't open connector [0]

# this section describes general aspects of the live streaming session
[general]
duration        = 0        # duration of encoding, in seconds. 0 means forever
bufferSecs      = 5         # size of internal slip buffer, in seconds
reconnect       = yes       # reconnect to the server(s) if disconnected

# this section describes the audio input that will be streamed
[input]
device          = /dev/dsp  # OSS DSP soundcard device for the audio input
sampleRate      = 44100     # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample   = 16        # bits per sample. try 16
channel         = 2         # channels. 1 = mono, 2 = stereo

# this section describes a streaming connection to an IceCast server
# there may be up to 8 of these sections, named [icecast-0] ... [icecast-7]
# these can be mixed with [icecast2-x] and [shoutcast-x] sections
[icecast2-0]
format          = mp3
bitrateMode     = cbr       # constant bit rate
bitrate         = 160        # bitrate of the mp3 stream sent to the server
quality         = 0.8       # encoding quality
server          = ********
                            # host name of the server
port            = 8000      # port of the IceCast server, usually 8000
password        = ********    # source password to the IceCast server
mountPoint      = stream160  # mount point of this stream on the IceCast server
name            = ******** 
                            # name of the stream
description     = 
                            # description of the stream
url             = 
                            # URL related to the stream
genre           = all    # genre of the stream
public          = yes

Original comment by soccerdu...@gmail.com on 16 Feb 2011 at 12:17

GoogleCodeExporter commented 9 years ago
Checking the source code.. I think it could happen like this if some other 
application is using /dev/dsp. Maybe some zombie process around? Try to check 
who has /dev/dsp open with 'lsof'.
If there is another dis-functional darkice, kill it with 'killall -9 darkice' 
Some more 'human-friendly' error message might indeed be helpful.

Original comment by oetelaar.automatisering on 16 Feb 2011 at 12:58

GoogleCodeExporter commented 9 years ago
Here is a little patch agaist HEAD, it add a more verbose reporting :
Maybe someone can it.

Index: src/OssDspSource.cpp
===================================================================
--- src/OssDspSource.cpp    (revision 467)
+++ src/OssDspSource.cpp    (working copy)
@@ -186,10 +186,15 @@
             break;

         default:
+           reportEvent( 2,
+               "OssDspSource::open() failed, bits per sample not supported :",
+               getBitsPerSample());
             return false;
     }

     if ( (fileDescriptor = ::open( fileName, O_RDONLY)) == -1 ) {
+       reportEvent( 2, "OssDspSource::open() failed, open of device :"
+               ,fileName);
         fileDescriptor = 0;
         return false;
     }

Original comment by oetelaar.automatisering on 16 Feb 2011 at 2:40

GoogleCodeExporter commented 9 years ago
Hey folks.  A heads up for you.  OSS has been thrown aside in newer Linux 
distros in favor of Pulse Audio.  In addition, OSS has undergone important 
revisions recently.  I spent the better part of an afternoon yesterday fighting 
1140: Can't Open Connector and the first thing I noticed was a total lack of 
/dev/dsp on my system.  I'm going to bet you're going to find the same thing.  
No /dev/dsp means no DarkIce unless you can get it to latch onto the correct 
sound device on your system.  I did try getting it up and running on Pulse but 
with no success so I had to manually compile OSS on my server.  Does DarkIce 
play nice with Pulse Audio?  If so, what device should DarkIce be looking for?? 

Original comment by jiva...@gmail.com on 17 Feb 2011 at 2:15

GoogleCodeExporter commented 9 years ago
hi,

alsa is the default linux driver. To try it, this should work (if darkice is 
compiled with alsa support as it should) :

[input]
device          = hw:0,0

Select and adjust input with alsamixer (in a terminal )

To test if hw:0,0 is the correct device , use this command :
arecord -f cd --device=hw:0,0 test.wav
This record the input to test.wav 

good luck
Laurent

Original comment by laug...@gmail.com on 22 Feb 2011 at 7:44

GoogleCodeExporter commented 9 years ago
You can also try with:
device = default

This worked for me anyhow.

Original comment by kevwa...@gmail.com on 9 Mar 2011 at 5:09

GoogleCodeExporter commented 9 years ago
Hi, I have this problem. I have 4 USB sound card.
When I use 
device          = hw:0,0
i hear all 4 sound card
When I use 
device          = /dev/dsp
DarkIce.cpp:1187: can't open connector [0]

Original comment by lapa...@quick.cz on 22 May 2011 at 7:59

GoogleCodeExporter commented 9 years ago
Okay, so my errors have disappeared now, after switching to "default" as the 
device, but how do I know if it's working? It just says "0 bytes transfered to 
the encoders":

DarkIce 0.20.1 live audio streamer, http://darkice.tyrell.hu/
Copyright (c) 2000-2007, Tyrell Hungary, http://tyrell.hu/

Using config file: /etc/darkice.cfg
Using ALSA DSP input device: hw:0,0
Using POSIX real-time scheduling, priority 98
0 bytes transfered to the encoders

Original comment by theirish...@gmail.com on 26 May 2011 at 6:34

GoogleCodeExporter commented 9 years ago
Hi, it looks like I'm getting this same problem. I installed from the FreeBSD 9 
ports tree, and it built fine, however when I try to start it, I get the error:

Using config file: /usr/local/etc/darkice.cfg
Using OSS DSP input device: /dev/dsp
Using POSIX real-time scheduling, priority 3
DarkIce: DarkIce.cpp:1201: can't open connector [0]

I have OSS and /dev/dsp, but darkice doesn't seem to be able to connect.

I also tried installing from the repository here, but the configure script 
couldn't find any of my audio libraries.

Config file is the default, with just names and passwords changed.

Original comment by William.Sabey on 14 Jun 2012 at 4:32

k3muri84 commented 7 years ago

Hey I'm running ubuntu studio 16.04 same issue: DarkIce: DarkIce.cpp:1201: can't open connector [0]

I tried with jack, jack_auto and hw:1,0 (my usb soundcard) Setting to default avoid the error but stream remains silent.

hexagon5un commented 6 years ago

Had this error, came here, tweaked around the sound card in ALSA (hw:0,0) and updated the config and then it worked.

Hubcapp commented 4 years ago

try running darkice not as root or with sudo. :D

NightPurrer commented 3 months ago

I have the same problem. DarkIce: DarkIce.cpp:1273: can't open connector [0] I tried to run as root, as normal user, tried device=default or device=hw:0,0 but no results. Finally i written the sound cart name but the same thing again. Cart is also used by another app to transmit audio for web. It's FM DX server. It can cause the problem? Here's my config: [general] duration=0 bufferSecs=5 # size of internal slip buffer, in seconds reconnect=yes realtime=yes rtprio=3 [input] device=hw:U192k sampleRate=44100 bitsPerSample=16 channel=2 [icecast2-0] bitrateMode=abr format=vorbis bitrate=192 server=dmsrv.pl port=8001 password=mypassword mountPoint=krk name=KRK description=Restream z Krakowskiego tunera umozliwiajacy odlsuch url=http://dmsrv.pl:8001 genre=Alternative public=yes

maxboone commented 2 days ago

In my case I was running PulseAudio in the userspace and darkice as superuser in a systemd init. Moving darkice to run as a user service (or adding the correct XDG_RUNTIME_DIR=/run/user/1000) fixed the issues.