NSV und Audio trennen?

Status
Für weitere Antworten geschlossen.

Energy2007

Gesperrter Benutzer
Hallo,

ist es möglich das ich meinen NSV Stream so trennen kann das ich sozusagen 2 Streams habe einen Video Stream mit NSV und einen reinen audio stream ? wenn ja wie ist dieses möglich kann mir da jemand weiter helfen ?
Die Shoutcast server laufen auf SUSE Linux Root Server und dort sollte auch die trennung stadtfinden da ich nur mx. ein stream senden kann wegen der schwachen internet leitung vielen dank schonmal in voraus
 
AW: NSV und Audio Trennen

Meinen Erfahrungen nach geht das nicht sondern du musst halt NSV streamen und dann noch über dsp den normalen audio stream! Insgesamt also mindestens nen Upload von 60 damit es klappt
 
AW: NSV und Audio trennen?

Hmm...

Naja, MP3 streamt ja eigentlich keiner mehr in den NSV-Streams. aacPlus ist da inzwischen der Standard.

Hast Du da schon etwas hinbekommen? Deine Idee mit dem mplayer schaut ja schon mal ganz gut aus, aber hast Du das irgendwo schon produktiv im Einsatz?
 
AW: NSV und Audio trennen?

Nö und ich hab auch kein Bedarf/Interesse dran in unserem Sender.
Ich habe das damals gepostet weil ich's lustig fand dass auf ein einfaches Problem mit Aussagen wie "geht nicht" oder "du brauchst einen Windows-Server" geantwortet wurde. Die Umsetzung in ein fertiges Script sollte kein großes Problem sein.

Gruss, m.
 
AW: NSV und Audio trennen?

Hm... Also doch nur einen Ansatz, aber keine Lösung. Schade :D .

Ein Ansatz wäre auch, den VLC zu nutzen, da der ja zum Einen auch AAC+ und auch NSV decodieren (er erkennt das dann als MP4-Stream), und zum Anderen (zumindest in Windows) streamen kann.

Inwieweit das aber alles so funktioniert, weiss ich natürlich auch nicht.

Und solange es niemanden gibt, der sagt. "Ja, klar. Hier: Geht so und so" bleibe ich bei der Aussage: Es geht NICHT. :D
 
AW: NSV und Audio trennen?

Danke, Inselkobi.

Ich hab ja auch schon ein bisschen mit dem VLC herumexperimentiert, und ich kriege auch etwas gestreamt. Problem ist halt nur, dass man nicht direkt an einen Shoutcast streamen kann.

Es ist kein problem, die gestreamten Daten mit einem anderen VLC wieder abzuspielen, aber auf einen Shoutcast bekommt man das so ohne weiteres nicht. Könnte mir aber vorstellen, dass es ggfs. ein Plugin für den VLC gibt, der das ermöglicht. Muss ich mal googlen glaub ich. :)
 
AW: NSV und Audio trennen?

Hier findest Du eine Grafik, die Dir schematisch anzeigt wie das ganze mit VLC funktioniert.
Ebenso gibt es ueber den zuvor von mir gesetzten Link auch eine genaue Beschreibung, wie das Streaming auf einen Shoutcast funktioniert.


Gruss
Inselkobi
 
AW: NSV und Audio trennen?

Und solange es niemanden gibt, der sagt. "Ja, klar. Hier: Geht so und so" bleibe ich bei der Aussage: Es geht NICHT. :D

Diese geistreiche Aussage lass ich jetzt mal unkommentiert.

Trotzdem, Bittschön:

Kochen mit dem Dude

Zutaten:

  1. Darkice, http://darkice.tyrell.hu/
  2. MPlayer, http://www.mplayerhq.hu/
  3. JACKd, http://jackaudio.org/
In Debian sind diese Pakete bereits fertig enthalten. Um einen MP3-Stream erzeugen zu können muss Darkice mit LAME-Support compiliert sein, das entsprechende fertige Paket "darkice-full" ist im Repository von http://www.debian-multimedia.org/ enthalten.

Zubereitung:

Die o.g. Software installieren. Debian-Pakete jackd,darkice-full,mplayer. SuSE keine Ahnung sucht selber.

Danach die Darkice-Konfigurationsdatei nsvtranscode.cfg mit folgendem Inhalt anlegen:

Code:
[general]
duration        = 0
bufferSecs      = 5
reconnect       = yes
realtime        = no

[input]
device          = jack
sampleRate      = 44100
bitsPerSample   = 16
channel         = 2

[shoutcast-0]
bitrateMode     = cbr
bitrate         = 128
server          = dein.shoutcast.server.de
port            = 8001
password        = hackme

Dabei bitte Name/Port/Passwort vom Shoutcast-Server entsprechend anpassen. Es gibt noch viele weitere Optionen und Möglichkeiten, diese sind in der Manpage darkice.cfg(5), aufzurufen mit man darkice.cfg, dokumentiert.

Im selben Verzeichnis folgendes Shell-Script nsvtranscode.sh anlegen:

Code:
#!/bin/sh

NSVSTREAM="http://dein.nsv.stream:1234/blah.nsv"

JACK_NO_START_SERVER=1
jackd -T -p 8 -d dummy -r 44100 &
sleep 1
darkice -c nsvtranscode.cfg &
DARKICEPID=$!
sleep 1
mplayer "$NSVSTREAM" -quiet -vc null -vo null -ao jack:port=darkice-$DARKICEPID

Die Adresse des NSV-Streams bitte anpassen, danach das Script mit chmod a+x nsvtranscode.sh ausführbar machen und mit ./nsvtranscode.sh starten.

MP3-Player starten, MP3-Stream anhören, fertig.

Gruss, m.
 
AW: NSV und Audio trennen?

Jawollja, habs fast geschafft. Es hapert nur daran, dass bei mir (Suse Server Enterprise 10) der mplayer nicht läuft.

Beschwert sich darüber dass die libdirectfb-0.9.so.24 nicht existiert. Muss ich wohl nachinstallieren ;P mal schauen, ich berichte dann.

Ansonsten kann man alle Pakete über Packman installieren.
 
AW: NSV und Audio trennen?

Edit: Okay das Problem mit dem bad interpreter habe ich wie folgt gelöst.
In der configdatei darf folgendes nicht stehen:
#!/bin/sh


Sondern lediglich: /bin/sh

-----------------------------------------------------------------------------
/usr/bin # ./nsvtranscode.sh
-bash: ./nsvtranscode.sh: /bin/sh^M: bad interpreter: No such file or directory


Ansonster behalte ich diesen Post mal als Platzhalter. denn Probleme kommen bestimmt noch.

Gruß McBong
 
AW: NSV und Audio trennen?

Sondern lediglich: /bin/sh

Dann kannst du diese Zeile auch weglassen, denn damit wird lediglich eine neue Shell aufgerufen, was in diesem Fall keinen Sinn macht.

Du solltest mal prüfen, ob /bin/sh existiert, es könnte seind, das du /usr/local/sh oder /usr/bash oder ... oder ... oder schreiben musst.

Ich hab jetzt nicht mehr im Kopf, ob du schon geschrieben hast, welche Distribution du benutzt, aber grundsätzlich ist die Syntax #!/bin/sh schon richtig, falls die Stadard-Shell nach /bin/sh gelinkt ist ;)

Wenn /bin/sh nicht existier, schau mal, ob /bin/sh existiert. Wenn jua, schreibst du folgendes:

ln -s /bin/bash /bin/sh

Dann sollte dein Script funktionieren.

EDIT: Das
deutet darauf hin, dass du die Datei unter Windows editiert hast und dadurch die Zeilenumbrüche zerschossen wurden. Also entweder erklärst du deinem Editor, das er UNIX-Zeilenumbrüche nutzen soll, oder du editierst die Datei direkt auf dem Server. VIM bietet sich da an.
 
AW: NSV und Audio trennen?

Dann kannst du diese Zeile auch weglassen, denn damit wird lediglich eine neue Shell aufgerufen, was in diesem Fall keinen Sinn macht.

Du solltest mal prüfen, ob /bin/sh existiert, es könnte seind, das du /usr/local/sh oder /usr/bash oder ... oder ... oder schreiben musst.

Ich hab jetzt nicht mehr im Kopf, ob du schon geschrieben hast, welche Distribution du benutzt, aber grundsätzlich ist die Syntax #!/bin/sh schon richtig, falls die Stadard-Shell nach /bin/sh gelinkt ist ;)

Wenn /bin/sh nicht existier, schau mal, ob /bin/sh existiert. Wenn jua, schreibst du folgendes:



Dann sollte dein Script funktionieren.

EDIT: Das deutet darauf hin, dass du die Datei unter Windows editiert hast und dadurch die Zeilenumbrüche zerschossen wurden. Also entweder erklärst du deinem Editor, das er UNIX-Zeilenumbrüche nutzen soll, oder du editierst die Datei direkt auf dem Server. VIM bietet sich da an.

Hallo Pegasus, danke für deine Hilfe.
Mein verwendeter Editor, hat die Funktion der Unix-Umbrüche gehabt und somit hat es dann auch funktioniert.

Leider komme ich nur mit dem Gesamtergebnis nicht weiter.
Hat da evtl. noch wer das ganze auf diesen Weg gelöst, um NSV und Audio zu trennen?

Ich poste mal was für eine Ausgabe bzw. Fehlermeldung ich bekomme und hoffe das mir wer noch weiterhelfen kann.

Code:
****:/home/stream/darkice/src # ./nsvtranscode.sh
jackd 0.100.0
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with POSIX SHM support.
loading driver ..
creating dummy driver ... dummy_pcm|44100|1024|23219|2|2
DarkIce 0.18.1 live audio streamer, http://darkice.tyrell.hu/
Copyright (c) 2000-2007, Tyrell Hungary, http://tyrell.hu/

Using config file: nsvtranscode.cfg
DarkIce: DarkIceConfig.cpp:137: no current section [0]
MPlayer 1.0rc2-SUSE Linux 10.1 (i686)-Packman-4.1.0 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3500+ (Family: 15, Model: 95, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not connect to socket
mplayer: Connection refused
Failed to open LIRC support. You will not be able to use your remote control.

Playing http://***IP***:10500/;stream.nsv.
Resolving ***IP*** for AF_INET6...
Couldn't resolve name for AF_INET6: ***IP***
Connecting to server ***IP***[***IP***]: 10500...
Name : Radio
Genre : none
Website: 
Public : no
Bitrate: 100kbit/s
Cache size set to 320 KBytes
Cache fill: 12.50% (40960 bytes)

ICY Info: StreamTitle='';StreamUrl='';
Nullsoft Streaming Video file format detected.
VIDEO: [VP31] 320x240 24bpp 20.000 fps 0.0 kbps ( 0.0 kbyte/s)
================================================== ========================
Forced video codec: null
Opening video decoder: [null] Null video decoder
VDec: vo config request - 320 x 240 (preferred colorspace: BGR 24-bit)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [null] 320x240 => 320x240 Planar YV12
Selected video codec: [null] vfm: null (NULL codec (no decoding!))
================================================== ========================
================================================== ========================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
================================================== ========================
unknown client ID in ACK connection request
cannot complete client ACK connection process
cannot read event connect result from server (No such file or directory)
[JACK] cannot open server
Could not open/initialize audio device -> no sound.
Audio: no sound
Starting playback...

Ende vom Lied, der Videostream wird zwar anscheinend abgegriffen, dennoch wird dieses nicht als reines Audio weitergeleitet sondern der Audiostream bleibt unberührt und darauf wird nicht connected.

Evtl. wer der da noch durchsteigt?


P.s. Die IP zum Server habe ich hier im Code unkenntlich gemacht und durch ***IP*** ersetzt.

Mfg. McBong
 
AW: NSV und Audio trennen?

Da stimme ich Dir zu, ob du es glaubst oder nicht ;)

Zu 1.) Was ist an dem Codec verkehrt? Der Videostream wird gesendet als VP3.1

Zu 2.) Ein Dummytreiber wird doch geladen. Ist das nicht gemeint?
 
AW: NSV und Audio trennen?

Mehr kann ich dazu leider nicht sagen, da ich nur die Logs interpretieren kann, aber nicht den Fehler nachvollziehen, mangels Installation ;)
Vielleicht fällt jemand anderem noch was ein.
 
AW: NSV und Audio trennen?

Hallo,

ich denke mal das ich kaum noch eine helfende Antwort hier erwarten kann zu meinem Problem.

Wüsste noch jemand einen anderen Lösungsweg? Einen anderen Weg NSV und Video zu trennen?
Einen Upload von zwei Streams möchte ich dabei ausschließen und würde mich freuen wenn es noch einen Weg gibt dieses Serverseitig zu regeln (Linux).

Wäre sehr verbunden für eine Lösung.

In diesem Sinne, ein schönes Wochenende.
Mc Bong
 
AW: NSV und Audio trennen?

Wüsste noch jemand einen anderen Lösungsweg?

Ja, verzichte auf Video oder mach was sinnvolles, z.B. der Upload eines einzelbildes alle 30 Sekunden. Ansonsten wende dich an ein passendes Forum, denn es hat nunmal nichts mit Webradio zu tun, wenn ein Videostream bearbeitet werden soll.
 
AW: NSV und Audio trennen?

Selected video codec: [null] vfm: null (NULL codec (no decoding!))

Das ist korrekt so, der mplayer wurde mit -vc null -vo null angewiesen, die Videodaten nicht zu decodieren und auch nicht auszugeben.

Could not open/initialize audio device -> no sound.
Audio: no sound

Hier liegt schon eher das Problem, denn der darkice konnte nicht korrekt starten und sich mit dem Jackd verbinden. Dem Mplayer werden aber explizit die Darkice-Ports im jackd, mit denen er sich verbinden soll angegeben. Startet der darkice nicht, dann findet mplayer die zu nutzenden Audio-Ports auch nicht und damit schlägt die Soundausgabe fehl.

Die entscheidende Meldung ist:

Code:
 Using config file: nsvtranscode.cfg
DarkIce: DarkIceConfig.cpp:137: no current section [0]

Kurze Google-Suche nach dem Quellcode von DarkIceConfig.cpp offenbart, dass Darkice offenbar ein Problem hat, die nsvtranscode.cfg-Datei zu Parsen. Ich vermute jetzt mal einfach, dass auch dort die Zeilenumbrücke im Arsch sind. Wenn ich die Konfiguration 1:1 hier abspeichere und Darkice starte funktionierts fast, das einzige was dann noch fehlt ist ein "quality"-Wert, der laut man darkice.cfg für Shoutcast-Streams eingestellt werden muss:

Code:
[shoutcast-0]
bitrateMode     = cbr
bitrate         = 128
quality          = 1.0
server          = dein.shoutcast.server.de
port            = 8001
password        = hackme

Also: Zeilenumbrüche korrigieren, quality-Eintrag dazu und nochmal probieren!

Gruss, m.
 
AW: NSV und Audio trennen?

Hey Leute,
vielen Dank für den hilfreichen Beitrag. Habe alles so eingerichtet, aber erhalte beim starten des Scriptes dauernd "Failed to write to ringbuffer"

Was kann das sein?
Vielen Dank & Grüße
 
AW: NSV und Audio trennen?

Hier ein kleiner Zwischenstand, wie weit ich gekommen bin.
Leider funktioniert es immernoch nicht.

Folgende Ausgabe erhalte ich bei der Ausführung der nsvtranscode.sh:

Code:
***:/home/stream/darkice/src # ./nsvtranscode.sh
jackd 0.100.0
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with POSIX SHM support.
loading driver ..
creating dummy driver ... dummy_pcm|44100|1024|23219|2|2
DarkIce 0.18.1 live audio streamer, http://darkice.tyrell.hu/
Copyright (c) 2000-2007, Tyrell Hungary, http://tyrell.hu/

Using config file: nsvtranscode.cfg
Using JACK audio server as input device.
Registering as JACK client darkice-1416
0 bytes transfered to the encoders
MPlayer 1.0rc2-SUSE Linux 10.1 (i686)-Packman-4.1.0 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3500+ (Family: 15, Model: 95, Stepping: 2)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not connect to socket
mplayer: Connection refused
Failed to open LIRC support. You will not be able to use your remote control.

Playing **************/;stream.nsv.
Resolving ********** for AF_INET6...
Couldn't resolve name for AF_INET6: ***********
Connecting to server ***********[**********]: 9999...
Name   : mytv
Genre  : none
Website: http://www.poo.com
Public : no
Bitrate: 100kbit/s
Cache size set to 320 KBytes
Cache fill:  2.50% (8192 bytes)
ICY Info: StreamTitle='';StreamUrl='';

Nullsoft Streaming Video file format detected.
VIDEO:  [VP31]  320x240  24bpp  14.985 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Forced video codec: null
Opening video decoder: [null] Null video decoder
VDec: vo config request - 320 x 240 (preferred colorspace: BGR 24-bit)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [null] 320x240 => 320x240 Planar YV12
Selected video codec: [null] vfm: null (NULL codec (no decoding!))
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
[JACK] cannot open server
Could not open/initialize audio device -> no sound.
Audio: no sound
Starting playback...

******** sind abgeänderte Angaben.

Kann mir hier noch wer weiterhelfen?
LG. Mc_Bong
 
AW: NSV und Audio trennen?

Hallo zusammen,

Ich habe durch google diesen Post gefunden.

Ich war sofot begeistert von der idee, doch leider funktioniert das ganze nicht wirklich wie es sollte.

Mein Output sieht ungefähr so aus

Code:
jackd 0.101.1
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

creating dummy driver ... dummy_pcm|44100|1024|23219|2|2
DarkIce 0.18.1 live audio streamer, http://darkice.tyrell.hu/
Copyright (c) 2000-2007, Tyrell Hungary, http://tyrell.hu/

Using config file: nsvtranscode.cfg
Using JACK audio server as input device.
Registering as JACK client darkice-14135
MPlayer 1.0rc1-4.1.2-DFSG-free (C) 2000-2006 MPlayer Team
CPU: AMD Opteron(tm) Processor 148 (Family: 15, Model: 39, Stepping: 1)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.

Playing http://xxx.xx:8020/;stream.nsv.
Resolving xxx.xx for AF_INET6...
Resolving xxx.xx for AF_INET...
Connecting to server xxx.xx[xx.xxx.xx.xx]: 8020...
Name   : xxx
Genre  : none
Website: http://www.xx.xxx
Public : no
Bitrate: 100kbit/s
Cache size set to 320 KBytes
Cache fill:  2.50% (8192 bytes)   
ICY Info: StreamTitle='';StreamUrl='';

Nullsoft Streaming Video file format detected.
VIDEO:  [VP31]  320x240  24bpp  1.000 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Forced video codec: null
Opening video decoder: [null] Null video decoder
VDec: vo config request - 320 x 240 (preferred colorspace: BGR 24-bit)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [null] 320x240 => 320x240 Planar YV12 
Selected video codec: [null] vfm: null (NULL codec (no decoding!))
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
Audio: no sound
Starting playback...
failed to write to ring ruffer
failed to write to ring ruffer
failed to write to ring ruffer
failed to write to ring ruffer
failed to write to ring ruffer

....
x 10000
....

failed to write to ring ruffer
failed to write to ring ruffer
failed to write to ring ruffer
failed to write to ring ruffer
failed to write to ring ruffer
failed to write to ring ruffer

Auf dem Ziel Shoutcast spielt sich das hier ab:

Code:
<03/21/08@20:00:23> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:24> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:24> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:25> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:25> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:26> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:26> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:27> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:27> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:28> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:28> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:29> [source] connected from xx.xx.xx.xx
<03/21/08@20:00:29> [source] connected from xx.xx.xx.xx
.....
...



So genug gespammt *fg* ...

Hmmm habt ihr ne idee an was das liegt?
Brauch ich veleicht ne Soundkarte im Server?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben