Sound über USB ausgeben

Status
Für weitere Antworten geschlossen.

Kamil

Benutzer
Mitglied seit
23. Jan 2009
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
Hallo Community!

Hat irgendwer eine Ahnung, wie die Audiostation den Sound an den USB-Port schickt?

Liebe Grüße

MJFox
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Sound per Audio-Station abspielen und dann mit ps nachschauen ;)

Rich (BBCode):
/usr/syno/bin/mplayer

Itari
 

Kamil

Benutzer
Mitglied seit
23. Jan 2009
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
Sound per Audio-Station abspielen

geht nicht, da ich keine USB-Soundkarte habe ;)

aber danke für den Hinweis, möchte mal grundsätzlich schauen, ob es möglich wäre, bei meiner Jukebox die USB-Ausgabe einzubauen

Liebe Grüße

MJFox
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.164
Punkte für Reaktionen
412
Punkte
393
Hallo,
Rich (BBCode):
/usr/syno/bin/mplayer /volume1/music/musik.mp3 -loop 0 -daemon -volume 50
um genau zu sein :)

Gruß Götz
 

Kamil

Benutzer
Mitglied seit
23. Jan 2009
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
super, danke, das hilft mir sehr!

Liebe Grüße

MJFox
 

Kamil

Benutzer
Mitglied seit
23. Jan 2009
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
@Götz

siehst du die genauen Aufrufe irgendwo?

LG

MJFox
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.164
Punkte für Reaktionen
412
Punkte
393
Hallo,
ansonsten auch noch unter /proc/<Preozess_ID>/cmdline

Gruß Götz
 

Kamil

Benutzer
Mitglied seit
23. Jan 2009
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
habe mich jetzt stundenlang herumgespielt und komme zu keinem Ergebnis, vielleicht hat ja jemand eine Idee, die mich weiterbringt

wenn ich über die Kommandozeile folgendes eingebe:

Rich (BBCode):
ds> /usr/syno/bin/mplayer /volume1/mp3/test.mp3 -loop 1 -volume 100

wird das File abgespielt, auf der Konsole erscheint:

Rich (BBCode):
MPlayer SVN-r29700-snapshot-4.2.1 (C) 2000-2009 MPlayer Team

Playing /volume1/mp3/test.mp3.
libavformat file format detected.
[mp3 @ 0x8b62d00]max_analyze_duration reached
[lavf] Audio stream found, -aid 0
Clip info:
 title: test
 author: test
 genre: test
==========================================================================
Opening audio decoder: [libmad] libmad mpeg audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 320.0 kbit/22.68% (ratio: 40000->176400)
Selected audio codec: [mad] afm: libmad (libMAD MPEG layer 1-2-3)
==========================================================================
AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:   2.4 (02.3) of 184.1 (03:04.1) 4.2%

so weit so gut

probiere ich das ganze über PHP mit

Rich (BBCode):
<?
$exec = "/usr/syno/bin/mplayer /volume1/mp3/test.mp3 -loop 1 -volume 100";

echo '<pre>';

$last_line = system($exec, $retval);

echo '
</pre>
<hr />Letzte Zeile der Ausgabe: ' . $last_line . '
<hr />Rückgabewert: ' . $retval;
?>

kommt, nachdem man den mplayer-process gekillt hat, folgendes:

Rich (BBCode):
MPlayer SVN-r29700-snapshot-4.2.1 (C) 2000-2009 MPlayer Team

Playing /volume1/mp3/test.mp3.
libavformat file format detected.
[lavf] Audio stream found, -aid 0
Clip info:
 title: test
 author: test
 genre: test
==========================================================================
Opening audio decoder: [libmad] libmad mpeg audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 320.0 kbit/22.68% (ratio: 40000->176400)
Selected audio codec: [mad] afm: libmad (libMAD MPEG layer 1-2-3)
==========================================================================
AO: [null] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:   0.0 (00.0) of 184.1 (03:04.1) ??,?%                                        
A:   0.0 (00.0) of 184.1 (03:04.1) ??,?%                                        
A:   0.0 (00.0) of 184.1 (03:04.1) ??,?%                                        
A:   0.0 (00.0) of 184.1 (03:04.1) ??,?%                                        
A:   0.0 (00.0) of 184.1 (03:04.1) ??,?%                                        
A:   0.0 (00.0) of 184.1 (03:04.1) ??,?%                                        
A:   0.1 (00.0) of 184.1 (03:04.1) ??,?%

das File wird abgespielt, man hört aber nichts... es fällt auch auf, dass bei "AO" ein [null] in der Klammer steht, während bei der Konsole [oos] drinnen steht

wenn ich über php versuche, oos für die Ausgabe zu wählen mit

Rich (BBCode):
/usr/syno/bin/mplayer /volume1/mp3/_Archiv/_Aktuell/Seal-Amazing.mp3 -loop 1 -volume 100 -ao oss

kommt

Rich (BBCode):
MPlayer SVN-r29700-snapshot-4.2.1 (C) 2000-2009 MPlayer Team

Playing /volume1/mp3/_Archiv/_Aktuell/test.mp3.
libavformat file format detected.
[lavf] Audio stream found, -aid 0
Clip info:
 title: test
 author: test
 genre: test
==========================================================================
Opening audio decoder: [libmad] libmad mpeg audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 320.0 kbit/22.68% (ratio: 40000->176400)
Selected audio codec: [mad] afm: libmad (libMAD MPEG layer 1-2-3)
==========================================================================
Audio: no sound
Video: no video


Exiting... (End of file)

derselbe Befehl über die Konsole funktioniert

es scheint also, als ob die Soundkarte nicht benutzt werden kann oder darf, wenn der Befehl über php abgesetzt wird... hat irgendwer eine Idee, woran das liegen könnte?

Liebe Grüße

Kamil
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Ich glaube das hat etwas mit dem usr- und sys-Apachen zu tun ...
Lass die php-Datei mal auf dem sys laufen. Dann sollte es gehen.

MfG Matthieu
 

Kamil

Benutzer
Mitglied seit
23. Jan 2009
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
jawohl! :)

wenn ich auf der Konsole eingebe

Rich (BBCode):
php /volume1/web/play.php

funktioniert die Ausgabe

aber wieso?

Liebe Grüße

Kamil
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Der user-Apache ist der mit den geringeren Rechten. Synology möchte so verhindern, dass installierte Webanwendungen unheil anrichten können. Und auch der sys-Apache der hinter dem DSM und auch der AudioStation steckt ist mit Einschränkungen versehen. Daher itaris init_3rdparty ...

MfG Matthieu
 

Kamil

Benutzer
Mitglied seit
23. Jan 2009
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
ich habe itaris init_3rdparty installiert... nützt aber nichts :(

das shell-command wird ausgeführt, daran kann es also nicht liegen... nur die Soundkarte kann/darf scheinbar nicht benutzt werden

Liebe Grüße

Kamil
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Nein so war das nicht gemeint. Wenn du über die Konsole etwas machst, dann tust du das als root. Wenn du über den DSM etwas machst, dann läuft das auch über einen Webserver dessen Rechte als root gesetzt sind. Die Webstation (alles unter web) läuft aber unter einer weiteren Instanz mit deutlich weniger Rechten (nobody). itaris Paket hilft nur, wenn du etwas direkt in den DSM integrierst und somit als root ausführen lässt. Es beseitigt ein paar Einschränkungen des root- (sys-) Apachen.

MfG Matthieu
 

Kamil

Benutzer
Mitglied seit
23. Jan 2009
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
verstehe

aber welche Einschränkung greift hier?

ich habe in /usr/syno/etc/php.ini eingestellt, dass ich Shell-Commands ausführen darf, normalerweise darf man das ja auch nicht

was muss ich einstellen, damit die Webstation die Soundkarte benutzen darf? irgendeine Idee?

Liebe Grüße

Kamil
 

Kamil

Benutzer
Mitglied seit
23. Jan 2009
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
ok, ich habe das Skript jetzt mal in das Verzeichnis von itaris Admin-Tool kopiert und dann aus ihm heraus über den Browser aufgerufen und damit funktioniert die Soundausgabe (@Matthieu: das hast du vorhin gemeint, oder?)

jetzt wäre nur noch interessant, welche Einschränkung hier greift, sodass es über die normale Webstation nicht funktioniert

Liebe Grüße

Kamil
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Ich glaube das wird irgendwo ganz tief liegen. Auch daran was zu ändern wäre wohl nicht so vorteilhaft.
Ich würde einfach die Datei mit dem Sys-Apachen unterjubeln falls das geht (@itari?) und dann von der Jukebox aufrufen lassen.

MfG Matthieu
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Wenn die Jukebox nicht mit dem sys-Apachen laufen soll - und das wäre in meine Augen ein Sicherheitsrisiko - dann bleibt nur die Möglichkeit, einem unter 'root' laufenden Server die Ausführung des mplayers unterzujubeln. Im Moment fällt mir dazu der "at" ein (IPKG), welche ähnlich wie der crond Aufträge entgegen nehmen kann, und sie zu einem Zeitpunkt X ausführt. Der Zeitpunkt X kann auch 'now' (also unverzüglich) sein.

Itari
 

Kamil

Benutzer
Mitglied seit
23. Jan 2009
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
du meinst, wenn ich aus einem PHP-Skript, welches nicht unter root läuft, einen at-Befehl absetze, dann wird dieser unter root ausgeführt?

Liebe Grüße

Kamil
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Wenn ich das so von dir lese, dann bezweifle ich das irgendwie :D Denn eigentlich wäre das auch eine Sicherheitslücke. Dann bleibt wohl nur die Variante übrig, die Jukebox wahlweise auch über den sys-Apachen laufen zu lassen für all jene, die direkt neben der DS sitzen und sich über USB berieseln lassen wollen. ;)

Itari
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat