home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
71.13k stars 29.8k forks source link

Errors with stream component and HA hangs up #22840

Closed bieniu closed 4 years ago

bieniu commented 5 years ago

Home Assistant release with the issue: 0.91.1

Last working Home Assistant release (if known): None

Operating environment (Hass.io/Docker/Windows/etc.): RPi 3B/Raspbian/Python 3.7.2/venv

Component/platform: stream, camera/generic

Description of problem: I use generic camera and stream component. When I tap on camera card in Lovelace on iPad (iOS app 1.5) I have errors in log, stream don't start and sometimes after that my HA hangs up. The frontend doesn't work, the light control automation doesn't start, systemctl shows that the HA service is active (running). I have to restart HA to using it. This is the first time HA has been hanging since I use it (2 years).

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

camera:
  - platform: generic
    name: 'Salon'
    still_image_url: http://<camera_ip>/cgi-bin/currentpic.cgi
    stream_source: rtsp://<camera_ip>:8554/unicast

stream:

Traceback (if applicable):

2019-04-06 13:02:41 ERROR (stream_worker) [libav.mpegts] H.264 bitstream malformed, no startcode found, use the video bitstream filter 'h264_mp4toannexb' to fix it ('-bsf:v h264_mp4toannexb' option with ffmpeg)

2019-04-06 13:04:53 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 418, in start
    resp = await task
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/web_app.py", line 458, in _handle
    resp = await handler(request)
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/web_middlewares.py", line 119, in impl
    return await handler(request)
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/http/real_ip.py", line 33, in real_ip_middleware
    return await handler(request)
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/http/ban.py", line 68, in ban_middleware
    return await handler(request)
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/http/auth.py", line 216, in auth_middleware
    return await handler(request)
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/http/view.py", line 114, in handle
    result = await result
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/websocket_api/http.py", line 36, in get
    request.app['hass'], request).async_handle()
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/websocket_api/http.py", line 188, in async_handle
    await self._writer_task
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/websocket_api/http.py", line 63, in _writer
    await self.wsock.send_json(message, dumps=JSON_DUMP)
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/web_ws.py", line 296, in send_json
    await self.send_str(dumps(data), compress=compress)
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/web_ws.py", line 283, in send_str
    await self._writer.send(data, binary=False, compress=compress)
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/http_websocket.py", line 643, in send
    await self._send_frame(message, WSMsgType.TEXT, compress)
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/http_websocket.py", line 620, in _send_frame
    await self.protocol._drain_helper()
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/base_protocol.py", line 81, in _drain_helper
    await waiter
  File "/usr/local/lib/python3.7/asyncio/selector_events.py", line 801, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer

2019-04-06 13:04:53 ERROR (MainThread) [aiohttp.server] Unhandled exception
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 447, in start
    await resp.prepare(request)
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/web_response.py", line 353, in prepare
    return await self._start(request)
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/web_response.py", line 667, in _start
    return await super()._start(request)
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/web_response.py", line 410, in _start
    await writer.write_headers(status_line, headers)
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/http_writer.py", line 112, in write_headers
    self._write(buf)
  File "/srv/homeassistant/lib/python3.7/site-packages/aiohttp/http_writer.py", line 67, in _write
    raise ConnectionResetError('Cannot write to closing transport')
ConnectionResetError: Cannot write to closing transport
tiagofreire-pt commented 4 years ago

The issue remains on 0.101.3:

2019-11-14 14:50:55 ERROR (stream_worker) [homeassistant.components.stream.worker] Error demuxing stream: No dts in packet
2019-11-14 14:50:56 ERROR (stream_worker) [homeassistant.components.stream.worker] Error demuxing stream: No dts in packet
2019-11-14 14:56:56 ERROR (stream_worker) [homeassistant.components.stream.worker] Error demuxing stream: No dts in packet
codeclinic commented 4 years ago

Still persists in 0.102.2

2019-11-28 12:21:00 INFO (MainThread) [homeassistant.components.stream] Started stream: rtsp://192.168.178.61/ch0_1.h264
2019-11-28 12:21:36 ERROR (stream_worker) [homeassistant.components.stream.worker] Error demuxing stream: No dts in packet
2019-11-28 12:22:10 INFO (MainThread) [homeassistant.components.stream] Started stream: rtsp://192.168.178.61/ch0_1.h264
2019-11-28 12:23:39 ERROR (stream_worker) [homeassistant.components.stream.worker] Error demuxing stream: No dts in packet
mattclar commented 4 years ago

still persistant in 0.104.1

gyco50 commented 4 years ago

I've the same problem with a Dlink dcs5222. My rtsp command line is running fine in VLC but no success in HA latest version. Very frustrating and I've never found a workaround for weeks. I just success to view the live video through mjpeg but loosing high quality.

djansen1987 commented 4 years ago

also have issue, stream via iSPY. HA version 0.104.3.

Feb 04 00:41:40 homeassistant hass[19711]: 2020-02-04 00:41:40 INFO (MainThread) [homeassistant.components.stream] Started stream: http://192.168.13.10:8080/mjpegfeed?oid=1&full Feb 04 00:42:00 homeassistant hass[19711]: Exception in thread stream_worker: Feb 04 00:42:00 homeassistant hass[19711]: Traceback (most recent call last): Feb 04 00:42:00 homeassistant hass[19711]: File "/usr/local/lib/python3.7/threading.py", line 917, in _bootstrap_inner Feb 04 00:42:00 homeassistant hass[19711]: self.run() Feb 04 00:42:00 homeassistant hass[19711]: File "/usr/local/lib/python3.7/threading.py", line 865, in run Feb 04 00:42:00 homeassistant hass[19711]: self._target(*self._args, **self._kwargs) Feb 04 00:42:00 homeassistant hass[19711]: File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/stream/worker.py", line 49, in stream_worker Feb 04 00:42:00 homeassistant hass[19711]: container = av.open(stream.source, options=stream.options) Feb 04 00:42:00 homeassistant hass[19711]: File "av/container/core.pyx", line 275, in av.container.core.open Feb 04 00:42:00 homeassistant hass[19711]: File "av/container/core.pyx", line 227, in av.container.core.Container.cinit Feb 04 00:42:00 homeassistant hass[19711]: File "av/container/core.pyx", line 129, in av.container.core.ContainerProxy.init Feb 04 00:42:00 homeassistant hass[19711]: File "av/container/core.pyx", line 195, in av.container.core.ContainerProxy.err_check Feb 04 00:42:00 homeassistant hass[19711]: File "av/utils.pyx", line 105, in av.utils.err_check Feb 04 00:42:00 homeassistant hass[19711]: av.AVError: [Errno 110] Connection timed out: 'http://192.168.13.10:8080/mjpegfeed?oid=1&full'

CodeFinder2 commented 4 years ago

Having this issue as well (using the danfang hacks firmware):

2020-02-22 14:40:28 INFO (MainThread) [homeassistant.components.stream] Started stream: rtsp://xxx:8554/unicast
2020-02-22 14:40:28 ERROR (stream_worker) [libav.mp3float] Header missing
2020-02-22 14:40:31 ERROR (stream_worker) [libav.mpegts] H.264 bitstream malformed, no startcode found, use the video bitstream filter 'h264_mp4toannexb' to fix it ('-bsf:v h264_mp4toannexb' option with ffmpeg)
[...]
2020-02-22 14:29:44 ERROR (stream_worker) [homeassistant.components.stream.worker] Error demuxing stream: No dts in packet

Config:

- platform: ffmpeg
  name: "Xiaofang 1S"
  input: !secret xiaofang1s_camera_rtsp_stream

It was previously (and is still) working fine, meaning the video is correctly shown but the errors in the log are annoying...

v0.105.5 (latest as of now)

Any chance that this will be fixed?

huuub commented 4 years ago

I get te following error with trying to show the amcrest doorbell camera (which is working in VLC player. The links is fine. Just doenst work in Hassio (last version in ubuntu in docker)

2020-02-27 16:47:57 INFO (MainThread) [homeassistant.components.stream] Started stream: rtsp://admin:mypassword@192.168.1.15:554/cam/realmonitor?channel=1&subtype=0 Exception in thread stream_worker: Traceback (most recent call last): File "/usr/local/lib/python3.7/threading.py", line 926, in _bootstrap_inner self.run() File "/usr/local/lib/python3.7/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/usr/src/homeassistant/homeassistant/components/stream/worker.py", line 49, in stream_worker container = av.open(stream.source, options=stream.options) File "av/container/core.pyx", line 275, in av.container.core.open File "av/container/core.pyx", line 227, in av.container.core.Container.__cinit__ File "av/container/core.pyx", line 129, in av.container.core.ContainerProxy.__init__ File "av/container/core.pyx", line 195, in av.container.core.ContainerProxy.err_check File "av/utils.pyx", line 105, in av.utils.err_check av.AVError: [Errno 22] Invalid argument: 'rtsp://admin:mypassword@192.168.1.15:554/cam/realmonitor?channel=1&subtype=0' (16: tcp)

djansen1987 commented 4 years ago

I get te following error with trying to show the amcrest doorbell camera (which is working in VLC player. The links is fine. Just doenst work in Hassio (last version in ubuntu in docker)

2020-02-27 16:47:57 INFO (MainThread) [homeassistant.components.stream] Started stream: rtsp://admin:mypassword@192.168.1.15:554/cam/realmonitor?channel=1&subtype=0 Exception in thread stream_worker: Traceback (most recent call last): File "/usr/local/lib/python3.7/threading.py", line 926, in _bootstrap_inner self.run() File "/usr/local/lib/python3.7/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/usr/src/homeassistant/homeassistant/components/stream/worker.py", line 49, in stream_worker container = av.open(stream.source, options=stream.options) File "av/container/core.pyx", line 275, in av.container.core.open File "av/container/core.pyx", line 227, in av.container.core.Container.__cinit__ File "av/container/core.pyx", line 129, in av.container.core.ContainerProxy.__init__ File "av/container/core.pyx", line 195, in av.container.core.ContainerProxy.err_check File "av/utils.pyx", line 105, in av.utils.err_check av.AVError: [Errno 22] Invalid argument: 'rtsp://admin:mypassword@192.168.1.15:554/cam/realmonitor?channel=1&subtype=0' (16: tcp)

Know that the password what was in your post (that you have edited) also ends up in an notification e-mail: I get te folloing error with trying to show the amcrest doorbell camera (which is working in VLC player. 2020-02-27 16:47:57 INFO (MainThread) [homeassistant.components.stream] Started stream: rtsp://admin:d1hn****@192.168.1.15:554/cam/realmonitor?channel=1&subtype=0 Exception in thread stream_worker: Traceback (most recent call last): File "/usr/local/lib/python3.7/threading.py", line 926, in _bootstrap_inner self.run()

huuub commented 4 years ago

Hmmm... ok... I still don't have it working. Really weird

huuub commented 4 years ago

well... it works. What doesn't now: I record a video of that stream (I create a camera from it and record that) If I play it it (also as a camera with an mp4 as input), it plays for a few seconds, ends, and in the log I get the "Error demuxing stream: No dts in packet" I can play the file locally in VLC without problems.

accelle17 commented 4 years ago

this still exists on 0.108.1. I am on pi 4 and noticed that homeassistant doesn't go up even after >5 mins. I noticed that container is up and resources are normal. Couple of container restart doesnt resolve it. After commenting stream:, hass is up.

The strange part is, I was able to restart it successfully a couple of times before experimenting with camera.record service.

timdonovanuk commented 4 years ago

Similar related issue, in LoveLace UI any live camera feed I show stops anywhere from 10 seconds > 30 minutes in, with Error demuxing stream: No dts in packet in the log. The picture glance card then never actually resumes the stream, so the picture just freezes. Frontend shows it trying to load a resource that no longer exists. I have raised a bug https://github.com/home-assistant/core/issues/34966

stale[bot] commented 4 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

DPAmes commented 4 years ago

Same issue with a Trendnet camera (no DTS in packet error message), RTSP stream won't display or camera.record. It used to display in Lovelace before recent updates, and still displays just fine in VLC.

Meelobee commented 3 years ago

I'm on HA version 0.116.2 and this is still a thing.. I'm using 3 Wyze cams (2x V2, 1x Pan) with the RTSP firmware and I still see these errors over and over in my logs:

Timestamp overflow detected: dts = 117126, resetting stream 11:03:53 PM – Stream (WARNING) - message first occurred at October 10, 2020, 8:56:05 PM and shows up 231 times

Error demuxing stream: No dts in consecutive packets 11:01:50 PM – Stream (ERROR) - message first occurred at October 10, 2020, 8:56:02 PM and shows up 254 times

Stream packet without dts detected, skipping... 11:01:50 PM – Stream (ERROR) - message first occurred at October 10, 2020, 8:55:57 PM and shows up 508 times

Any chance this will ever get fixed ?

craggyh commented 3 years ago

Seeing the same here with 6x reolink cameras. All on gigabit wired links so it's not a poor connectivity issue.

The stream component is all but useless at this stage, never a reliable camera feed, constant hangups, loading wheel, streams stuck in a loop since yesterday etc. Very unreliable in general.

huuub commented 3 years ago

please reopen...

hunterjm commented 3 years ago

Instead of re-opening this ticket (which at this point is over a year old and contains MANY different error messages), let's create specific individual issues for each distinctive error message in the log file.

craggyh commented 3 years ago

The errors usually show in the logs together so presumably they’re all related. Individual issues per specific error might only give half the picture.

hunterjm commented 3 years ago

As the original developer and one of the code owners for the stream integration, I assure you that separate issues unless logs are identical would be much more beneficial than reviewing a year old issue. Especially since there have been a lot of modifications to the integration since.

huuub commented 3 years ago

The error message is correct. There is no DTS in the packet. VLC and others don't mind but the component in home assistant does.

MiAutomations commented 3 years ago

logs are identical would be much more beneficial than reviewing a year old issue. Especially since there have been a lot of modifications to the integration since.

Hello to all

I'm also facing similar issue with the following log

Logger: libav.rtsp Source: components/stream/worker.py:223 First occurred: 7:50:41 PM (82 occurrences) Last logged: 8:08:18 PM

RTP: PT=60: bad cseq 5bdd expected=4f2a RTP: PT=60: bad cseq bae9 expected=aefa Error parsing AU headers Too short data for FU-A H.264 RTP packet RTP: PT=60: bad cseq 7413 expected=3ae8

And As you mentioned I opened a Issue but the issue is now closed without any way to solve this .... https://github.com/home-assistant/core/issues/55966

At last I re install my HA based on the Hassio OS but the problem keeps

Can anyone please help me in order to solve this

Thank you for your support and best regards

MiAutomations commented 3 years ago

@hunterjm

Hello Can you please help me in this issue? If needed I will open a new issue again.

Thank you and best regards