View previous topic :: View next topic |
Author |
Message |
bsbrp
Joined: 03 Jan 2011 Posts: 22 Location: INDIA
|
Posted: Wed Jan 19, 2011 7:18 am Post subject: multiple source(ices2) clients howto? |
|
|
hi all,
i need to stream 4 channel inputs.
i am successful in streaming single channel using ices2 and icecast.
Quote: |
now i tried to run ices2 with different config file(ices-oss.xml) while ices2 is running
with config file(ices-playlist.xml). i got an "glibc detected" error. |
(i did this as i read
a post in this forum "karl statments use the same binary but use a different conf files for each
instance run").
1)my question is, how can i run 4 different channel streaming simultaneously using ices2?
2)i have a 4 channel(analog in) audio PCI card(m-audio 1010LT). could any one say me how can i
distinguish which channels audio am i streaming so that i can include the details in ices-oss.xml
input module?
(i dont know whether this question belongs to this forum)
thanks in advance
bsbrp |
|
Back to top |
|
|
bsbrp
Joined: 03 Jan 2011 Posts: 22 Location: INDIA
|
Posted: Fri Jan 21, 2011 9:54 am Post subject: |
|
|
No reply????? |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Fri Jan 21, 2011 2:23 pm Post subject: |
|
|
This sounds like a question of identifying the alsa device for the channels you want to use to encode the stream. I don't think the OSS drivers are going to be suitable for your use. From your description you want 4 different ices xml files each referring to the unique reference for the channel (look at arecord -l)
karl |
|
Back to top |
|
|
bsbrp
Joined: 03 Jan 2011 Posts: 22 Location: INDIA
|
Posted: Mon Jan 24, 2011 11:28 am Post subject: |
|
|
arecord -L output
Quote: |
default:CARD=M1010LT
M Audio Delta 1010LT, ICE1712 multi
Default Audio Device
front:CARD=M1010LT,DEV=0
M Audio Delta 1010LT, ICE1712 multi
Front speakers
surround40:CARD=M1010LT,DEV=0
M Audio Delta 1010LT, ICE1712 multi
4.0 Surround output to Front and Rear speakers
surround41:CARD=M1010LT,DEV=0
M Audio Delta 1010LT, ICE1712 multi
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=M1010LT,DEV=0
M Audio Delta 1010LT, ICE1712 multi
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=M1010LT,DEV=0
M Audio Delta 1010LT, ICE1712 multi
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
iec958:CARD=M1010LT,DEV=0
M Audio Delta 1010LT, ICE1712 multi
IEC958 (S/PDIF) Digital Audio Output
null
Discard all samples (playback) or generate zero samples (capture)
|
Quote: |
I don't think the OSS drivers are going to be suitable for your use. |
about oss and alsa.
ices2 is successfully running when i use ices-oss.xml but with ices-alsa.xml
it is shutting down.
i am using the default ices-oss.xml and ices-alsa.xml just by changing the ip number.
how to solve, as i want to use all the four channels simultaneously .??
thanks in advance..
bsbrp |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Mon Jan 24, 2011 1:31 pm Post subject: |
|
|
surround40 is the generic pcm device name for 4 channel sound, may that is what you are not using? You can always do a test capture/playback with arecord to see if it's as you expect. Obviously if the capture does not work then encoding won't have a chance.
karl. |
|
Back to top |
|
|
bsbrp
Joined: 03 Jan 2011 Posts: 22 Location: INDIA
|
Posted: Mon Jan 24, 2011 2:09 pm Post subject: |
|
|
thanks karlh
wht options i have to give for arecord(for sample recording) to record from one of the channel of this card?
how to distinguish the channels?
thanks in advance
bsbrp |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Mon Jan 24, 2011 3:45 pm Post subject: |
|
|
arecord -h or and man page will describe the options. Your last post was confusing though, are you wanting a 4 channel stream or 4 separate feeds to mix to 1 streams or just 4 separate feeds to encode to 4 streams.
karl |
|
Back to top |
|
|
bsbrp
Joined: 03 Jan 2011 Posts: 22 Location: INDIA
|
Posted: Mon Jan 24, 2011 5:34 pm Post subject: |
|
|
4 separate channels to encode to 4 streams.
i mean 4 different streams simultaneously(4 different audio channels).
example: i want to run 4 different radio stations at a time through 4 different feeds..
hope i am clear.
bsbrp |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Mon Jan 24, 2011 6:26 pm Post subject: |
|
|
then you want to run 4 ices each with the device appropriate to the feed it's encoding. obviously it's not surround you want but you do need to identify how the card reports the devices which takes me back to what I asked earlier, see what is reported with arecord -l
karl. |
|
Back to top |
|
|
bsbrp
Joined: 03 Jan 2011 Posts: 22 Location: INDIA
|
Posted: Mon Jan 31, 2011 1:50 pm Post subject: |
|
|
Hi,
At last i decided to go with OSS, removed alsa drivers.
i am able to use all the 4 input channels to stream individually(one after other).
device="/dev/dsp5" device="/dev/dsp6" etc.,
but i want to use all the channels at a time.(4 separate streams for 4 channels).
i am running ices2 with ices-ossA.xml(one channel successful), now when i run ices2 with ices-ossB.xml then i am getting follow error in ices log.
note: i am using single ices executable file for both.
Quote: |
[2011-01-31 18:32:32] INFO ices-core/main IceS 2.0.1 started...
[2011-01-31 18:32:32] INFO input-oss/oss_open_module Opened audio device /dev/dsp6 at 2 channel(s), 44100 Hz
[2011-01-31 18:32:32] INFO input-oss/oss_open_module Starting metadata update thread
[2011-01-31 18:32:32] INFO signals/signal_usr1_handler Metadata update requested
[2011-01-31 18:32:32] DBUG metadata/metadata_thread_signal meta thread wakeup
[2011-01-31 18:32:32] WARN metadata/metadata_thread_signal Failed to open file "test" for metadata update: No such file or directory
[2011-01-31 18:32:32] INFO audio/downmix_initialise Enabling stereo->mono downmixing
[2011-01-31 18:32:32] INFO audio/resample_initialise Initialised resampler for 1 channels, from 44100 Hz to 22050 Hz
[2011-01-31 18:32:32] INFO encode/encode_initialise Encoder initialising in VBR mode: 1 channel(s), 22050 Hz, quality 0.000000
[2011-01-31 18:32:32] EROR stream/ices_instance_stream Failed initial connect to 192.168.1.8:8000 (Login failed: Success)
[2011-01-31 18:32:32] DBUG encode/encode_clear Clearing encoder engine
[2011-01-31 18:32:32] DBUG input/input_loop An instance died, removing it
[2011-01-31 18:32:32] DBUG input/input_flush_queue Input queue flush requested
[2011-01-31 18:32:32] INFO input/input_loop All instances removed, shutting down...
[2011-01-31 18:32:32] INFO metadata/metadata_thread_signal metadata thread shutting down
[2011-01-31 18:32:33] INFO ices-core/main Shutdown complete |
i have 2 separate log files(ices.log,icesA.log).
where am i making mistake.?
any idea ?
thanks in advance.
bsbrp |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Mon Jan 31, 2011 2:40 pm Post subject: |
|
|
I suspect that you are trying to name the mountpoint on the second channel the same as the first and icecast is rejecting it. Each channel should be streaming on a unique mountpoint.
eg /jazz.ogg, /pop.ogg, /classical.ogg etc
karl. |
|
Back to top |
|
|
bsbrp
Joined: 03 Jan 2011 Posts: 22 Location: INDIA
|
Posted: Tue Feb 01, 2011 4:23 pm Post subject: |
|
|
Thnks karlH.. the mountpoint was the problem.
thanks a lot.
i would like to know,
what is the minimum latency that can be obtained?
on what factors does the latency depends?
how can we achieve the least possible latency?
Thanks in advance.
bsbrp |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Tue Feb 01, 2011 6:29 pm Post subject: |
|
|
the lowest possible you are talking of is around half a second but it's hard to gauge as it depends on buffer used by the different apps. The ices input buffer will be something like 200ms, which then get encoded into pages of at most ~2000ms segments (how much depends on bitrate, higher bitrate means less samples per page). icecast then makes sure those are at most ~500ms and then there is the the buffering of the burst size in icecast and the pre-buffering in the player. The last 2 usually adds the largest of any latency as they deal with many k per second and operate over the network eg a 64k burst is about 16 seconds of a 32k stream, 8 seconds of a 64k stream etc
karl. |
|
Back to top |
|
|
bsbrp
Joined: 03 Jan 2011 Posts: 22 Location: INDIA
|
Posted: Wed Feb 02, 2011 11:34 am Post subject: |
|
|
thanks karlH
1)if i remove resampling and downmixing , i am not able to hear any sound.
if i change my encode samplerate to 44100 , the audio is dragging.
<encode>
<quality>0</quality>
<samplerate>22050</samplerate>
<channels>1</channels>
</encode>
2)what need to be changed in Ices2 to get the minimum lowest latency.
3)these below are my settings of icecast options (as i read that these factors reduce
latency)
<queue-size>512</queue-size>
<burst-on-connect>0</burst-on-connect>
<burst-size>16384</burst-size>(if i set this parameter to 0 ,nothin is played through
my VLC player)
4)what need to be changed in Icecast to get the minimum lowest latency.
thanks in advance.
bsbrp. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Wed Feb 02, 2011 1:40 pm Post subject: |
|
|
If you encode at 22050 mono and remove the resample and downmix tags then do not forget to change the setting on the input to match. also note that quality -1 is allowed (and -2 on the aotuv lib). For vorbis quality -1 44khz stereo is around 48k
The queue size should be at least 50k (102400) really, it is a maximum length setting so 512 bytes is not going to work, especially if 16kbytes is the minimum for bursting. higher bitrate streams should have lower latency as more data is being packed in but for a low bitrate stream you would use something like
ices
<input> 22050/mono </input>
<encode>
<samplerate>22050</samplerate>
<channels>1</channels>
<flush-samples>1000</flush-samples>
</encode>
icecast
queue-size 100k
burst-size 2k.
then configure the player with the lowest possible prebuffer. That should give you something sub-second but obviously not near realtime. As always it depends on what you want to achieve, as most users of icecast do not require low latency.
karl. |
|
Back to top |
|
|
|