Stream Component: Confirmed Cameras and Configurations

Samsung SNH-V6414BN (and most likely many other in the smartcam series).

- platform: generic
  still_image_url: http://user:[email protected]/video.cgi?msubmenu=jpg
  stream_source: rtsp://user:[email protected]/profile5/media.smp

Unfortunately, the still image is not available locally. Apparently, the “fix” for some vulnerabilities was to disable local access to everything but RTSP in the camera’s firmware. The still image link authenticates successfully, but only returns an “Access Error”.

The lack of a still image can be hacked around with a cron job:

*/1 * * * * ffmpeg -rtsp_transport tcp -y -i rtsp://user:[email protected]/profile5/media.smp -vframes 1 /path/to/www/images/still.jpg > /dev/null 2>&1

3 Likes

Hi. Anyone has Yi Home Camera 720 setup as generic? It seems to lack jpg.

Anyone got this working with the motionEye add-on ? I am not able to get the stream to work.

How would u do it for a NEST HELLO camera feed?

Yes. I had the same issue and solution. I would never recommend Samsung again after they degraded the product a few years ago.

MotionEye only provides an MJPEG stream. This component requires an h264 stream. Try the URL you used to add the camera to MotionEye, and find a still image source for your camera.

1 Like

The Nest cameras do not provide a live feed via their API.

1 Like

There will eventually be a stream camera that can grab the still image for you, so this workaround won’t be necessary!

2 Likes

I have nvr
Diogo XME
Does this support it, if yes
What might be config for it.
Thanks in adv

Anyone with the reolink configuration find that the video does not play on first launch, but if you close it and launch it again it plays the second time consistently?

Thanks for the reply, wasn’t aware of this. Unfortunately the stream does not work with the url, and somehow my Mac mini goes in turbo overdrive after added the camera url to the config file :smile: so somehow it is taking a lot of resources without actually working.

I have 4MP Dahua cameras working with this setting for static image and stream but on stream its a little choppy but that may be something else.

- platform: generic
  name: camera 
  stream_source: "rtsp://user:[email protected]:554/cam/realmonitor?channel=1&subtype=00"
  still_image_url: "http://user:[email protected]/cgi-bin/snapshot.cgi?channel=1"
  username: user
  password: pass
  verify_ssl: false
  authentication: digest
1 Like

Just a workaround for those who only have RTSP-stream and no still image URL. Install MotionEye en don’t let it do the streaming, but just the Still Image. Works like a charm!

Streaming is working well for some old Escam QD520 camera’s, except casting to my Chromecasts. In the log I see this error:

ERROR (stream_worker) [libav.rtsp] Too short data for FU-A H.264 RTP packet

Any suggestions?

1 Like

I use the Hikvision camera.
Streaming image is not working.
There are no errors in the log.
I tried to reduce the resolution to 640 \ 480
However, the rtsp string works fine in vlc.
Still image is working fine. Even better than before ffmpeg.
hardware - RPI 3B+
HASSIO HA 0.9.1

stream:
camera:
  - platform: generic
    still_image_url: "http://admin:[email protected]/ISAPI/Streaming/channels/01/picture"
    stream_source: "rtsp://admin:[email protected]:554"
    name: hi 

What could be the cause?

@Maikl_Sh I have the same issue on a RPI 3B+ venv install. I enabled component level logging and the only entry was that streaming started, but the browser doesn’t receive data and will continue to show the loading animation until it times out. This is with the Hikvison DS-2CD2385FWD-I.

I have similar issues. Have you tried to cast the stream to a chromecast device. I suspect you’ll find it’s working. I’m just unable to view the stream via UI (chrome or iOS)

I’ve just come to the realization that the Dahua stream configuration that works for the ffmpeg component or VLC app is not a usable configuration for streaming via the generic camera component. (I had the same errors that @DeadEnd reported in post 89). One would think that the configs should be the same and using VLC is a valid test to get it right.

I’ve had no luck following the Dahua example in the OP, but I did finally get something to work (sort of) following @Zpeed 's example in post 131. Yes, the streaming was choppy, but it was also much lower resolution than the Dahua Starlight’s 3MP.

I guess I need to reset my expectations of what an RPi3 B+ as a streaming host is capable of in the current Hassio version. Many times, during this testing, I have brought the system to its knees and essentially killed it, requiring a restart.

EDIT: well, it worked once. Just tried again using the same config as Zpeed’s, and it just quits right away with errors. I submitted an error report to HA, but here’s a snippet of the errors:

2019-03-24 12:50:36 ERROR (stream_worker) [libav.h264] left block unavailable for requested intra mode
2019-03-24 12:50:36 ERROR (stream_worker) [libav.h264] error while decoding MB 0 9, bytestream 32507
2019-03-24 12:50:42 ERROR (stream_worker) [libav.NULL] SEI type 54 size 1104 truncated at 272
2019-03-24 12:50:42 ERROR (stream_worker) [libav.NULL] SEI type 114 size 1920 truncated at 1176
2019-03-24 12:50:44 ERROR (stream_worker) [libav.NULL] SEI type 199 size 1816 truncated at 1368
2019-03-24 12:50:54 ERROR (stream_worker) [libav.NULL] SEI type 53 size 1920 truncated at 288
2019-03-24 12:51:00 ERROR (stream_worker) [libav.NULL] SEI type 129 size 1208 truncated at 752
2019-03-24 12:51:18 ERROR (stream_worker) [libav.NULL] SEI type 99 size 1728 truncated at 1720
2019-03-24 12:51:24 ERROR (stream_worker) [libav.NULL] non-existing SPS 6 referenced in buffering period
2019-03-24 12:51:24 ERROR (stream_worker) [libav.NULL] SEI type 69 size 968 truncated at 944

˜Same issue here with a HikVision DS-2CD2442FWD-IW.

The stream is working OK’ish on a chromecast device, but in the UI it crashes HA.

Amy hepl to setup motioneye as I have never used it?

Thank you

Do you have hass.io? Install the add-on frrom @frenck and follow his instructions.