Zanonimizowana wersja forum tylko do odczytu

Zmiana na inne rtmp w razie niepowodzenia załadowania

Tworzenie stron internetowych, promowanie, pozycjonowanie, hosting.
Post Reply
anonim
Początkujący
Posts: 45
Joined: 2013-10-21, 15:33

Zmiana na inne rtmp w razie niepowodzenia załadowania

Post by anonim »

Próbuje napisać skrypt który będzie przełączał się na inne źródło w przypadku jak pierwsze padnie
Miało by to wyglądać następująco

Code: Select all

Player z aktywnym rtmp1
if(!isset(rtmp1))
(
player z innym rtmp
}
else
{
jeszcze inne rtmp
}
Tyle że wszystkie moje próby spełzły na niczym , dlatego tez proszę o pomoc
Dodam że rtmp ładuje z bazy Mysql ale to raczej nie ma większego znaczenia , jednak wydaje mi się że tak jest łatwiej

anonim
Weteran
Posts: 826
Joined: 2013-05-04, 15:44

Re: Zmiana na inne rtmp w razie niepowodzenia załadowania

Post by anonim »

Można zrealizować to np korzystając z zewnętrznej aplikacji zainstalowanej na swoim vps'ie, serwerze dedykowanym lub lokalnym. Ta aplikacja to ffprobe [https://ffmpeg.org/ffprobe.html].

Przykładowy kod:

Code: Select all

<?php

$urls = [
  'stream1' => 'rtmp://1.....',
  'stream2' => 'rtmp://2.....',
  'stream3' => 'rtmp://3.....'
];

$activeUrl = null;

foreach ($urls as $url) {
  exec("/usr/bin/ffprobe -v quiet -print_format flat -show_streams " . $url, $res);
  if(!empty($res)) {
    $activeUrl = $url;
    break;
  }
}

if($activeUrl) {
  echo $activeUrl;
} else {
  echo 'All streams are offline';
}

anonim
Początkujący
Posts: 45
Joined: 2013-10-21, 15:33

Re: Zmiana na inne rtmp w razie niepowodzenia załadowania

Post by anonim »

Dzięki za przykład jak to można wykonać :-)
Dopytam jeszcze.
Paczkę ffprobe pobrałem ale wnioskuje z tego co mam że konieczne jest pobranie całego pakietu ffmpeg ?
A potem tylko dodanie tej paczki ffprobe ?
I jeszcze jedno pytanko . Nie da sie tego zrobić jakoś w inny sposób ?
Mam na myśli nie angażowanie dodatkowego serwera , wydobyć powiedzmy z paczki ffprobe to co konieczne i umieszczenie na hostingu .
EDIT
Widze pewien problem . Mianowicie w paczce ffprobe którą pobrałem nie ma pliku ffprobe-v
Są różne inne ale nie ma takiego
Zakładam że pobrałem nie to co trzeba

anonim
Weteran
Posts: 826
Joined: 2013-05-04, 15:44

Re: Zmiana na inne rtmp w razie niepowodzenia załadowania

Post by anonim »

Jeżeli stream rtmp wskazuje na konkretny plik np rtmp://example.com/myapp/plik.mp4 to można sprawdzić curlem, a czy jest inne rozwiązanie to musiałbym się jeszcze zastanowić.

Napewno rtmpdumpem też można czy samym ffmpegiem.

Chociaż zamiast zwykłego shared hostingu zainwestowałbym w VPS i po problemie. ;-)

anonim
Początkujący
Posts: 45
Joined: 2013-10-21, 15:33

Re: Zmiana na inne rtmp w razie niepowodzenia załadowania

Post by anonim »

No tak racja VPS załatwił by wszystko
Jednak jak by dało się to załatwić w sposób który nie wymaga Linux-a było by naprawdę fajnie
A jak by to jeszcze działało na hostingu to już luksus

Post Reply