D-Link DCS-932L kein Ton beim Streamen

  • Hallo Forum,

    mein erster Beitrag :-)

    der Videostream der Netzwerkkamera kann nicht gleichzeitig mit Ton wiedergegeben werden. Video ohne Ton oder Ton ohne Video geht.


    Windows 10, 64 Bit, Version 1809

    VLC Version 3.0.6 Vetinari

    alle Einstellungen wurden zurückgesetzt

    D-Link DCS-932L Hardware Version A, Manual: ftp://ftp2.dlink.com/PRODUCTS/…S-932L_MANUAL_1.00_EN.PDF


    Die Kamera ist schon etwas älter, der Viewer läuft unter Java oder ActiveX, beides möchte ich nicht.

    Mit VLC kann ich mir das Video ansehen, leider nur ohne Ton:

    Medien | Netzwerkstream öffnen | Netzwerk

    http://<camera-IP>/video.cgi

    Ich kann mir auch den Ton anhören, dann aber nur ohne Bild:

    Medien | Netzwerkstream öffnen | Netzwerk

    http://<camera-IP>/audio.cgi


    Ich habe versucht, den Stream als Video mit Ton abszuspielen - geht nicht.

    Medien | Netzwerkstream öffnen | Netzwerk

    http://<camera-IP>/video.cgi

    Mehr Optionen anzeigen | Ein anderes Medium synchron wiedergeben...

    http://<camera-IP>/audio.cgi

    Wiedergabe


    Werkzeuge | Codec-Information

    Stream 0: Codec: Motion JPEG Video (MJPG); Typ: Video; ...

    Stream 1: Codec: PCM S16 LE (s16l); Typ: Audio; ...


    Werkzeuge | Statistiken

    Audio: überall 0

    Video: "viele" Blöcke und Bilder (Zahlen ändern sich ständig)

    Input/Lese: ebenso "viele" Daten, keine verworfenen oder ausgelassenen Bits


    Bei Bedarf sende ich gern einen Screenshot der "Aktuellen Medieninformationen". Ich wollte nur darauf hinweisen, dass bei Audio jeweils 0 Blöcke decodiert, gespielt und verloren wurden.


    Gigt es irgendwelche Ideen, wie ich weiter suchen könnte - oder hat Jemand sogar die Lösung?


    Mit freundlichem Gruß


    ThomasT

  • Hallo ThomasT,


    ich hätte auch den Vorschlag gemacht beim Öffnen eines Netzwerkstreams unter "Mehr Optionen anzeigen" die Option "Ein anderes Medium synchron wiedergeben..." aus zu probieren.


    Man könnte noch mit zwei VLC-Instanzen arbeiten. In der einen wird nur das Video abgespielt und in der anderen nur der Ton.


    Möglicherweise hilft es das Fehlerprotokoll in der Ausführlichkeitsstufe 2 aufzuzeichnen.

    Im Menü / Werkzeuge / Meldungen unter Ausführlichkeit die Stufe 2 einstellen und anschließend den Netzwerkstream mit der Option "Ein anderes Medium synchron wiedergeben..." starten.


    Das Forum-Mitglied OttoZ hat einen Link hier im Forum bekannt gemacht, wo man Anbindungen diverser IP-Kameras an den VLC-Player findet.

    iP Kameras mit VLC anbinden/ abspielen


    Für die "D-Link DCS-932L" findet man im folgenden Link verschiedene Möglichkeiten.

    http://www.ispyconnect.com/man.aspx?n=d-link&page=2


    Probiere mal die verschiedenen Möglichkeiten aus.

    z.B.

    - http://.../videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0

    vielleicht auch (D-Link 930L)

    - rtsp://.../play1.sdp


    MfG

    Thomas

  • Hallo Thomas,


    Danke für die Hinweise zum Weitersuchen.


    Die Idee mit den 2 VLC-Instanzen funktioniert. Doch spätestens, wenn einige Minuten des Streams mit VLC aufgezeichnet werden sollen, steht man wieder vor dem Problem.


    Die Aufzeichnung der Daten der Fehlerdiagnose bringt mich persönlich nicht weiter. Für beide Streams, Video und Audio, wird nacheinander erfolgreich das Passwort abgefragt. Ein paar Zeilen später kommt diese Fehlermeldung:

    main debug: `http://<camera-IP>/audio.cgi' successfully opened
    main debug: Buffering 0%
    main error: slave[0] doesn't like DEMUX_GET_TIME -> EOF
    main debug: slave 0 EOF

    Weiter unten werden diese 3 Zeilen mehrere hundert Mal (!) wiederholt:

    mjpeg debug: discard MIME header: Content-length: 41084
    mjpeg debug: discard MIME header: Date: 05-30-2019 08:42:20 AM IO_00000000_PT_005_000
    main error: demux doesn't like DEMUX_GET_TIME

    Suche nach DEMUX_GET_TIME führt in ein englischsprachiges VLC-Forum, aber mit einem anderen Thema.

    Ist das Hinweis genug, oder ist es sinnvoll die ca. 4000 Zeilen der Logdatei zur Fehlerdiagnose irgendwo zu posten?


    Den Hinweisen von OttoZ, sowie von ispyconnect.com werde ich noch nachgehen.


    Zum Letzten Punkt:

    http://<camera-IP>/videostream.asf?user=<username>n&pwd=<password>&resolution=32&rate=0

    "The request is forbidden." (Diese Meldung kommt aber auch bei allen nicht existierenden Verzeichnissen und Dateien)

    rtsp://<camera-IP>/play1.sdp

    versucht eine Verbindung über Port 554 aufzubauen, in der Kamera ist aber Port 80 eingestellt. Also noch einmal mit Portangabe

    rtsp://<camera-IP>:80/play1.sdp

    kein Erfolg. Nicht mal eine Frage zu Autorisierung.


    Soweit vorerst.


    Gruß ThomasT

  • Hallo ThomasT,


    im obigen Link ispyconnect ist die D-Link IP Cam DCS-932L gelistet. Man findet die folgenden Einträge.

    Code
    1. Model Type Protocol Path Audio Talk Model
    2. 932l JPEG http:// IMAGE.JPG No None
    3. 932L JPEG http:// image/jpeg.cgi No None
    4. 932L MJPEG http:// video.cgi?resolution=VGA No None
    5. 932L MJPEG http:// MJPEG.CGI No None
    6. 932L JPEG http:// snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD] No None
    7. 932-L JPEG http:// IMAGE.JPG No None
    8. 932-L MJPEG http:// video/mjpg.cgi No None
    9. 932-L JPEG http:// dms No None
    10. 932-L MJPEG http:// mjpeg.cgi No None

    Keiner der Einträge für das Model "DCS 932L" oder "932-L" enthält den Hinweis dass Audio möglich ist.


    Es gibt aber andere D-Link Cams, wo Audio als möglich angegeben wird.

    z.B.

    Code
    1. 930 L FFMPEG rtsp:// play1.sdp
    2. 932 FFMPEG http:// videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0


    Hier kann man also nur testen, ob die Pfadangaben zufälligerweise auch für die "D-Link DCS 932L" funktionieren.

    Oder mal beim Hersteller nachfragen, ob die IP Cam 932L die gleichzeitige Tonwiedergabe mit der Videowiedergabe unterstützt.

    - https://eu.dlink.com/de/de/pro…2l-day-night-cloud-camera


    In der Bedineungsanleitung der Web-Oberfläche (obiger Link - Manual, Seite 29) kann man den Ton deaktivieren.

    Vielleicht reicht hier bereits die Ton-Aktivierung und Speicherung der Einstellung aus.


    Das handbuch gibt es auch in deutscher Sprache.

    - ftp://ftp.dlink.de/dcs/dcs-932…_man_reva_Handbuch_de.pdf


    Mehr Ideen habe ich im Moment nicht.


    MfG

    Thomas

  • Hallo Thomas,


    das Verwaltungsprogramm der Kamera ist über eine Web-Oberfläche zugänglich, bei der ein Menüreiter zu Live-Video führt, Bild mit Ton. Um das anzeigen zu können, hat man die Auswahl zwischen der Installation eines ActiveX-Plugins oder Java. Der Internet Explorer 11 kann noch ActiveX, das gewünschte Plgin habe ich installiert, und so kann ich mir auch das Bewegtbild mit Ton ansehen. Also Bild ist da und Ton auch - irgendwie sichtbar und hörbar gemacht durch ein Plugin. Der Ton lässt sich dort ebenfalls ein- und ausschalten, dazu wird nicht die Tonwiedergabe des Plugins ausgeschaltet, sondern die Kamera erhält den Befehl, den Ton-Stream auszuschalten (im Prinzip: <camera-IP>/setControlAudio POST AudioMute=1).


    http://<camera-IP>/config/stream_info.cgi zeigt an, welche Streams von der Kamera ausgegeben werden:



    Inzwischen bestätigt auch D-Link meine Anfrage, dass es nur einen MJPEG-Stream und eine Audio-Stream gibt, aber keine Kombination aus beiden. Schade. Und: das Protokoll rtsp:// wird von dieser Kamera nicht unterstützt.


    Wie ganz oben erwähnt, funktioniert die Video-Wiedergabe in VLC. Auch die Ton-Wiedergabe ist in VLC möglich. Die Frage ist, wieso VLC den Ton- oder den Bild-Stream einzeln darstellen kann, aber nicht beide zusammen über die Option 'Ein anderes Medium synchron wiedergeben (z. B. eine zusätzliche Audiodatei, ...)'. Hierzu würde ich gern nochmals auf die Auswertung der Fehlermeldungen zurückkommen. Wie kann ich hier weiterkommen?


    Gruß ThomasT

  • Hallo Thomas,


    1) man könnte in der Weboberfläche den Quelltext sich anzeigen lassen und darin nach der Stream-Adresse bzw. den Streaming-Adressen (z.B. href=... oder *.mp4 ...) suchen.

    Wäre möglich, dass ein Stream nur für Video- und der andere nur für Audiosignale verwendet wird. Diese Adressen würde ich dann im VLC-Player ausprobieren. Den Quelltext könnte man auch als *.txt-Datei speichern und der nächsten Antwort als Dateianhang hinzufügen.


    2) Für den erneuten Test der Video-Wiedergabe mit der Option "Ein anderes Medium synchron wiedergeben..." und Fehlerprotokollierung braucht man beide Streamadressen.


    Zuerst im VLC-Player im Menü / Werkzeuge / Meldungen die Ausführlichkeit auf die Stufe 2 einstellen.

    Anschließend im Menü / Medien / Netzwerkstream öffnen... die Adresse des Videostreams eingeben und unter "mehr Optionen anzeigen" den Audiostream hinzufügen...


    Das Fehlerprotokoll als *.txt-Datei speichern und als Dateianhang der nächsten Antwort hinzufügen.


    Ich würde auch mal zuerst den Audiostream für die Wiedergabe eingeben und anschließend als Option den Videostream.

    Danach kann man beide Fehler-Protokoll miteinander vergleichen.


    MfG

    Thomas

  • Hallo Thomas,


    im Quelltext der Web-Oberfläche finden sich zwei href, in Zeile 3 (href="dlink.css?cidx=1473428966") und in Zeile 169 (<a href="jview.htm"...). Beide bekomme ich nicht geöffnet. Die Java-Script-Funktionen der index.htm sind ausgelagert. Beide Dateien, die index.htm und die function.js sind als Textdateien im Anhang.


    Weiterhin im Anhang die gewünschten drei Logdateien mit Fehlerprotokollierung, einmal video, einmal audio und einmal video+audio. Wie ich zum Öffnen der Streams vorgegangen bin, habe ich oben beschrieben.


    Die aktuelle VLC-Version hat sich inzwischen geändert auf 3.0.7. Vetinari.


    Hilft dir das weiter?


    Mit freundlichem Gruß


    ThomasT


    Anhang: index.htm.txt, function.js.txt, Log audio.cgi.txt, Log video.cgi.txt, Log video+audio.txt

  • Hallo Thomas,


    1) zuerst zum html-Quelltext. Hier fehlen noch die konkreten Informationen zur Signalquelle unter <OBJECT...height=480 codeBase="..."...></OBJECT>.

    Die Informationen sollte man erhalten wenn man entweder die "ActiveX"- oder "Java"-Funktion aktiviert.

    Im folgendden, verlinkten Beispiel sieht man die konkreten Informationen bezüglich der Signalquelle <OBJECT... CODEBASE="http://172.16.0.125:8216/aplugLiteDL.cab#version=2,3,2,22"></OBJECT>.

    - http://forums.dlink.com/index.php?topic=47659.0


    Es gibt also jeweils html-Unterseiten der Kamera für "ActiveX" und "Java", wo die Quelladressen gelistet sind.

    Diese Quelladressen kann man im VLC-Player unter Netzwerkadresse eingeben.


    2) Alternativ im Webbrowser Firefox in das Menü / Web-Entwickler / Inspektor gehen. Hier kann man direkte Objekte im html-Quellcode auswählen und möglicherweise auch die Quelladresse der Kamera herausbekommen.


    3) Im VLC-Log für den Audiostream hast du nur die Quelladresse http://<camera IP>/audio.cgi verwendet.

    Laut deiner Stream-Abfrage mit http://<camera-IP>/config/stream_info.cgi gibt es auch eine Audio-Signalquelle http://<camera IP>/dgaudio.cgi

    Probiere die zweite Audio- und Video-Quelladresse auch aus.


    4) Im VLC-Log für Video und Audio ist mehrfach die folgende Fehlermeldungen festgehalten.

    main error: demux doesn't like DEMUX_GET_TIME


    Zu dieser Fehlermeldung gibt es mit dem VLC-Player wohl bislang keine Lösung.

    - https://forum.videolan.org/viewtopic.php?f=13&t=145927


    Man könnte mit den obigen Hinweisen noch etwas testen und ausprobieren.

    Mehr Ideen habe ich im Moment nicht.


    MfG

    Thomas

  • Hallo Thomas,


    zu 1)

    IP und Portnummer zur Codebase sind bei mir nicht angegeben. Ich habe an dieser Stelle auch nichts gestrichen oder "anonymisiert". In dem von mir übermittelten Quelltext ist die AxtiveX-Funktion ausgewählt. Habe ich die Frage richtig verstanden? Die Datei aplugLiteDL.cab ist das ActiveX-Plugin. Es wurde vom InternetExplorer installiert und wird auch verwendet - Bild und Ton sind da.

    Nach Umschalten von ActiveX zu Java erscheint der geänderte Quellcode, siehe Anhang jview.htm.txt. Darin ein Link zu aplug.jar, darin aplug.class mit Hinweisen zu den 4 bekannten Streams video.cgi, dgvideo.cgi audio.cgi und dgaudio.cgi, sowie zu mjpeg.cgi. Letzterer lässt sich im VLC nicht öffnen, wohl aber im Firefox (Video ohne Ton). Keine Hinweise auf Container-Formate, die Bild und Ton enthalten könnten.


    zu 2)

    Na, ja - im Firefox läuft es ja nicht. Aber der InternetExplorer, der mithilfe von ActiveX Video mit Ton darstellt, hat eine ähnliche Funktion. Die Datei habe ich im vorigen Beitrag gepostet (index.htm.txt).


    zu 3)

    Von den 4 Streams (video.cgi, dgvideo.cgi audio.cgi und dgaudio.cgi) bekomme ich aus dgvideo.cgi und dgaudio.cgi keine Signale. Nur video.cgi und audio.cgi liefern Bild bzw. Ton.


    Ich würde gern die Suche nach dem richtigen Stream aus der Kamera vorerst nicht weiter verfolgen und das Augenmerk auf die Fehlermeldungen aus VLC lenken.

    Sollte ich eine Lösung für das Problem finden, werde ich sie hier posten. Soweit, Thomas, vielen Dank für deine Hilfe.


    Mit freundlichem Gruß


    ThomasT


    Anhang: jview.htm.txt, aplug.class.txt, aplug$AU.class.txt

  • Hallo Thomas,


    du könntest im englischsprachigen Videolan-Forum die Informationen mit dem Fehlercode in der Ausführlichkeitsstufe 2 einbringen.

    Möglicherweise haben die Entwickler eine Idee bezüglich der kombinierten Wiedergabe von Video und Audiostream mit der IP-Cam im VLC-Player.

    - https://forum.videolan.org/viewforum.php?f=14


    Das ausführliche Fehlerprotokoll kann man im folgenden Link (https://justpaste.it/) einfügen und verlinken.


    MfG

    Thomas