Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Rozwiązane Połączenie z kamerą IP
#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


Wiadomości w tym wątku
Połączenie z kamerą IP - przez kszyhus - 15-04-2025, 17:41
RE: Połączenie z kamerą IP - przez mati75 - 15-04-2025, 17:46
RE: Połączenie z kamerą IP - przez kszyhus - 15-04-2025, 17:56
RE: Połączenie z kamerą IP - przez mati75 - 15-04-2025, 18:09
RE: Połączenie z kamerą IP - przez kszyhus - 16-04-2025, 08:36
RE: Połączenie z kamerą IP - przez mati75 - 16-04-2025, 09:58
RE: Połączenie z kamerą IP - przez kszyhus - 16-04-2025, 13:12

Skocz do:




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