Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Rozwiązane Połączenie z kamerą IP
#1
0
Połączenie z kamerą IP mam w smartfonie poprzez apkę iCSee. Działa OK.
Chciałem odbierać streaming na komputerze. 
Zastosowałem VLC (zainstalowane jako aplikacja systemowa) niestety nie działało.
Przeinstalowałem VLC na flatpaka i o dziwo działa.
Protokół rtsp://admin:[email protected]
Więc OK.
Próbowałem też uzyskać obraz z kamerki poprzez przeglądarkę (Firefox i Chrome) wpisując adres kamerki 192.188.0.32.
Przeglądarki proszą o pobranie i zainstalowanie "VideoPlayTool", ale to jest aplikacja pod windows. I na tym koniec.
Z Firefoxa
[Obrazek: NpJZaiBl.png]
i z Chrome
[Obrazek: XibAEvkl.png]

Na Windowsie to zadziałało i streaming działa.
Jakiś sposób na obejście tego?
PC: ASRock Z270-Pro4 *** Intel i7 7700K *** 32GB RAM
PC: Gigabyte H270-HD3 *** Intel i5 7600K *** 16GB RAM
Laptop: Dell Vostro 3590 *** Intel i5-10210U *** 16GB RAM
Odpowiedz
#2
0
Kod:
vlc rtsp://admin:[email protected]/video

działa?
[Obrazek: userbar.png]
Prowadzę to forum od roku 2007. Przez ten czas projekt minta bardzo negatywnie się zmienił, stąd mogą w moich postach być opinie z którymi można się nie zgadzać.
Odpowiedz
#3
0
(15-04-2025, 17:46)mati75 napisał(a):
Kod:
vlc rtsp://admin:[email protected]/video

działa?
Jak pisałem, działa w VLC.
PC: ASRock Z270-Pro4 *** Intel i7 7700K *** 32GB RAM
PC: Gigabyte H270-HD3 *** Intel i5 7600K *** 16GB RAM
Laptop: Dell Vostro 3590 *** Intel i5-10210U *** 16GB RAM
Odpowiedz
#4
0
Bez dodatkowego softu który będzie swego rodzaju serwerem do kamery tego nie zrobisz, bo linux tego nie ma. Trzeba coś samemu zrobić.

Chatgpt podpowiada tak:

Kod:
# 1. Instalacja wymaganych pakietów
sudo apt update
sudo apt install -y ffmpeg nodejs npm

# 2. Tworzenie katalogu projektu
mkdir rtsp-hls-viewer
cd rtsp-hls-viewer

# 3. Tworzenie folderów pomocniczych
mkdir public hls

# 4. Tworzenie pliku serwera Node.js
cat << 'EOF' > server.js
const express = require('express');
const { spawn } = require('child_process');
const fs = require('fs');
const path = require('path');

const app = express();
const PORT = 3000;
const HLS_DIR = path.join(__dirname, 'hls');

if (!fs.existsSync(HLS_DIR)) {
  fs.mkdirSync(HLS_DIR);
}

const ffmpeg = spawn('ffmpeg', [
  '-i', 'rtsp://admin:[email protected]/video',
  '-c:v', 'libx264',
  '-preset', 'ultrafast',
  '-tune', 'zerolatency',
  '-f', 'hls',
  '-hls_time', '2',
  '-hls_list_size', '5',
  '-hls_flags', 'delete_segments',
  path.join(HLS_DIR, 'stream.m3u8')
]);

ffmpeg.stderr.on('data', data => {
  console.log('FFmpeg log:', data.toString());
});

app.use(express.static('public'));
app.use('/hls', express.static(HLS_DIR));

app.listen(PORT, () => {
  console.log(\`Serwer działa na http://localhost:\${PORT}\`);
});
EOF

# 5. Tworzenie pliku HTML (player HLS)
cat << 'EOF' > public/index.html
<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="UTF-8">
  <title>HLS Kamera IP</title>
  <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
  <style>
    body { background: #111; color: #fff; text-align: center; font-family: sans-serif; }
    video { width: 90%; max-width: 800px; margin-top: 20px; border-radius: 10px; box-shadow: 0 0 20px #000; }
  </style>
</head>
<body>
  <h1>Podgląd z kamery przez HLS</h1>
  <video id="video" controls autoplay muted></video>

  <script>
    const video = document.getElementById('video');
    const hls = new Hls();

    hls.loadSource('/hls/stream.m3u8');
    hls.attachMedia(video);
    hls.on(Hls.Events.MANIFEST_PARSED, function () {
      video.play();
    });
  </script>
</body>
</html>
EOF

# 6. Uruchomienie aplikacji
node server.js

Po uruchomieniu ostatniej komendy powinieneś zobaczyć:

Serwer działa na http://localhost:3000

Wejdź w przeglądarce na http://localhost:3000 i oglądaj swoją kamerę w czasie rzeczywistym!
[Obrazek: userbar.png]
Prowadzę to forum od roku 2007. Przez ten czas projekt minta bardzo negatywnie się zmienił, stąd mogą w moich postach być opinie z którymi można się nie zgadzać.
Odpowiedz
#5
0
Po uruchomieniu ostatniej komendy otrzymuję:
Kod:
kszyhu@Z270-PRO:~/rtsp-hls-viewer$ node server.js
/home/kszyhu/rtsp-hls-viewer/server.js:34
  console.log(\`Serwer działa na http://localhost:\${PORT}\`);
              ^

SyntaxError: Invalid or unexpected token
    at internalCompileFunction (node:internal/vm:73:18)
    at wrapSafe (node:internal/modules/cjs/loader:1274:20)
    at Module._compile (node:internal/modules/cjs/loader:1320:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Module._load (node:internal/modules/cjs/loader:1013:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:128:12)
    at node:internal/main/run_main_module:28:49

Node.js v18.19.1
A po próbie otwarcia serwera
Kod:
http://localhost:3000
przeglądarka odpowiada, że "Firefox nie może nawiązać połączenia z serwerem localhost:3000."
PC: ASRock Z270-Pro4 *** Intel i7 7700K *** 32GB RAM
PC: Gigabyte H270-HD3 *** Intel i5 7600K *** 16GB RAM
Laptop: Dell Vostro 3590 *** Intel i5-10210U *** 16GB RAM
Odpowiedz
#6
1
Better response on post RE: Połączenie z kamerą IPDwie rzeczy trzeba poprawić.

Kod:
sudo apt-get install node-express

brakuje takiego pakietu

i w pliku /home/kszyhu/rtsp-hls-viewer/server.js
Kod:
xed /home/kszyhu/rtsp-hls-viewer/server.js

przed ostatnią linie zamienić na:
Kod:
console.log(`Serwer działa na http://localhost:${PORT}`);

Jak widać sztuczna inteligencja aż taka nie omylna nie jest.
[Obrazek: userbar.png]
Prowadzę to forum od roku 2007. Przez ten czas projekt minta bardzo negatywnie się zmienił, stąd mogą w moich postach być opinie z którymi można się nie zgadzać.
Odpowiedz
#7
0
Dzięki wielkie @mati75 Teraz działa.
Trochę roboty z tym było, żeby to uruchomić w przeglądarce, ale warto było się czegoś dowiedzieć.
Mimo wszystko w VLC jest prostsze uruchamianie.
Dzięki jeszcze raz.
PC: ASRock Z270-Pro4 *** Intel i7 7700K *** 32GB RAM
PC: Gigabyte H270-HD3 *** Intel i5 7600K *** 16GB RAM
Laptop: Dell Vostro 3590 *** Intel i5-10210U *** 16GB RAM
Odpowiedz


Skocz do:




Użytkownicy przeglądający ten wątek: 1 gości