GithubHelp home page GithubHelp logo

alexxit / webrtc Goto Github PK

View Code? Open in Web Editor NEW
1.3K 23.0 150.0 380 KB

Home Assistant custom component for real-time viewing of almost any camera stream using WebRTC and other technologies.

Home Page: https://github.com/AlexxIT/Blog

License: MIT License

Python 30.64% JavaScript 68.04% HTML 1.32%
webrtc rtsp ip-camera mediasource-extensions home-assistant hacs

webrtc's Introduction

WebRTC Camera

hacs_badge

Home Assistant custom component for real-time viewing of almost any camera stream using WebRTC and other technologies.

Starting with version 3 the streaming server has been changed from RTSPtoWebRTC to go2rtc.


go2rtc

This component uses the go2rtc application as a streaming server:

  • lowest possible streaming latency for many supported protocols
  • streaming from RTSP, RTMP, HTTP (FLV/MJPEG/JPEG), HomeKit cameras, USB cameras and other sources
  • streaming to RTSP, WebRTC, MSE/MP4 or MJPEG
  • support popular codec H264/H265, AAC, PCMU/PCMA, OPUS
  • on-the-fly transcoding for unsupported codecs via FFmpeg
  • autoselect streaming technology based on stream codecs, browser capabilities, network configuration

Read more in the go2rtc docs!

You can install go2rtc in several ways:

  1. Basic users - this component will automatically download and run the latest version of go2rtc, you don't need to do anything yourself.
  2. Advanced users - install the go2rtc or Frigate 12+ add-on.
  3. Hakers - install go2rtc as binary or Docker on any server in LAN.

You can change the go2rtc settings by adding the go2rtc.yaml file to your Hass configuration folder.

Important. go2rtc runs its own web interface on port 1984 without a password. There you can see a list of active camera streams. Anyone on your LAN can access them without a password. You can disable this in the go2rtc config.

PS. There is also another nice card with go2rtc support - Frigate Lovelace Card.

Installation

Method 1. HACS > Integrations > Plus > WebRTC > Install

Method 2. Manually copy webrtc folder from latest release to /config/custom_components folder.

Additional steps if you are using the UI in YAML mode: add card to resources

The custom_card will be automatically registered with the Home Assistant UI, except when you are managing the UI in YAML mode. If you are managing the UI in YAML mode then add this to your UI resources for the custom:webrtc-camera card to work:

url: /webrtc/webrtc-camera.js
type: module
  • Refresh your browser

Configuration

Settings > Devices & Services > Add Integration > WebRTC

If the integration is not in the list, you need to clear the browser cache.

Component doesn't create devices and entities. It creates only two services and lovelace custom card.

Custom card

As a url you can use:

  • any protocol supported by go2rtc (rtsp, rtmp, http, onvif, dvrip, homekit, roborock, etc.)
  • stream name from the go2rtc config
  • Jinja2 template (should render supported protocol or stream name)

As a entity you can use almost any camera from Hass.

As a poster you can use:

  • http-link (should be publicly available link)
  • camera entity from Hass
  • stream name from the go2rtc config
  • Jinja2 template (should render camera entity or stream name)

Minimal

type: 'custom:webrtc-camera'
url: 'rtsp://rtsp:[email protected]:554/av_stream/ch0'

or

type: 'custom:webrtc-camera'
url: 'camera1'  # stream name from go2rtc.yaml

or

type: 'custom:webrtc-camera'
entity: camera.generic_stream  # change to your camera entity_id

or

type: 'custom:webrtc-camera'
streams:
  - url: go2rtc_stream_hd
    name: HD      # name is optional
    mode: webrtc  # mode is optional
    media: video  # media is optional
  - url: go2rtc_stream_sd
    name: SD
    mode: mse
    media: audio

PS. You can change the active stream by clicking on the mode label. Or by clicking on the stream name with enabled ui: true.

Full

All settings are optional! Only required setting - url or entity or streams.

type: 'custom:webrtc-camera'

url: 'rtsp://rtsp:[email protected]:554/av_stream/ch0'
entity: camera.generic_stream
mode: webrtc,webrtc/tcp,mse,hls,mjpeg  # stream technology, default all of them
media: video,audio  # select only video or audio track, default both

server: http://192.168.1.123:1984/     # custom go2rtc server address, default empty

ui: true  # custom video controls, default false

digital_ptz:  # digital zoom and pan via mouse/touch, defaults:
  mouse_drag_pan: true 
  mouse_wheel_zoom: true
  mouse_double_click_zoom: true
  touch_drag_pan: true 
  touch_pinch_zoom: true  
  touch_tap_drag_zoom: true 
  persist: true  # zoom factor and viewport position survive page reloads

# digital_ptz: false  # to disable all mouse/touch digital zoom and pan

title: My super camera  # optional card title
poster: https://home-assistant.io/images/cast/splash.png  # still image when stream is loading
muted: true  # initial mute toggle state, default is false (unmuted)

intersection: 0.75  # auto stop stream when less than 75% of video element is in the screen, 50% by default
background: true  # run stream when not displayed (ex. for quick video loading), default false

shortcuts:  # custom shortcuts, default none
- name: Record
  icon: mdi:record-circle-outline
  service: switch.toggle
  service_data:
    entity_id: switch.camera_record

Pan, tilt, zoom controls: PTZ config examples.

Paused by default

type: custom:webrtc-camera
poster: dahua1-snap  # stream name from go2rtc.yaml (http-snapshot)
streams:
  - url: ''          # empty url, so only poster will be shown
  - url: dahua1      # stream name from go2rtc.yaml (rtsp-stream)

Video aspect ratio issue

style: "video {aspect-ratio: 16/9; object-fit: fill;}"

Video rotation

  1. On client (free CPU):
    style: 'video {transform: rotate(90deg); aspect-ratio: 1}'
  2. On server - FFmpeg transcoding (high CPU cost)

Hide mode label

style: '.mode {display: none}'

Hide fullscreen button

style: '.fullscreen {display: none}'

Hide screenshot button

style: '.screenshot {display: none}'

Hide PIP button

style: '.pictureinpicture {display: none}'

Shortcuts position

style: ".shortcuts {left: unset; top: 25px; right: 5px; display: flex; flex-direction: column}"

PTZ position

style: ".ptz {right: unset; left: 10px}"

Mode label position

style: '.header {bottom: 6px} .mode {position: absolute; bottom: 0px}'

Header line position

style: '.header {top: unset; bottom: 6px}'

Two-way audio

  • Only for supported sources in go2rtc
  • Only for Hass with HTTPS access, this limitation is from the browsers
  • Only for WebRTC mode
  • HTTPS is also important for Hass Mobile App!

You should add microphone to media param. You can use two streams: one with mic, second without:

type: 'custom:webrtc-camera'
streams:
  - url: go2rtc_stream
  - url: go2rtc_stream
    mode: webrtc
    media: video,audio,microphone

PS. For Hass Mobile App ensure that you can use microphone with the built-in Assist.

Snapshots to Telegram

read more

Cast or share stream

Component support streaming to Google Cast Chromecast devices (including Android TV and Google Smart Screen). Read more in wiki.

Also component support creating a temporary or permanent link to a stream without sharing access to you Home Assistant. Read more in wiki.

Stream to camera

go2rtc support play audio files (ex. music or TTS) and live streams (ex. radio) on cameras with two way audio support. You need to:

  1. Check if your camera has supported two way audio source
  2. Setup camera stream in go2rtc.yaml config
  3. Check audio codec, that your camera supports
  4. Create virtual Media Players for your cameras in configuration.yaml:
media_player:
  - platform: webrtc
    name: Dahua Camera
    stream: dahua
    audio: pcmu/48000
  - platform: webrtc
    name: Tapo Camera
    stream: tapo
    audio: pcma

FAQ

Q. Exernal access with WebRTC doesn't work
A. Read more and don't create new issues.

Q. Audio doesn't work
A. Check what audio codec your camera outputs. And what technology do you use to watch videos. Different technologies support different codecs.

Debug

Add to your configuration.yaml:

logger:
  default: warning
  logs:
    custom_components.webrtc: debug

Known work cameras

Brand Models Comment
ActiveCam AC-D2121IR3
ActiveCam AC-D7121IR1W support sound
Android IP Webcam Pro support sound, rtsp://192.168.1.123:8080/h264_ulaw.sdp
C-tronics CTIPC-690C support sound, main : rtsp://username:[email protected]:554/11 or onvif://username:[email protected]:8080?subtype=MainStreamProfileToken
Dahua DH-IPC-HDPW1431FP-AS-0280B, VTO2211G-P support sound
Dahua VTO2202F-P-S2 read more
EZVIZ C3S rtsp://admin:[email protected]:554/h264/ch01/main/av_stream and /h264/ch01/sub/av_stream
EZVIZ C3W, C3WN, C6CN, C6T rtsp://admin:[email protected]:554/h264_stream
EZVIZ C8C rtsp://admin:[email protected]:554/channel80
Foscam C1 rtsp://user:[email protected]:554/videoMain
Foscam C2M, R2M rtsp://user:[email protected]:88/videoMain
GW Security GW5088IP rtsp://192.168.1.123:554/mpeg4cif?username=admin&password=123456
GW Security GW5078IP rtsp://192.168.1.123:554/stream0?username=admin&password=123456
GW Security GW5071IP Not working yet, something similar to rtsp://admin:[email protected]:554/live/main or rtsp://192.168.0.207:554/live/main?username=admin&password=123456
Hikvision DS-2CD2T47G1-L, DS-2CD1321-I, DS-2CD2143G0-IS rtsp://user:[email protected]:554/ISAPI/Streaming/Channels/102
Hikvision IPC-HDW3849H-AS-PV, IPC-EW5531-AS wired to nvr DHI-NVR2108HS-8P-I using custom component
Imou IPC-F42-B2E3 (Bullet 2C 4MP) rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0
QNAP QUSBCam2 rtsp://username:[email protected]:554/channel1 docs
Raspberry Pi PiCam read more
Reolink RLC-410, RLC-410W, RLC-510WA, E1 Pro, E1 Zoom, 4505MP RLC-510WA support sound, E1 Zoom support sound, PTZ and zoom
Reolink E1 rtsp://admin:[email protected]:554/h264Preview_01_main
Sonoff GK-200MP2-B support sound and PTZ, rtsp://rtsp:[email protected]:554/av_stream/ch0 and /av_stream/ch1
SriHome SH035 rtsp://192.168.xxx.xxx:8554/profile0 and /profile1 and /profile2
Topvico rtsp://192.168.1.123:8554/stream0 or rtsp://192.168.1.123:554/ch0_0.264
TP-Link Tapo C100/C200/C310 rtsp://user:[email protected]:554/stream1 and /stream2
TVT/Secutech NVR-0808B2-8P rtsp://user:[email protected]:554/chID=1&streamType=main and chID=2&streamType=main
TVT/Secutech IPC5-DF28SN rtsp://user:[email protected]:554/profile1 and /profile2
Unifi G4 Dome, G4 doorbell, G3 Bullet, G3 Flex
Wyze Cam v2/v3, Cam Pan v1/v2 support sound
Xiaomi Dafang with hack, rtsp://192.168.1.123:8554/unicast
Video: H264, size: 1920x1080, bitrate: 1000, format: VBR, frame rate: 10
Audio: PCMU, rate in: 8000, rate out: 44100
Yale SV-4CFDVR-2 rtsp://admin:[email protected]/cam/realmonitor?channel=1&subtype=0
Yi Hi3518e Chipset with hack
Yi MStar Infinity Chipset with hack

webrtc's People

Contributors

ajediiam avatar alexxit avatar amitkeret avatar anonym-tsk avatar barma-lej avatar cheerpipe avatar danohn avatar dbuezas avatar devbis avatar dtalens avatar egmen avatar felipecrs avatar fuatakgun avatar genkaok avatar guix77 avatar hmmbob avatar idoaflalo avatar iswitch avatar jimcortez avatar johnonolan avatar krystiancharubin avatar mabusdogma avatar mrsuttonmann avatar nagi603 avatar nagyrobi avatar onaips avatar sheasmith avatar sian-lee-sa avatar skrobul avatar webcredo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webrtc's Issues

RTMP

I have a rebroadcast of RTSP via RTMP. When I try to add RTMP it ways only RTSP stream is allowed. Can you point me to where to make modifications that would allow such RTMP streams.

Camera diconnected after 10 seconds

Hi

Dear Alexx,

This camera is absent in the supported device list. Probably You will can thomething corrected for its correct work.
Description this camera:
https://www.aliexpress.com/item/4000859777548.html?spm=a2g0s.9042311.0.0.e14c4c4dXNtG5c
Video:
https://youtu.be/lJ4EV2nrg-Q

Log here:
"Glazok": {
"url": "rtsp://192.168.1.72:554/user=admin&password=&channel=1&stream=0.sdp"
}
}
}
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
2021/04/24 14:43:54 Server Start Awaiting Signal
2021/04/24 14:43:54 Stream Try Connect Glazok
2021/04/24 14:43:54 Stream Try Connect Sonoff
[GIN-debug] Loaded HTML Templates (2):
-
- index.tmpl
[GIN-debug] GET / --> main.serveHTTP.func1 (3 handlers)
[GIN-debug] POST /recive --> main.HTTPAPIServerStreamWebRTC (3 handlers)
[GIN-debug] GET /codec/:uuid --> main.serveHTTP.func2 (3 handlers)
[GIN-debug] GET /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (3 handlers)
[GIN-debug] HEAD /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (3 handlers)

[cut]

2021/04/24 17:10:45 Set UDP ports to 50000..50009
[GIN] 2021/04/24 - 17:10:45 | 200 | 95.860482ms | 192.168.10.2 | POST "/recive"
[GIN] 2021/04/24 - 17:11:35 | 200 | 4.307576ms | 192.168.10.2 | GET "/?player=Glazok"
[GIN] 2021/04/24 - 17:11:35 | 200 | 1.686083ms | 192.168.10.2 | GET "/static/js/app.js?ver=2021-04-24+17:11:35.831671099+%2B0300+EEST+m%3D%2B8861.488265743"
[GIN] 2021/04/24 - 17:11:35 | 200 | 75.573µs | 192.168.10.2 | GET "/codec/Glazok"
2021/04/24 17:11:36 Set UDP ports to 50000..50009
[GIN] 2021/04/24 - 17:11:36 | 200 | 48.425056ms | 192.168.10.2 | POST "/recive"
2021/04/24 17:11:40 Client Not Send ACK (probably the browser is minimized) or tab not active Close client
2021/04/24 17:11:40 WritePacket WebRTC Client Offline
2021/04/24 17:11:54 noVideo

PTZ zoom controls

It would be nice to have PTZ zoom controls, for those that have a camera that can zoom.

Add support for PTZ preset positions

Hi, it would be nice to besides the up/down/left/right/zoom in/zoom out also to have the possibility to select presets (up to 6).
I'm using the PTZ service with the following data:

      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.mainprofile
        preset: Preset1
        speed: 1
        distance: 0.5
        move_mode: GotoPreset

Unable to cast to chromecast device (nest hub)

The component works great, and the video stream starts almost instantly, which is super cool! However, when trying to cast (using service: cast.show_lovelace_view) to my nest hub i get the Custom element doesn't exist: webrtc-camera issue. I know lots of cards has this issue as something extra has to be done by the developer to support casting of custom cards. It's mentioned here in the Cast FAQ at the very bottom, titled Why do some custom cards not work?

Do you mind taking a look at it please? That would be awesome if we can cast lovelace views with these super fast webrtc video streams!

Lovelace 'Uncaught Error'

Hi Alex
I Uninstalled everything, both in HACS and in Configuration -> Integrations.
Clear the cache.
Restart my HA
Install WebRTC only in HACS and the error was does NOT appear in log.
When I install the integration in Configuration -> Integrations., without even putting the card in with video, only with a refresh of screen, the error already appears in Lovelace.

I leave you a video that may help you to determine what is happening to me.
https://photos.app.goo.gl/kQdqTa5eWLkgkFw66

Regards

PS Sorry for posting into Sonoff and not the WebRTC repository.

115821167-a87d9d00-a3d8-11eb-9521-8bfdf8b91736

Video in Firefox not working

You've mentioned that FF is not supported due to the limitations of the browser.
On the other hand, I cannot say that WebRTC is completely broken in FF.
Other apps, e.g. jit.si video conference tool, works perfectly in this browser.

What is the problem with the implementation of webrtc in FF? Is there any way to add limited support for it?

Taking long time (more than 1 minute) to load streams on iDevice

Am trying to load 2 streams on my iDevice, but they are taking taking quite long before the video appears. For my iPhone, it took about 1 minute for the streams to appear, while for my Mac, the streams doesn't seem to load no matter how long I waited. I have tried using Safari, Mozilla Firefox, Chrome on my Mac, but with no luck.

On my Android phone, on the other hand, the streams appear almost immediate.

I have allowed port forwarding on the following UDP ports on my router (50000 -> 50009), there are no error logs generated.

Port forwarding is breaking my ability to access my network remotely

I have 2 sonoff cameras and i've port forwarded 50000 to 50019, and i've set the same range in the WebRTC integration. For some reason, when I do this, it breaks my ability to access my entire home assistant instance remotely. I have to disable the port forwarding to get back the ability to access my home assistant instance, but then I cannot see the cameras when accessing remotely.

HTML page support (for PiPup and others)

Application: https://github.com/rogro82/PiPup
Video example: https://www.youtube.com/watch?v=j2tCamSDm7o

configuration.yaml

rest_command:
  pipup:
    url: http://192.168.1.123:7979/notify
    content_type: 'application/json'
    verify_ssl: false
    method: 'post'
    timeout: 20
    payload: >
      {
      "duration": "{{ duration }}",
      "position": "{{ position }}",
      "title": "{{ title }}",
      "titleColor": "{{ titleColor }}",
      "titleSize": "{{ titleSize }}",
      "message": "{{ message }}",
      "messageColor": "{{ messageColor }}",
      "messageSize": "{{ messageSize }}",
      "backgroundColor": "{{ backgroundColor }}",
      "media": { "{{ mediaType }}": {
        "uri": "{{ uri }}", "width": "{{ width }}"
      }}
      } 

service call:

service: rest_command.pipup
data:
  title: ''
  message: Someone at the door...
  backgroundColor: '#DD000000'
  duration: 20
  messageColor: '#FFFFFF'
  messageSize: 20
  position: 2
  titleColor: '#50BFF2'
  titleSize: 15
  mediaType: web
  uri: 'http://192.168.1.111:8081'
  width: 640

Config option for stream to be paused by default

Not an issue an enhancement request, sorry if this is the incorrect place to log it!

The frontend card is really good at last zero lag videos from my Unifi cameras. It would however be much more flexible if there was a config option to set the stream to be either playing or paused on page load. If that's even possible?

Sound

Hi Alex,

Really great work here.

I have a couple of sound issues on Sonoff Cam.

  1. There's a clicking under the sound
  2. If I open the stream 3 or 4 times the sound is lost and I have to reboot HA to reinstate.

Thanks in advance

Does not install, does not work after manuall install

I got “Custom element doesn’t exist: ‘webrtc-camera’” on lovelace dashboard

no webrtc in custom_elements found after installation. “Add Integrations” search does not find webrtc camera
ok, I copied it manually, restarted, and added integration, but no card at lovelace present now.

Spinner flickers with dropped frames

When in MSE mode, the spinner is made visible immediately on interruption to the video stream. In the case of a slow stream with occasional dropped frames this causes the spinner to briefly appear for a moment.

Suggestion to add a short delay following video.onwaiting event before displaying the spinner.

PTZ problem with other service

Hello, I have a question about using a service other than sonoff ptz. I try to use onvif.ptz service. It don't work. It's possible to add this feature?

WebRTC: ICE failed, add a TURN server and see about:webrtc for more details

Hi,

I've got that error while trying to start stream. I'm on my local network, using Firefox or Safari desktop.

On IOS companion app still on local network i sometimes got connected staus but no video is loading and after few secondes i lost connexion and got stucked in an new trying to start stream step.

Any idea ? Can ICE/TURN be disabled if usage is only on local network ?

Two sets of controls in the UI

UI displays two sets of controls, one for video and another for audio. Is there a way to have unified controls? The audio icon on the on the main video controls seems disabled.

WebRTC-Camera-UI
WebRTC-Camera-Code

Plays/Streams even when hidden?

Love your new WebRTC card!!!!

It appears, however, that the stream is playing even when the card/view is not visible (i.e., when a completely different view is showing). The cpu does not change when navigating away. This causes the CPU to increase quite a bit for each camera.

I have 6 cameras, so far I have only tested two simultaneously, and the cpu is at 70% for the process rtsp2webrtc_v1_amd64. With one camera, the cpu was at 50%. Haven't tried 6 yet.

Is it possible to stop streaming when the card/view is not visible? Or disconnect and reconnect when visible?

Great work though! I had all but given up on live streaming with HA!

Foscam C1 Settings (Video & Audio stream)

type: 'custom:webrtc-camera'
url: 'rtsp://username:[email protected]:554/videoMain'
poster: 'https://i.pinimg.com/originals/15/65/a0/1565a0a4ea186cab99914a7e2435d6db.gif'

Foscam C1 fully supported with audio and video stream.
I also preload an animated gif until video stream arrives.

Fullscreen mode via automatization scenario

It would be cool to add to the component the functionality of deploying the player from the card to the entire screen according to the automation scenario - for example, this can be used with a doorbell.


Было бы круто добавить в компонент функционал разворачивания плеера из карточки на весь экран по сценарию автоматизации - например, это можно использовать с дверным звонком.

Start streaming video on the card only through a "play" button

Hi Alex,
would it be possible to start streaming video on the card only through a "play" button?

I noticed that when the camera is off (I only turn it on when I am away from home), and I view the card on Home Assistant, WebRTC always tries to view the video and tries to reconnect continuously to the webcam, increasing the CPU usage and consumption.

Even when I close Home Assistant, however, the CPU load remains high compared to when I don't see the WebRTC card.

I believe that to solve, in addition to the play button on the card, it is necessary to act at the integration level, as if it were momentarily deactivated. In fact, by deactivating it, the CPU load and consumption returns to "normal".

For info, I report that the ONVIF integration, when the webcam is off, the CPU load and consumption do not increase.

Thank you

Home Assistant OS crashing after few minutes of stream

Hi, I'm having some trouble with WebRTC. Looks like it makes my home assistant crash, because it becomes unresponsive after few minutes (about 2 or 3) of watching stream. I have 3 streams with resolution of 640x360 each, framerate 15fps and bitrate at 1024kbps max. I am running HASS OS, core version 2021.5.2 on my raspberry pi 3, also the webrtc is in version 2.0.2. Do you have any idea what is causing the problem? I'd be grateful for any hint.

Android webrtc stream often doesn't play

In the Android HA app, streams get into "Connected" state but fail to actually play about 50% of the time. Quitting the app and then coming back eventually will get it to work. On desktop Chrome, it seems to be 100% reliable.

Screenshot_20210422-092425

Stream doesn't play when clicking on the Play icon (iOS, Low power mode, ui: true)

Having an issue where the stream doesn't play when clicking on the play icon with ui: true, but plays when clicking on the pause icon on the lower right. The play icon at the centre is on an endless loading loop, even though the stream has been connected and is readied to be played.
IMG_2509

Issue occurring when device is on low power mode (prevents stream from autoplay), running iOS 14.6, iPhone 11.

Give proper Error message if Link to webrtc is expired.

I successfully added new feature and boy.. U ROCK THE HELL !!!!! Thanks so muhc for this more than awesome app!.

Just one thing.. when opening an expired link to the stream it will just print
ERROR: {}

image

Is it maybe possible to print a human readable error message like: This link has been expired, or something more readable?

Awesome anyway and THAT was what i was looking for for maybe 4 years now :) Thanks a lot master!

Autoplay stream

The streams doesn't seem to autoplay on my iPhone until I press the play icon, is there any way to get it to autoplay stream? It did for the first few times, but now it requires me to click play before it starts playing.

Stuck on "Init Connection" Safari Desktop

Updated to latest master version which does not require specifying ports, streams are stuck on init connection when using Safari Desktop. Tried specifying ports from 50000-59999, but did not work. Working well with other browsers (Chrome, Firefox) on the same laptop even when not specifying ports

Small request ability to set title

Hi brilliant component!!, I have a small feature request could you allow setting of the lovelace title please if specified

I'm doing this in the code card.header = this.config.title; to allow naming of each camera feed panel I have.

Thank you again for a great component.

Stream Auto Resume

Stream auto pauses when changing tab, but does not auto resume when coming back to original tab.

error installing integration

GUI. Configuration > Integration > Add Integration > WebRTC Camera.
rtc
mouse click end
rtc2
core-2021.4.4
What is missing?

Working Cameras

If you want, you can add:

Yi 1080p Outdoor Hi3518e Chipset (with hack)
Yi 1080p Indoor (9FUS) (with hack)

To the list of known working cameras.

Correct Camera Stream to 16:9

The stream is displayed in 4:3 when the camera records in 16:9 is it possible to correct the aspect ratio in the configuration card?

Status banner gets stuck over card upon reconnect

When the camera stream is reconnecting, the banner across the top that displays “Connected” or “Restart Connection” or “Connected to WAN” never goes away. It should fade away after some time. And it would be nice to have an option to disable it completely as in my case it seems it needs to reconnect a lot.

Can't start stream

Logger: custom_components.webrtc
Source: custom_components/webrtc/init.py:111
Integration: WebRTC Camera (documentation, issues)
First occurred: 23:04:27 (12 occurrences)
Last logged: 23:24:55

Can't start stream: rtsp://192.168.1.116:554/onvif1, because: 0, message='Attempt to decode JSON with unexpected mimetype: ', url=URL('http://localhost:8083/stream')

Well, can't imagine something else. But VLC player CAN open stream and show it right way.. Where should I start search problem?

Port forwarding set up for 50000 to 50019 but webrtc sometimes picks ports outside of that range

i am using duckdns with nginx for reverse dns lookup. Without port forwarding, i get no camera stream when off my local network. I have to port forward. I have 2 cameras, so i use 50000 to 50019 as my ports that I forward to my home assistant raspberry pi. I noticed, however, that the webrtc card uses random port that isn't between the range i've setup for the integration and port forwarded, so i get a connection error

Save picture from camera

Hi, great addon works great in real time.
Would it be possible to have the snapshot from the camera? It would be useful for sending these pictures as notifications to the phone. Right now I use standard camera image from the camera which are delayed like 10 seconds.

Problem with symbols in URL

Example:

login: home_assistant
password: [CFhd2*G4232!t2ra4s

На stackoverflow утверждают, что проблема в url.Parse, который задействован в библиотеке rtspv2 (а именно - в client.go); там же и идею с urlescape подчеркнул

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.