Tut mir leid, wenn ich Dinge mache, die man nicht machen sollte.
Trotz meiner tagelangen Recherchen bin ich offenbar immer noch absoluter Neuling auf dem Gebiet der Programmierung des VLC.
So habe ich z.B. nicht verstanden, wie man sich die Befehlsketten, die beim Einrichten z.B. eines Stream erzeugt werden, auf andere Weise herausfinden kann, als
a) sie bei Erzeugen des Streams mit dem GUI zu kopieren (ich glaube allerdings, dass das nur ein Teil dessen ist, was in der Befehlskette enthalten ist)
b) sie aus der Wiedergabeliste zu extrahieren, da ich vermute (!), dass dort im Prinzip einfach die erzeugten Befehlsketten abgelegt werden.
Wenn ich also mit dem GUI einen Stream mit http erzeugt habe, der so funktionierte (!), wie anders kann ich ihn dann auf einfache Weise abspeichern und wieder verwenden, als in der Wiedergabeliste? Mir ist kein anderes Verfahren bekannt. Tatsächlich stimmen die beiden Strings ja auch überein.
Von daher verstehe ich nicht, was du damit meinst, wenn du schreibst:
"Das sind nur Parameter für den Input, der Input selbst fehlt[/b]!". Diese von dir kritisierte Zeile ist aber exakt das, was mir die GUI angezeigt hat, nachdem ich als Input das Mikrofon angegeben und die erweiterten Optionen geöffnet habe." :dshow-vdev=none :dshow-adev=Microphone (Realtek High Defini :live-caching=xxx". Wo so sonst kann man denn den input-String herbekommen? Ich habe beim besten Willen keine Hinweise auf eine andere Quelle gefunden.
Vielleicht bin ich ja auf dem Holzweg, aber ich hielt die Wiedergabeliste für das Mittel, mit dem man eine einmal mit der GUI erzeugte Befehlskette abspeichert, um sie wieder zu verwenden. Nach dieser Logik müsste es dann auf das Gleiche herauskommen, ob ich die Einstellungen jedes mal völlig neu erstelle oder die entsprechende Wiedergabeliste aufrufe, die beim ersten Mal erzeugt wurde. Nun schreibst du, dass das "erwartungsgemäß" nicht funktioniert. Tut mir leid, ich verstehe nicht, weshalb das zu erwarten ist.
Ich habe allerdings jetzt bei weiterem googeln herausgefunden, dass offenbar VLC von der Wiedergabeliste bestimmte Befehle wie "sout" etc. nicht annimmt, weil sie angeblich zu gefährlich sind. Eben das wurde mir ja auch angezeigt. Davon steht in den Benutzungshinweisen allerdings nichts und es erscheint mir auch als unlogisch, dass das Programm über die GUI Befehlsketten erzeugt, die man aus dem einzigen Mittel, das zur deren Abspeicherung zu existieren scheint, diese nicht wieder verwenden kann. Aber wie gesagt, ich blicke sicher einfach nicht genügend durch. Offenbar ist das Programm von Geeks für Geeks geschrieben worden und wer keiner ist, sollte es nicht verwenden.
Nachdem ich jetzt gemerkt habe, dass ich die einmal per GUI eingegebenen Parameter offenbar nicht über die Wiedergabeliste erneut verwenden kann, habe ich mich der Eingabe mittels Befehlszeile zugewendet. Leider aber findet man in der Dokumentation viele Angaben, die offenbar für die Version 2.1.3 schon nicht mehr gelten.
So fand ich z.B. dass angeblich die Ausgabe mit einem Befehl wie
"--sout "#transcode{vcodec=none,acodec ...... " angegeben werden soll. Nachdem ich das allerdings in das DOS-Fenster eingegeben haben, erhalte ich die Fehlermeldung, dass "--sout" zumindest von der Version 2.1.3 nicht als interner oder externer Befehl erkannt wird (mein Betriebssystem ist auf spanisch, ich gebe das also hier sinngemäß wieder).
Das Problem der Mikrofonübertragung habe ich inzwischen sehr einfach mit einem Aufwand von weniger als 20 Minuten gelöst, in dem ich auf der Serverseite einfach den "Broadwave"-Server von NCH (kostenlos) einsetze und VCL nur auf der Clientseite zum anhören und speichern.
Trotzdem werde ich weiter mit VCL experimentieren. Ich würde nämlich auch gerne den reinen Audiostream aus dem gemischten Video-/Audiostream meiner IP-Cams heraustrennen, um diesen auf der Clientseite ohne den Videostream zu speichern. Die erste Methode, die ich verwendet hatte, war, den internen Audioausgang des Systems als Audioquelle zu verwenden. Das geht sehr einfach mit VLC oder Audacity oder vielen anderen Aufzeichnungsprogrammen. Der Haken dabei ist, dass man das so nur für eine Kamera machen kann, da es eben nur einen Audioausgang gibt. Soll es für mehrere Kameras gleichzeit gehen, muss man das Audio direkt aus dem Gesamtstream herausholen und für jede Kamera eine Instanz von VLC verwenden.
Bislang sieht meine Befehlszeile (ja, keine Wiedergabelisten mehr!) so aus:
"C:\Program Files (x86)\VideoLAN\VLC\VLC.exe" http://dyndns-url.com:portnr/videostream.asf?user=myusername&pwd=mypassword --network-caching=1000 --no-sout-video --sout "#transcode{vcodec=none,acodec=mp3,ab=128,channels=2,samplerate=44100,afilter=mono} :std{access=file,mux=ts,dst=C:\Users\myself\Documents\Audio Recorder\VLC\Tonaufnahmen\test05.ts}" --sout-keep vlc:quit
Der string " --no-sout-video ", der angeblich die Videoanzeige unterdrücken soll, wird allerdings bei der Ausführung als Fehler angemeckert und selbst " --sout "#transcode .... " wird nicht akzeptiert. Offenbar ist hier die Dokumentation nicht mehr gültig, man muss also "basteln" und ausprobieren.
Vielleicht kannst du mir einen Hinweis geben wo ich die richtige Form nachlesen kann?
Mit dieser offenbar noch fehlerhaften Zeile bekomme ich immerhin schon den Kamerastream zu sehen und zu hören. Nun muss ich nur noch die Wiedergabe des Videos eliminieren und nur den Ton übrig behalten, damit ich diesen dann aufnehmen kann.
Was die von dir angesprochene Sicherheitsfrage angeht, so kann ich das nicht ganz nachvollziehen. Es sind sicher im Internet zigtausende Webcams und Überwachungscams aktiv, die von Leuten über ihr Smartphone oder Tablet oder entfernte PCs von anderswo abgefragt werden. Wenn man darin Probleme sieht, dann müsste man die alle verschrotten. Über eine Webcam kann man sicherlich mehr ausspionieren als über ein Mikrofon, bei dem niemand weiss, was das eigentlich für Geräusche sind, die da übertragen werden.
Also, um das Thema (hoffentlich) abzuschließen, ich wäre dir dankbar, wenn du mir Hinweise geben könntest, wie ich den IP-Cam Stream so mit der Befehlszeile transkodieren kann, dass mir nur der Audiostream zum Aufnehmen bleibt. Ich hatte das versuchsweise sogar schon über die GUI hinbekommen, aber dann ging es anschließend wieder mit der gleichen Einstellung nicht mehr.
Der BBCode ([/color]) hat übrigens nichts mit alledem zu tun. Ich hatte im Fehlerprotokoll einige Zeilen rot markiert und dann hat plötzlich der Forums-Editor verrückt gespielt und mir überall die BBCodes angezeigt, aber unvollständig, obwohl ich die Anzeige gar nicht aktiviert hatte. Ich musste die dann alle herauseditieren und einen habe ich offenbar übersehen.