# 📸 Kamery FFmpeg - diagnozowanie problemów

**URL:** https://ai-speaker.discourse.group/t/kamery-ffmpeg-diagnozowanie-problemow/3571
**Category:** faq
**Created:** [6 Wrzesień 2023 08:54 UTC](https://ai-speaker.discourse.group/t/kamery-ffmpeg-diagnozowanie-problemow/3571 "2023-09-06T08:54:46Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Autor: ![jolka](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/jolka/32/5_2.png) [@jolka](https://ai-speaker.discourse.group/u/jolka)
#### Data publikacji: [6 Wrzesień 2023 08:54 UTC](https://ai-speaker.discourse.group/t/kamery-ffmpeg-diagnozowanie-problemow/3571/1 "2023-09-06T08:54:46Z")

</div>

# 📸 Kamery FFmpeg - diagnozowanie problemów

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/a/ac260cf70e01cb8c0b3ae27c16ca3af076b0e442.jpeg)

Integracja `ffmpeg` umożliwia wykorzystanie dowolnego źródła wideo jako kamery w Home Assistant za pośrednictwem FFmpeg.  
W tym wpisie pokażemy jak to działa w Home Assistant i jak diagnozować problemy.

## 1. Sprawdź, czy obraz z kamery działa w VLC

VLC jest darmowym i otwartym, wieloplatformowym odtwarzaczem multimedialnym, który odtwarza różnego rodzaju strumienie video.

> **[Pobierz oficjalną wersję VLC media playera, najlepszego odtwarzacza Open...](https://www.videolan.org/vlc/index.pl.html)**
>
> Pobierz oficjalną wersję VLC media playera, najlepszego odtwarzacza Open Source

Jest to bardzo dobry program do sprawdzenia czy video z naszej kamery działa poprawnie, żeby wykonać sprawdzenie, uruchamiamy program VLC, przechodzimy do `Media` → `Open Network Stream` i podajemy adres naszej kamery:

 ![vlc](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/d/d86a87d6fd1e4e9d9c0f01fc9775e1227e38971a.png)

jak wideo działa w VLC to możemy przejść dalej

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/7/7b392d05c18ab7eccda3f60c3ffc1514001e6959.jpeg)

## 2. Sprawdz czy na bramce działają potrzebne programy

Do działania kamer z pośrednictwem FFmpeg potrzebny jest oczywiście program ffmpeg i pakiet pyav, sprawdzamy obecność progmów wykonując poniższe polecenia w konsoli:

```auto
ffmpeg

```

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/4/42dd7beafa49673ee25bdbe3c625bdd29f7f55d0.jpeg)

```auto
pyav --version

```

jeżeli jest jakiś problem z pyav, np. tak jak pniżej

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/9/96691d5167a56a47679c83a9a0522773c3381196.png)

to instalujemy najnowszą wersję `ha-av` (pyav dostarczane jest przez pakiet ha-av który jest forkiem pyav z dodanymi zmianami i poprawkami pod HA)

> **[Client Challenge](https://pypi.org/project/ha-av/)**

instalacje wykonujemy poleceniem

```auto
pip install ha-av

```

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/1/14dcac6867a4b918094682b7d380b159b5b69b78.jpeg)

ponownie sprawdzamy czy `pyav` działa, wpisując komendę `pyav --version`

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/8/8e560eff6fa091ff911e1b276e04b4417ded975e.jpeg)

Jak mamy potrzebne programy to możemy przejść dalej.

## 3. Sprawdzamy czy ffmpeg radzi sobie z naszym strumieniem

w konsoli wpisujemy

```auto
ffmpeg -i rtsp://NASZ_URL_VIDEO -f null -

```

np:

```auto
ffmpeg -i http://pendelcam.kip.uni-heidelberg.de/mjpg/video.mjpg -f null -

```

#### W większości przypadków ffmpeg automatycznie wykrywa wszystkie opcje potrzebne do odczytania strumienia. Ale niestety czasami może się zdarzyć, że trzeba ustawić dodatkowe opcje, aby ffmpeg odtworzył strumień wideo.

Tu widać, że ffmpeg nie poradził sobie z odtwarzaniem wideo

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/6/6e78e39c634133759fd20bc2682be0dc58e0c235.jpeg)

ale pomogła dodatkowa opcja `-rtsp_transport tcp`

```auto
ffmpeg -rtsp_transport tcp -i rtsp://NASZ_URL_VIDEO -f null -

```

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/8/8dabf943e6e4c0f89dceb0069b7f833bbc16da77.jpeg)

Opcje opisane są na stronie ffmpeg:

> **[ffmpeg Documentation](https://ffmpeg.org/ffmpeg.html#Options)**

Gdy już `ffmpeg` odtwarza wideo to sprawdzmy czy jest je w stanie zapisywać.  
Przechodzimy do folderu ~/AIS/www i nagrywamy jedną klatkę wideo do pliku:

```auto
cd ~/AIS/www
ffmpeg -rtsp_transport tcp -i rtsp://NASZ_URL_VIDEO -ss 0:0:2 -frames 1 test.jpg

```

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/6/602320541eec1b24051a4d42cbdcd4586cdc868a.jpeg)

sprawdzamy czy plik z obrazem działa, w przeglądarce wchodzimy na adres naszej bramki z końcówką `/local/test.jpg`

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/5/5f97a8af0242f0002e55d3db79a552c3f6dce25e.jpeg)

Nagrywamy testowe wideo z kamery

```auto
cd ~/AIS/www
ffmpeg -fflags nobuffer -rtsp_transport tcp -i rtsp://NASZ_URL_VIDEO -acodec copy -vcodec copy test.mp4

```

sprawdzamy nagrane wideo pod linkiem `http://ais-dom/local/test.mp4`

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/1/1cf07ca9a35917ca4b9c16cd103fca89930f9206.jpeg)

jak to wszystko działa, to możemy skonfigurować kamerę w HA

## 4. Konfiguracja kamery w HA

w `configuration.yaml` dodajemy konfigurację kamery

```auto
camera:
  - platform: ffmpeg
    input: http://pendelcam.kip.uni-heidelberg.de/mjpg/video.mjpg
  - platform: ffmpeg
    input: -rtsp_transport tcp -i rtsp://NASZ_URL_VIDEO

```

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/d/da062eb1bb6442c966abef3361dfe079fceb9f46.jpeg)

restartujemy HA i sprawdzamy działanie kamery w aplikacji

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/2/2f3fbc4215bd43845c5dae17d0bf738a3bbe141f.jpeg)

## PS

jak nadal jest problem i nie wiadomo o co chodzi, to polecamy wypróbowanie HA Supervised, tak jak opisaliśmy w tym wątku:

> [@tada Home Assistant Supervised na DEV3 i PRO1](https://ai-speaker.discourse.group/t/home-assistant-supervised-na-dev3-i-pro1/3550):
>
> tada Home Assistant Supervised na DEV3 i PRO1 Jak wielu z Was się domyśliło, po wpisie z zapowiedzią o rewolucji wink przechodzimy z naszej wersji Home Assistant Core na oficjalną wersje Home Assistant Supervised. Nie będę się w tym wpisie rozpisywać o motywach tego działania i o tym co się stanie z Androidem na bramkach, bo to temat na osobny wpis - który też powstanie. Ważne jest to, że dostarczamy obrazy systemu z zainstalowanym Home Assistant Supervised i że będziemy taką …

W HA Supervised mamy fajny dodatek `motionEye` i kamery działają lepiej / prościej (nawet te wpięte po usb), będziemy o tym rozwiązaniu jescze pisać

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/5/57b4a6d65fa7674755f409d57f0f5edbb621309c.png)

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/4/441f83b8a42457015de9ff2b5c8a2722575d8c89.png)

---

<div class="post-metadata">

### Autor: ![Kraszewsky](https://avatars.discourse-cdn.com/v4/letter/k/9fc29f/32.png) [@Kraszewsky](https://ai-speaker.discourse.group/u/Kraszewsky)
#### Data publikacji: [6 Wrzesień 2023 15:46 UTC](https://ai-speaker.discourse.group/t/kamery-ffmpeg-diagnozowanie-problemow/3571/2 "2023-09-06T15:46:29Z")

</div>

@jolka Czy do wersji Ola ten patent można użyć?  
Kamery są po onvif i oczywiście screenschot działa ale obrazu nie ma.

 ![Screenshot_20230906_174514_com.ais.mob](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/7/7366deafb3c50e8d04cae63b1ea0ead50bdcb188.jpeg)

---

<div class="post-metadata">

### Autor: ![bartik22](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/bartik22/32/4937_2.png) [@bartik22](https://ai-speaker.discourse.group/u/bartik22)
#### Data publikacji: [6 Wrzesień 2023 18:47 UTC](https://ai-speaker.discourse.group/t/kamery-ffmpeg-diagnozowanie-problemow/3571/3 "2023-09-06T18:47:34Z")

</div>

> [@jolka](#):
>
> kamery działają lepiej / proście

Ze swojej strony polecam serwer GO2RTC (mam go w dockerze)

> **[GitHub - AlexxIT/go2rtc: Ultimate camera streaming application with support...](https://github.com/AlexxIT/go2rtc)**
>
> Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc. - GitHub - AlexxIT/go2rtc: Ultimate camera streaming application with su...

pewnie jest sposób na instalacje w AIS,  
serwer go2rtc jest również w dodatku frigate addon  
Chociaż teraz widzę że jest niby jako addon również osobno,  
ale nie wiem czy to nie jest tylko integracja -WebRTC Camera

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/9/97aa3e2b5c87baf147c085b84751ff4bf2993925.png)  
 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/7/7d98017f3ac74fd078e83f05cebafd2e390324c7.png)

Działa to na takiej zasadzie: wszytskie kamery mają jednego klienta  
jest nim serwer go2rtc, z tego serwera stremuję do różnych klientów  
SurveliaceStation, Frigate, TinyCamPro na TV i zegarek,  
no i do HA jako karta WEBRTC (custom:webrtc-camera)  
Działa to rewelacyjnie, ładowanie obrazu z kamery czy to lokalnie czy przez tunel działa błyskawicznie.  
8 kamer ładuje się w okolo 4 sekundy, i nie ma żadnych lagów, żadnych opóźnień obraz jest na żywo.

Mamy możliwość restreamować w różnych konfiguracjach:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/f/ff9613fe4eec572acaa0c240d0a7625fa70544e9.png)

---

<div class="post-metadata">

### Autor: ![Maniek](https://avatars.discourse-cdn.com/v4/letter/m/49beb7/32.png) [@Maniek](https://ai-speaker.discourse.group/u/Maniek)
#### Data publikacji: [11 Wrzesień 2023 16:03 UTC](https://ai-speaker.discourse.group/t/kamery-ffmpeg-diagnozowanie-problemow/3571/4 "2023-09-11T16:03:09Z")

</div>

Mi za to na trzech bramkach DEV3 zniknął podgląd kamer z zewnątrz. Nie działają ani z aplikacji Ais ani z przeglądarki Chrome w Windows. Lokalnie działają bez problemów, ale z zewnątrz już nie. Do czasu aktualizacji do Ola była wszystko ok. Nie mogę zdiagnozować problemu. Wam WebRtc działa z zewnątrz, macie podgląd z kamer?
