Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
FAQ zum iRadio
Dank Dir, aber lass es bitte. Ich brauchte Bluetooth eigentlich nur für Spotify. Bin zurück auf Bullseye und habe dort Raspotify installiert. Das erfordert mittlerweile aktuellere Bibliotheken als die von Buster.
Alles gut also. Es kann weiter gehen ...
Zitieren
Hallo,

Bernd hat es oben ja schon erwähnt, dass der VLC-Befehl goto id problematisch ist. Bei mir springt 
Code:
echo goto irgendeinenummer | nc 127.0.0.1 9294 -N
immer zum ersten Eintrag der Playlist.
Ich konnte nicht herausfinden, wie man auf der Kommandozeile bzw. mit echo im daemon eine Sender-URL übergibt.
Für einen Tipp wäre ich dankbar.
Zitieren
Ja das ist der von mir (und Bernd?) beschriebene Bug im VLC RC Interface.

Du kannst das so lösen, wie wir das früher im iTV gemacht haben, direkt über die Console mit der URL aus der Senderliste als Aufrufparameter. Um VLC ist dann ein Wrapper, der beim Umschalten immer nur eine URL direkt übergibt, die Senderliste wird im Wrapper gehalten und alle gpiod Kommandos laufen auf diesen Wrapper auf. Findest Du hier im Forum!

Alternativ kannst Du auf dem HTTP Interface VLC fernsteuern: https://wiki.videolan.org/VLC_HTTP_requests/
Natürlich nicht über einen Webbrowser, sondern über Console mit netcat abgesetzt. Der Port dieses Interfaces ist im iRadio standardmäßig 8080. Wird in der vlcd festgelegt. Du solltest dort aber dann das Passwort für den Zugriff entfernen. Vielleicht der bessere Weg als um einen zusätzlichen Wrapper?

Tut mir leid für diese Verrenkungen, aber wir haben das seltsame Verhalten in vlc nicht verbrochen. Richtig schlimm wird es erst, wenn vlc nach goto Befehlen die gesamte Liste umsortiert und völlig neue Nummerierungen einführt.  KopfWand

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Ups. Das mit dem Bernd tut mir sehr leid, Bernhard  Blush

Ich dachte, iTV und iRadio  wären das Gleiche, nur mit anderen Senderlisten. Wenn ich hier nach iTV suche, finde ich auch nur so etwas wie
Code:
echo prev | nc 127.0.0.1 9294 -N
Ich bräuchte etwas wie
Code:
echo url | nc 127.0.0.1 9294 -N
Oder gibt es das gar nicht? 
Vielleicht kannst Du mir einen Link geben auf die Stelle hier im Forum, die Du oben meinst?

Gruß Kaloschke
Zitieren
(12.02.2022, 11:13)kaloschke schrieb: Ups. Das mit dem Bernd tut mir sehr leid, Bernhard  Blush

Alles ist in Ordnung!  Thumbs_up  Wink

(12.02.2022, 11:13)kaloschke schrieb: Ich dachte, iTV und iRadio  wären das Gleiche, nur mit anderen Senderlisten.

Heute ja, früher hatte vlc (in der damaligen aktuellen Version) bei Videostreams (also Internetfernsehen) aber mit dieser Art der Umschaltung Probleme. Wir mussten das mit einem "Wrapper", also einem Zwischenprogramm, lösen. Ging nicht anders.

(12.02.2022, 11:13)kaloschke schrieb: Wenn ich hier nach iTV suche, finde ich auch nur so etwas wie
Code:
echo prev | nc 127.0.0.1 9294 -N

Heute ja, früher war das beim iTV  https://www.radio-bastler.de/forum/showt...#pid144652 aber anders.

Dort hat nicht vlc auf 9294 gelauscht, sondern der wrapper auf 6025/6024.

system("echo \"prev\" | netcat -u 127.0.0.1 6024 -N -w 0");

Ging also an den wrapper und nicht an vlc. Der wrapper kannte die Senderliste und hat die URLs direkt und gezielt an vlc übergeben. Man konnte also aus der Senderliste gezielt eine URL (zum Beispiel Platz 5,...) entnehmen ohne das vlc da eine andere Wahl hatte und selbst in einer Senderliste rumpfuschen konnte. 

(12.02.2022, 11:13)kaloschke schrieb: Ich bräuchte etwas wie
Code:
echo url | nc 127.0.0.1 9294 -N

Hier bist Du im Prinzip bei meinem zweiten Vorschlag. Allerdings schickst Du bei den Stationstasten (das wolltest Du ja implementieren) keine Befehle an das RC Interface von vlc (Port 9294), sondern an das http interface (Port 8080). Vorher aber in /usr/bin/vlcd das Passwort für das HTTP Interface entfernen.

Hier findest Du die Kommandos die Du brauchst: https://wiki.videolan.org/VLC_HTTP_requests/
Damit kannst Du einen Eintrag aus der Playlist abspielen oder direkt eine URL schicken. Das machst Du nicht mit dem Webbrowser, sondern ebenso über echo und mit netcat. Die Antwort von vlc brauchst Du ja nicht auszuwerten, sondern kannst das nach dem Prinzip "fire and forget" über system() absetzen.


(12.02.2022, 11:13)kaloschke schrieb: Vielleicht kannst Du mir einen Link geben auf die Stelle hier im Forum, die Du oben meinst?

siehe oben

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Dank Dir. Aber was meinst Du mit Passwort rausnehmen beim vlcd?
Wenn ich die Zeile
Code:
--http-host 0.0.0.0 --http-port 8080 --http-password raspberry \
ändere in 
Code:
--http-host 0.0.0.0 --http-port 8080 \
startet der vlc nicht mehr ("Password not set")
Habe dann mal nach der von Dir genannten Website 
Code:
echo http://127.0.0.1:8080/requests/status.xml?command=in_play&input=rtsp://pi:raspberry@http://player.ffn.de/ffn.mp3

probiert, aber das klappt so auch nicht.
Zitieren
Nein so wird das nichts. Mit Passwort rausnehmen meinte ich ein leeres Passwortfeld zu übergeben, aber gut.


(12.02.2022, 21:00)kaloschke schrieb: Habe dann mal nach der von Dir genannten Website 
Code:
echo http://127.0.0.1:8080/requests/status.xml?command=in_play&input=rtsp://pi:raspberry@http://player.ffn.de/ffn.mp3

probiert, aber das klappt so auch nicht.

Das wird so auch nichts. Also echo selbst verschickt ja auch nichts, es gibt halt die zusammengebastelte Zeichenkette wieder. https://en.wikipedia.org/wiki/Echo_(command) 

"In computing, echo is a command that outputs the strings that are passed to it as arguments. It is a command available in various operating system shells and typically used in shell scripts and batch files to output status text to the screen[1] or a computer file, or as a source part of a pipeline."

Danach musst Du diese Zeichenkette an ein Programm "pipen", das den Netzwerkverkehr macht. In unserem Fall netcat.  Verbunden werden diese Programme über das | - Pipezeichen. Mache Dich bitte mit den Unix Pipelines vertraut um die Funktionsweise zu verstehen. https://de.wikipedia.org/wiki/Pipeline_(Unix)

Zu deiner URL: 127.0.0.1:8080 ja in Ordnung, aber hinter dem Kommando gibst Du folgendes an: input=rtsp://pi:raspberry@http://player.ffn.de/ffn.mp3

Du willst also einen Stream über RTSP = Realtime Streaming Protokoll anfordern? https://de.wikipedia.org/wiki/Real-Time_...g_Protocol

Ist das richtig? Was macht dann das HTTP-Protokoll dort vor der (so angegebenen ungültigen) Domain? 

Der nächste Punkt. Deine richtig zusammengebaute URL an 127.0.0.1:8080 mit dem formal richtigen
Kommando und der formal richtigen URL zum Sender musst Du in ein HTTP-Request einbetten! Auf die Schnelle -> https://unix.stackexchange.com/questions...ith-netcat

Diese ganze Zeichenkette (die echo ausgibt) wird dann zu Netcat ge-piped welches es per TCP/IP zu vlc überträgt. Also genauso wie es ein Webbrowser machen würde, wenn Du nach der URL die Enter-Taste drückst.

Ich hoffe jetzt ist die Sache klarer?

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Hallo Bernhard,

nicht wirklich. Werde mich die Tage da noch näher mit beschäftigen müssen.
Ich hatte eigentlich gehofft, Du könntest mir die Lösung einfach sagen, obwohl ich weiß, dass Du der Meinung bist, man sollte sich das selber erarbeiten.
Aber wenn ich weiß, wie im ich gpiod eine konkrete URL der VLC-Playlist  (so wie oben) dem vlcd übergebe, werde ich mich wohl nie wieder mit so etwas beschäftigen müssen.

Aber natürlich vielen Dank für Deine Hinweise.
Zitieren
Na gut.

Ich übernehme mal als Beispiel die URL deiner gewählten Station:  http://player.ffn.de/ffn.mp3
Um diese URL an VLC zu senden + eine Wiedergabe zu bewirken müsste die per Webbrowser zu sendende URL ans HTTP INF so lauten:

http://IP_des_Radios:8080/requests/statu...de/ffn.mp3

Danach musst Du im Webbrowser das Passwort eingeben und schon spielt das Radio los.

Lokal, also direkt mit einem Webbrowser auf dem Radio ersetzt du die IP_des_Radios durch die localhost-IP 127.0.0.1 . Also:

http://127.0.0.1:8080/requests/status.xm...de/ffn.mp3

Nun ist dein gpiod kein Webbrowser, aber wir müssen das so an vlc senden, als wäre es ein Webbrowser. Wir betten die Zeichenkette also in ein GET Request ein. Nach dem verlinkten Beispielen von oben sähe das zum Beispiel so aus:

Code:
GET http://127.0.0.1:8080/requests/status.xml?command=in_play&input=http://player.ffn.de/ffn.mp3 HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n


Jetzt pipen wir diese zusammengesetzte Zeichenkette an netcat, welches seinerseit die Nachricht an Port 8080, also dem HTTP INF abliefert.

Code:
echo -e "GET http://127.0.0.1:8080/requests/status.xml?command=in_play&input=http://player.ffn.de/ffn.mp3 HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n" | nc 127.0.0.1 8080 -N

Doch was bekommen wir als Antwort?

Zitat:HTTP/1.0 401 Client error
WWW-Authenticate: Basic realm="VLC stream"
Content-Length: 337
Content-Type: text/html

<?xml version="1.0" encoding="ascii" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml10/DTD/xhtml10strict.dtd">
<html lang="en">
<head>
<title>Client error</title>
</head>
<body>
<h1>401 Client error (/requests/status.xml)</h1>
<hr />
<a href="http://www.videolan.org">VideoLAN</a>
</body>
</html>


Klar wir sind nicht berechtigt! Nehmen wir jetzt das Passwort in der vlcd raus bzw. ersetzen es durch ein leeres Passwort '' fährt vlc dennoch hoch, meldet aber nur das kein Passwort gesetzt ist.

Zitat:pi@raspberrypi:/usr/bin $ echo -e "GET http://127.0.0.1:8080/requests/status.xm...de/ffn.mp3 HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n" | nc 127.0.0.1 8080 -N
HTTP/1.1 200 OK
Content-type: text/xml
Cache-Control: no-cache
Content-Length: 507

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><title>VLC media player</title></head><body><p>Password for Web interface has not been set.</p><p>Please use --http-password, or set a password in </p><p>Preferences &gt; All &gt; Main interfaces &gt; Lua &gt; Lua HTTP &gt; Password.</p><!-- VLC_PASSWORD_NOT_SET --></body></html>pi@raspberrypi:/usr/bin $


Das ist uns aber egal, denn jetzt ist der Befehl nämlich ausgeführt (die Antwort verwerfen wir) und vlc spielt die URL ab wie man hier sehen, leider nicht hören kann, aber ich versichere Dir, ich höre die Station.

Jetzt hoffe ich natürlich das die Forensoftware die zusammengesetzte Zeichenkette nicht fehlformatiert und Du sie richtig abschreiben und anwenden kannst.
Den gpiod inklusive Umschaltung und Zustandsautomat Pro+/- und Feststationsspeicher musst Du nun schon selbst programmieren. Du bist der Umbauer deines Radios!

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
(14.02.2022, 10:59)Bernhard45 schrieb: Du bist der Umbauer deines Radios!

Was nicht bedeuten soll, daß Du hier nicht weiter Fragen stellen kannst!  Wink  Aber es ist doch ein besseres Gefühl, wenn man sein Radio selbst angepasst und sich das Wissen erarbeitet und nicht einfach nur einen fertigen Quellcode übernommen hat. Das was Du dabei lernst, wirst Du auch bei anderen Projekten anwenden können!

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Oh, Du hast ja doch noch geantwortet.  Wink Das hätte ich NIE hin bekommen!

Gleich mal ausprobiert, aber auf 
Code:
echo -e "GET http://127.0.0.1:8080/requests/status.xml?command=in_play&input=http://player.ffn.de/ffn.mp3 HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n" | nc 127.0.0.1 8080 -N
 kommt:
Code:
HTTP/1.0 404 Not found
Content-Length: 331
Content-Type: text/html

<?xml version="1.0" encoding="ascii" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml10/DTD/xhtml10strict.dtd">
<html lang="en">
<head>
<title>Not found</title>
</head>
<body>
<h1>404 Not found (/requests/status.xml)</h1>
<hr />
<a href="http://www.videolan.org">VideoLAN</a>
</body>
</html>

Ich habe Deinen Eintrag per copy&paste übernommen.

Ohne Passwort kann ich leider auch nicht mehr von einem anderen Rechner auf den VLC zugreifen. Ist nicht so schlimm, war aber zum testen hilfreich.
Viele Grüße
Zitieren
Du hast wahrscheinlich folgendes nicht beachtet:

(14.02.2022, 10:59)Bernhard45 schrieb: Klar wir sind nicht berechtigt! Nehmen wir jetzt das Passwort in der vlcd raus bzw. ersetzen es durch ein leeres Passwort '' fährt vlc dennoch hoch, meldet aber nur das kein Passwort gesetzt ist.

Starte ich in vlcd nämlich vlc ohne ein leeres Passwort passiert genau das bei dir geschehen ist. Die Seite wird nicht ausgeliefert.
Starte ich vlc in vlcd aber mit einem leeren Passwort (ruhig so wie ich das oben gemacht habe), also einer leeren Zeichenkette, gibt es das Ergebnis:

Zitat:pi@raspberrypi:~ $ echo -e "GET http://127.0.0.1:8080/requests/status.xm...de/ffn.mp3 HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n" | nc 127.0.0.1 8080 -N
HTTP/1.1 200 OK
Content-type: text/xml
Cache-Control: no-cache
Content-Length: 507

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><title>VLC media player</title></head><body><p>Password for Web interface has not been set.</p><p>Please use --http-password, or set a password in </p><p>Preferences &gt; All &gt; Main interfaces &gt; Lua &gt; Lua HTTP &gt; Password.</p><!-- VLC_PASSWORD_NOT_SET --></body></html>pi@raspberrypi:~ $


Und das sieht natürlich viel besser aus und der Sender wird dann auch abgespielt. Wink 
Ich vermute Du hast einen Aufruffehler in der vlcd produziert? Kann das sein?

Nachtrag:

Das hier wäre die vlcd mit der ich das gewünschte Ergebnis erziele (ich hoffe die Forensoftware zerhaut den Inhalt nicht):

/usr/bin/vlc \
--verbose 1 \
--file-logging \
--logfile /var/run/vlcd/vlcd.log \
--$volpref \
--audio-filter compressor,volnorm \
--norm-buff-size 10 \
--norm-max-level 80.0 \
--norm-max-level -3 \
--compressor-attack 50.0 \
--compressor-release 200.0 \
--compressor-ratio 20.0 \
--compressor-threshold 0.0 \
--compressor-rms-peak 0.0 \
--compressor-knee 1.0 \
--compressor-makeup-gain 0.0 \
--intf dummy \
--extraintf rc:http \
--rc-host 0.0.0.0:9294 --rc-fake-tty \
--http-host 0.0.0.0 --http-port 8080 --http-password ''  \
--no-quiet \
--daemon \
--pidfile /var/run/vlcd/vlcd.pid \
$playlist



Das --http-password '' ist kein "Gänsefüßchen" sondern ` ` nur das Leerzeichen dazwischen weg. Scheint die Forensoftware nicht richtig darstellen zu können.

(16.02.2022, 12:00)kaloschke schrieb: Ohne Passwort kann ich leider auch nicht mehr von einem anderen Rechner auf den VLC zugreifen. Ist nicht so schlimm, war aber zum testen hilfreich.
Viele Grüße

Genauer: Von einem anderen Rechner per Webbrowser auf das Webinterface des Radio zugreifen! Das geht nicht mehr, aber Du kannst natürlich von einem entfernten Unix Rechner per Netcat auf das Radio zugreifen.
Du musst nur die 127.0.0.1 (also den localhost) durch die IP des Radios ersetzen, dann klappt das. Ebenso kannst Du direkt den Befehl (also ohne GET request) weiter über die URL-Zeile eines Webbrowser absetzen, auch hier den localhost ersetzen. Du kommt nur nicht mehr auf das grafische Webinterface vom Radio!

(16.02.2022, 17:03)kaloschke schrieb: Bei dem GET oben besteht keinerlei Möglichkeit, das Passwort mit zu übergeben?

es wird nicht einfacher sagt ich mal: https://developer.mozilla.org/en-US/docs...entication



Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Doch, ich hatte es mit dem Passwort schon so gehalten, wie Du es beschreibst. Also zur Sicherheit: das ' Zeichen über dem # und nicht die Apostroph-Zeichen oben neben dem ß. Außerdem habe ich die doppelten Anführungszeichen " probiert (""). Es klappt ja meist beides. Aber nach wie vor kommt bei mir der 404 Fehler.
Sehr seltsam, da es bei Dir ja klappt. Eben alles noch mal gemacht, ohne Änderung. Mein vlcd sieht ansonsten so aus wie Deins.

Den VLC von einem anderen Rechner im Netz aufrufen geht sehr wohl. Ich habe dazu die Datei /usr/share/vlc/lua/http/.hosts mit diesem Inhalt erstellt:
Code:
# localhost
::1
127.0.0.1

# private addresses
192.168.0.0/16

   

Allerdings muss wohl zwingend ein Passwort vergeben sein, sonst erscheint unter der iRadio-Adresse:
Code:
Password for Web interface has not been set.
Please use --http-password, or set a password in
Preferences > All > Main interfaces > Lua > Lua HTTP > Password.
Aber gesagt, wäre nett, muss aber nicht sein.
Bei dem GET oben besteht keinerlei Möglichkeit, das Passwort mit zu übergeben?
Zitieren
(16.02.2022, 17:03)kaloschke schrieb: Doch, ich hatte es mit dem Passwort schon so gehalten, wie Du es beschreibst. Also zur Sicherheit: das ' Zeichen über dem # und nicht die Apostroph-Zeichen oben neben dem ß.


Ja!

(16.02.2022, 17:03)kaloschke schrieb: Den VLC von einem anderen Rechner im Netz aufrufen geht sehr wohl. Ich habe dazu die Datei /usr/share/vlc/lua/http/.hosts mit diesem Inhalt erstellt:
Code:
# localhost
::1
127.0.0.1

# private addresses
192.168.0.0/16


Natürlich geht das und zwar out-of-box und ganz ohne eine extra Datei anzulegen.


(16.02.2022, 17:03)kaloschke schrieb: Allerdings muss wohl zwingend ein Passwort vergeben sein, sonst erscheint unter der iRadio-Adresse:
Code:
Password for Web interface has not been set.
Please use --http-password, or set a password in
Preferences > All > Main interfaces > Lua > Lua HTTP > Password.


Ja natürlich und das diese Meldung erscheint, muss auch so sein wenn Du die Befehle, so wie sie oben geschrieben sind, absenden willst und darauf eine Reaktion erwarten kannst. Ich hatte doch den Unterschied oben gezeigt. Genau deshalb hatte ich deinen letzten Kommentar genauer formuliert:


(16.02.2022, 12:00)kaloschke schrieb: Ohne Passwort kann ich leider auch nicht mehr von einem anderen Rechner auf den VLC zugreifen. Ist nicht so schlimm, war aber zum testen hilfreich.
Viele Grüße




Genauer: Von einem anderen Rechner per Webbrowser auf das Webinterface des Radio zugreifen! Das geht nicht mehr, aber Du kannst natürlich von einem entfernten Unix Rechner per Netcat auf das Radio zugreifen.



Du musst nur die 127.0.0.1 (also den localhost) durch die IP des Radios ersetzen, dann klappt das. Ebenso kannst Du direkt den Befehl (also ohne GET request) weiter über die URL-Zeile eines Webbrowser absetzen, auch hier den localhost ersetzen. Du kommt nur nicht mehr auf das grafische Webinterface vom Radio!







Ich glaube wir reden irgendwie aneinander vorbei, so wird das wohl nichts! Also wenn Du das so mit diesen Zeichenketten umsetzen willst, dann muss das PW leer sein und der Zugriff per Webbrowser per IP:8080 zeigt dann immer diesen Hinweis das kein PW gesetzt ist. 







Ich glaube Du solltest noch mal den Weg über den Wrapper nachdenken, dort brauchst Du nur Konsolenbefehle wie vlc URL über system() ausgeben beim Umschalten. Ich glaube wenn Du nachher remote per TCP/IP noch die Playlist löschen und neu einspielen musst (Wechsel zwischen Umschaltung Stationsspeicher/regulärer Drehencoder oder Gestensensor) wird die Sache im Moment noch zu undurchschaubar.  Ich gebe zu vlc über TCP/IP fernzusteuern ist nicht Einsteigerkost, aber wenn man das machen will, muss man sich vorher in die Interfaces einlesen und darf auch nicht beim Zusammensetzen vom einem Request gleich nach Hilfe "gib mir die Lösung" schreien. ;-) 


Hast Du den Wrapper aus dem iTV verstanden? Wenn Du das über einen Wrapper machst wird auch dein Zustandsautomat für die Umschaltung zwischen Stationsspeicher / Drehencoder o. Gestensensor einfacher.


(16.02.2022, 17:03)kaloschke schrieb: Bei dem GET oben besteht keinerlei Möglichkeit, das Passwort mit zu übergeben?

Ich sag mal so, einfacher als das hier wird es nicht: https://developer.mozilla.org/en-US/docs...entication daher sollte da jetzt bei Dir schon ohne PW klappen.
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Ich hatte nur "Zugriff auf iRadio" mit "Zugriff auf VLC" verwechselt, ansonsten habe ich alles so gemacht, wie Du oben schreibst.
Schade, dass es bei mir nicht klappt. Leider ist die Steuerung über die Radiotastatur das zentrale Element bei mir.
Dann mach ich mich mal auf die Suche nach dem Wrapper ...
Zitieren
https://radio-bastler.de/forum/showthrea...#pid221069
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Danke
Zitieren
Auch wenn ich es im Detail nicht verstehe, der Wrapper startet also jedes mal den VLC neu mit der gewünschten URL als Parameter, richtig?

Das müsste ich im gpiod doch auch machen können. Ich will die Radiosender nur über Stationstasten starten, brauche also kein "next" oder "prev".
Code:
sudo killall vlc
sudo /usr/bin/vlcd http://player.ffn.de/ffn.mp3
Letzteres klapp aber so nicht. Bin schon die ganze Zeit am googeln ...
Zitieren
Richtig!
Wenn Du auf die gesamte "Infrastruktur" und Interprozesskommunikation im iRadio verzichten möchtest, dann geht das auch so und direkt im gpiod. Du willst also wirklich die URL hart in den Quellcode schreiben? Keine playlist.m3u beim Start einlesen etc.?

Na gut.

sudo killall vlc ist okay.
sudo vlc http://player.ffn.de/ffn.mp3 wird einen Fehler werfen, weil vlc nicht direkt als sudo gestartet werden kann. Damit das dennoch geht, muss einmal (nicht immer) einmal, wie in unserer vlcd-Datei (https://github.com/BM45/iRadio/blob/master/vlcd)

sed -i 's/geteuid/getppid/' /usr/bin/vlc

ausgeführt werden. Danach kann vlc auch mit sudo vlc url gestartet werden. Zwischen kill und Neustart würde ich aber ein kleines Delay setzen, damit der Prozess sauber beendet werden kann. Und ich würde beide Prozesse beim Start in den Hintergrund legen, sonst blockieren sie die gpiod-Hauptschleife. Wie das unter Unix/Linux geht ist bekannt? Hängst hinten ein & ran, siehe /etc/rc.local

Du willst sicher auch das im Display Titel/Song erscheint? Keine Ahnung was dein Derby nun alles hat oder nicht, ich habe dank der fehlenden Systembeschreibung und Bildern deinerseits absolut keinen Überblick was Du da alles zusammenbaust.
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Das wäre toll!

Aber ich habe wohl jetzt wieder das falsche OS. Sudo vlc url liefert bei mir:
PHP-Code:
VLC media player 3.0.16 Vetinari (revision 1.0.6-1682-g88158c836)
[
01df03a8vlcpulse audio output errorPulseAudio server connection failureConnection refused
[01df9630dbus interface errorFailed to connect to the D-Bus session daemon: /usr/bin/dbus-launch terminated abnormally without any error message
[01df9630main interface errorno suitable interface module
[01d6bb98main libvlc error: interface "dbus,none" initialization failed
[01e03fa0main interface errorno suitable interface module
[01d6bb98main libvlc error: interface "globalhotkeys,none" initialization failed
[01d6bb98main libvlcRunning vlc with the default interface. Use 'cvlc' to use vlc without interface.
errorXDG_RUNTIME_DIR not set in the environment.
[
01e03fa0skins2 interface errorcannot initialize OSFactory
[01e03fa0] [clilua interface: Listening on host "*console".
VLC media player 3.0.16 Vetinari
Command Line 
Interface initializedType `help' for help.
> [70b02908] prefetch stream error: unimplemented query (264) in control 

Da beißt sich die Katze in den Schwanz. Altes OS ging ja nicht mit Zero W2.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  iRadioPico - iRadio Portierung für Raspberry Pico/Pico W und RP2040 Boards OttoBerger 28 806 Gestern, 11:39
Letzter Beitrag: OttoBerger
  iRadioAndroid - iRadio Portierung für Android Geräte OttoBerger 154 10.024 23.03.2024, 13:45
Letzter Beitrag: Uli
  Saba TV-Journey mit iRadio saarfranzose 6 2.154 20.07.2023, 20:22
Letzter Beitrag: saarfranzose
  Raspberry iRadio, heavy duty Emmpunkt 5 1.118 27.03.2023, 17:58
Letzter Beitrag: saarfranzose
  russisches 6N-1 mit iRadio und RGB-Panel saarfranzose 10 1.859 11.03.2023, 15:00
Letzter Beitrag: saarfranzose

Gehe zu: