Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Neos SmartCam #964

Merged
merged 2 commits into from
Jun 24, 2019
Merged

Support for Neos SmartCam #964

merged 2 commits into from
Jun 24, 2019

Conversation

darraghbr
Copy link
Contributor

Updated the README and install instructions to include the Neos SmartCam, I have tested the bootloader and firmware installation on my camera and it appears to work fine.

Updated the README and install instructions to include the Neos SmartCam, I have tested the bootloader and firmware installation on my camera and it appears to work fine.
@puddly
Copy link

puddly commented Mar 4, 2019

Could you upload a copy of the firmware?

@darraghbr
Copy link
Contributor Author

Unfortunately I don't have a copy of the original firmware, I had overwritten it quite a while ago. I should probably make that clear in the readme.

Added information about the lack of original firmware uploaded to the repository for the Neos SmartCam
@rbcmptrmn
Copy link

I have a NEOS smart cam, I could take the firmware off of it for you if someone could tell me how?

@aqueiroz
Copy link

Anyone managed to get the Neos firmware? After last update of Xiaomi-dafang-hacks firmware the feed is really slow lag. So want to go back to original firmware. Has anyone managed to get it? Let me know pls.

@Combie81
Copy link
Contributor

Combie81 commented May 7, 2019

Anyone managed to get the Neos firmware? After last update of Xiaomi-dafang-hacks firmware the feed is really slow lag. So want to go back to original firmware. Has anyone managed to get it? Let me know pls.

Is the new version of the f/w any faster? Any other missing features/benefits of note? Can I set a network location to save a continuous feed of the video/audio or is it still onboard storage only?

@darraghbr
Copy link
Contributor Author

If anyone is willing to give it a go, the (slightly vague) instructions for extracting the original firmware are present in this repo, namely in the /hacks/ folder. It feels a little beyond me at the moment, and I do not have a spare camera to try it with.

@rbcmptrmn
Copy link

I have a camera that I could look at if you want, what do I look at??

@darraghbr
Copy link
Contributor Author

Well you will need to disassemble the camera, identify the serial communication headers, attach wires to those headers connect them to a USB to serial converter of some description and attempt to communicate with the camera. You might start with this page.

@jellybob
Copy link

Hi there, I'm the lead developer on Neos' IoT team, which is responsible for the Smartcam 👋 While obviously I can't officially endorse this, unofficially I'm a hacker at heart and its pretty cool seeing people making the camera do things it was never meant to!

Let me have a chat with our security team to find out if there's anything sensitive in the firmware images we have, and if there isn't I'll see if we can get it released somewhere public.

@aqueiroz
Copy link

aqueiroz commented May 21, 2019

Hi there, I'm the lead developer on Neos' IoT team, which is responsible for the Smartcam 👋 While obviously I can't officially endorse this, unofficially I'm a hacker at heart and its pretty cool seeing people making the camera do things it was never meant to!

Let me have a chat with our security team to find out if there's anything sensitive in the firmware images we have, and if there isn't I'll see if we can get it released somewhere public.

Wow, that would be nice..I do have 3 Neos, one of wich I have tested with the Xiaomi firmware, it just would be nice to have the option to reflush the original firmware.

Also would be nice if we could suggest features!!!!

Do let us know if we can get the firmware

@rbcmptrmn
Copy link

Having that feature and original firmware is perfect for the use that I would use it for 😊

@Combie81
Copy link
Contributor

Hi there, I'm the lead developer on Neos' IoT team, which is responsible for the Smartcam 👋 While obviously I can't officially endorse this, unofficially I'm a hacker at heart and its pretty cool seeing people making the camera do things it was never meant to!

Let me have a chat with our security team to find out if there's anything sensitive in the firmware images we have, and if there isn't I'll see if we can get it released somewhere public.

Releasing the f/w would be a great PR move allowing us to choose between the custom features of dafang and stock. Having the ability to rollback woul be very beneficial if dafang just doesn't function the way a user would like as they test those features. I'd like to roll back 1 of my cams for a number of reasons but would really like to see rtsp streaming support and smb/network upload support added to the official f/w and I'd have all the rest(7) of my neos cams back onto stock f/w in a second.

@aqueiroz
Copy link

yeah if stock firmware had rtsp streaming, no question, i would stay with original firmware. it's a nice feature to allow us to integrate with the like of Home assistant. Also any news on new hardware options? Maybe some cheap door sensors :-) or some cheap PIR motion devices? ;-)

@Pezmc
Copy link

Pezmc commented May 21, 2019

RTSP stream is the exact reason I'm looking at custom firmware, if you can get that inbuilt, no need to look elsewhere, otherwise, a dump of the firmware, which someone is eventually going to do anyway, from an official source, would be very valuable!

@aqueiroz
Copy link

@jellybob any news for us??? :-)

@hamid-elaosta
Copy link

I bought one of these yesterday, I was unable to get the confirmation email from their servers, not that i want to be connected to them anyway, so I just desoldered the flash chip and dumped it.

I've flashed the firmware mod from this repo and it works ok. Since I haven't run the camera without this mod I've no idea what the performance is like on stock.

It'd be nice for some firmware support or something from the devs but I'm not counting on it.

No issues installing by following the instructions for the Wyze, took 5 minutes.

@jammmyb
Copy link

jammmyb commented May 29, 2019

once the NEOS firmware is available. Could I flash it onto a Dafang camera? Not looking for PTZ controls.

But I like the NEOS smartcam app 👍

And if it does gain RTSP. Then I’ll add them back into homebridge. 🥳

@aqueiroz
Copy link

Any one managed to get the firmware yet?

@davy932
Copy link

davy932 commented May 30, 2019

Hi @darraghbr

Updated the README and install instructions to include the Neos SmartCam, I have tested the bootloader and firmware installation on my camera and it appears to work fine.

Im maybe being really stupid but i cannot see where on the current README file etc the Neos SmartCam is referenced??

Do you just use the Wyzecam V2 instructions??

Self declared amateur enthusiast here so require a bit of spoon feeding

Many thanks

@darraghbr
Copy link
Contributor Author

@davy932

So the updated files can be found in the commits of this pull request rather than on the main repository. This is because this pull request has not yet been merged.

To answer your question more directly, yes I just used the Wyzecam V2 instructions.

@aqueiroz
Copy link

aqueiroz commented Jun 7, 2019

any one manager to get the original Neos Firmware yet?

@matbrewer396
Copy link

has anyone managed to have success flashing a Neos recently?

Follow the instruction for Wyzecam V2 and nothing happen. Just boot as normal

@davy932
Copy link

davy932 commented Jun 9, 2019 via email

@ryanfitton
Copy link

Hi, yes. Did mine last week. Everything went smoothly. I did use a 16GB card, not sure if it helps but I deleted all partitions and created a single 512MB Fat32 partition.

I've made a blog post incase it helps: https://ryanfitton.co.uk/blog/install-dafang-custom-firmware-to-neos-smartcam/

@matbrewer396
Copy link

Thank you, David & Ryan. Got it to work.

Same SD card, with a smaller partition

@rbcmptrmn
Copy link

I could do with the original firmware I used a different firmware before I settled on this so have lost it

@877dev
Copy link

877dev commented Jun 16, 2019

@ryanfiton hey I used your guide yesterday thanks!

Come on someone merge this pull request already 😂

@timdonovanuk
Copy link

I don't think screenshots would help - I'm using the default settings. The only thing I've changed (in an attempt to clear up the artifacts) is the bitrate, fps and resolution. And all I've done there is keep lowering them. Currently I'm at res: 1280x720, 1024 kbps bitrate and 10 FPS but still getting artifacting.

@digiltd
Copy link

digiltd commented May 7, 2020

I don't remember if default has motion detection on or not, try turning that off as well as any audio or recording that might be going on.

The network is pretty janky on that thing, I know when I have audio on, a high frame rate or bitrate the connection is constantly dropping.

Even with the settings I use now, both cameras show the same quality image, but the camera that is the furthest away still drops out. Though it is on a repeater, but I have accepted repeaters are rubbish so accept the dropouts.

image

@Ozzyminted
Copy link

Ozzyminted commented May 7, 2020 via email

@timdonovanuk
Copy link

@digiltd Yep I tried killing all non-streaming based services like motion and even audio streaming, but no change :(

@Ozzyminted I'm using the bootloader from this project (cfw-1.1.bin), afaik there is not a beta branch or alternatives. As for the for the firmware I'm running from the beta branch, but have the same issue on master/stable.

@timdonovanuk
Copy link

Tried another neos cam now, same issue. In fact this one handles things worse...if I crank up the kbs past 1000 the stream gets artifacts like crazy and then the stream crashes/stops sending

I thought to capture VLC debug logs this time. The device is clearly struggling sending frames, given the frequent "main warning: picture is too late to be displayed (missing 116 ms)" until it gives up.

Nothing in v4l2rtspserver-master.log (I don't think I've ever seen anything in this log though?)

main debug: processing request item: rtsp://192.168.1.113:8554/unicast, node: Playlist, skip: 0
main debug: rebuilding array of current - root Playlist
main debug: rebuild done - 1 items, index 0
main debug: starting playback of new item
main debug: resyncing on rtsp://192.168.1.113:8554/unicast
main debug: rtsp://192.168.1.113:8554/unicast is at 0
main debug: creating new input thread
main debug: Creating an input for 'rtsp://192.168.1.113:8554/unicast'
main debug: requesting art for new input thread
main debug: looking for meta fetcher module matching "any": 1 candidates
main debug: no meta fetcher modules matched
main debug: looking for art finder module matching "any": 2 candidates
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
main debug: using timeshift granularity of 50 MiB
main debug: `rtsp://192.168.1.113:8554/unicast' gives access `rtsp' demux `any' path `192.168.1.113:8554/unicast'
main debug: creating demux: access='rtsp' demux='any' location='192.168.1.113:8554/unicast' file='\\192.168.1.113:8554\unicast'
main debug: looking for access_demux module matching "rtsp": 15 candidates
live555 debug: version 2016.11.28
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
main debug: no art finder modules matched
main debug: looking for meta fetcher module matching "any": 1 candidates
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher
main debug: no meta fetcher modules matched
main debug: looking for art finder module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
main debug: no art finder modules matched
live555 debug: RTP subsession 'video/H264'
main debug: selecting program id=0
live555 debug: RTP subsession 'audio/MPA'
qt debug: IM: Setting an input
live555 debug: setup start: 0.000000 stop:0.000000
live555 debug: We have a timeout of 65 seconds
live555 debug: play start: 0.000000 stop:0.000000
main debug: using access_demux module "live555"
main debug: looking for packetizer module matching "any": 25 candidates
h264 debug: found NAL_SPS (sps_id=0)
h264 debug: found NAL_PPS (pps_id=0 sps_id=0)
main debug: using packetizer module "h264"
main debug: looking for video decoder module matching "any": 19 candidates
avcodec debug: using ffmpeg Lavc58.6.103
avcodec debug: CPU flags: 0x000813db
avcodec debug: allowing 5 thread(s) for decoding
avcodec debug: codec (h264) started
avcodec debug: using frame thread mode with 5 threads
main debug: using video decoder module "avcodec"
main debug: looking for audio decoder module matching "any": 23 candidates
mpg123 debug: mpga->f32l, bits per sample: 32
main debug: using audio decoder module "mpg123"
main debug: looking for meta reader module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\reader
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\reader\filename.luac
main debug: no meta reader modules matched
main debug: `rtsp://192.168.1.113:8554/unicast' successfully opened
live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
main debug: Buffering 0%
live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
main debug: Buffering 1%
main debug: reusing audio output
main debug: looking for aout stream module matching "any": 2 candidates
main debug: Buffering 2%
wasapi debug: modified format
main debug: Buffering 4%
main debug: Buffering 15%
main debug: Buffering 31%
main debug: Buffering 35%
wasapi debug: buffer size : 96000 frames
wasapi debug: maximum latency: 000 ns
wasapi debug: default period : 10000000 ns
wasapi debug: minimum period : 2000000 ns
main debug: using aout stream module "wasapi"
main debug: output 'f32l' 48000 Hz Stereo frame=1 samples/8 bytes
main debug: looking for audio volume module matching "any": 2 candidates
main debug: using audio volume module "float_mixer"
main debug: input 'f32l' 44100 Hz Mono frame=1 samples/4 bytes
main debug: looking for audio filter module matching "scaletempo": 16 candidates
scaletempo debug: format: 44100 rate, 1 nch, 4 bps, fl32
scaletempo debug: params: 30 stride, 0.200 overlap, 14 search
scaletempo debug: 1.000 scale, 1323.000 stride_in, 1323 stride_out, 1059 standing, 264 overlap, 617 search, 2204 queue, fl32 mode
main debug: using audio filter module "scaletempo"
main debug: conversion: 'f32l'->'f32l' 44100 Hz->44100 Hz Mono->Mono
main debug: conversion pipeline complete
main debug: conversion: 'f32l'->'f32l' 44100 Hz->44100 Hz Mono->Stereo
main debug: looking for audio converter module matching "any": 8 candidates
main debug: using audio converter module "trivial"
main debug: conversion pipeline complete
main debug: looking for audio resampler module matching "any": 3 candidates
main debug: using audio resampler module "samplerate"
main debug: Buffering 36%
main debug: restarting module due to input format change
main debug: removing module "avcodec"
main debug: looking for video decoder module matching "any": 19 candidates
avcodec debug: using ffmpeg Lavc58.6.103
avcodec debug: CPU flags: 0x000813db
avcodec debug: allowing 5 thread(s) for decoding
avcodec debug: codec (h264) started
avcodec debug: using frame thread mode with 5 threads
main debug: using video decoder module "avcodec"
avcodec debug: available hardware decoder output format 119 (cuda)
avcodec debug: available hardware decoder output format 53 (dxva2_vld)
avcodec debug: available hardware decoder output format 118 (d3d11va_vld)
avcodec debug: available hardware decoder output format 174 (d3d11)
avcodec debug: available software decoder output format 0 (yuv420p)
avcodec debug: trying format d3d11va_vld
main debug: looking for text renderer module matching "any": 3 candidates
freetype debug: Using DWrite backend
freetype debug: DWrite_GetFamily(): family name: Arial
freetype debug: DWrite_ParseFamily(): using font at index 0 with weight 400 for bold: 0, italic: 0
freetype debug: DWrite_ParseFamily(): using font at index 1 with weight 700 for bold: 1, italic: 0
freetype debug: DWrite_ParseFamily(): using font at index 2 with weight 400 for bold: 0, italic: 1
freetype debug: DWrite_ParseFamily(): using font at index 3 with weight 700 for bold: 1, italic: 1
main debug: using text renderer module "freetype"
main debug: looking for video converter module matching "any": 24 candidates
swscale debug: 32x32 (32x32) chroma: YUVA -> 16x16 (16x16) chroma: RGBA with scaling using Bicubic (good quality)
main debug: using video converter module "swscale"
main debug: looking for video converter module matching "any": 24 candidates
yuvp debug: YUVP to YUVA converter
main debug: using video converter module "yuvp"
main debug: Deinterlacing available
main debug: deinterlace -1, mode auto, is_needed 0
main debug: looking for vout window module matching "qt,any": 3 candidates
qt debug: requesting video window...
main debug: Buffering 47%
main debug: Buffering 55%
main debug: resized to 1280x720
main debug: resized to 1600x900
main debug: using vout window module "qt"
main debug: looking for inhibit module matching "any": 1 candidates
main debug: using inhibit module "inhibit"
main debug: Opening vout display wrapper
main debug: looking for vout display module matching "any": 12 candidates
direct3d11 debug: creating Vout EventThread
direct3d11 debug: Win32VoutCreateWindow
main debug: VoutDisplayEvent 'resize' 1600x900
direct3d11 debug: inclinometer not found. (hr=0x80070490)
main debug: Buffering 69%
direct3d11 debug: created video sub-window
direct3d11 debug: Vout EventThread running
main debug: Buffering 71%
qt debug: Logical video size: 1600x900
main debug: resized to 1600x900
main debug: VoutDisplayEvent 'resize' 1600x900
direct3d11 debug: Created the D3D11 device type 1 level b100.
direct3d11 warning: failed to get the 0 MatchingDeviceId (2)
direct3d11 debug: different 1 device p vs P
direct3d11 warning: failed to read the 2 Display Adapter registry key (2)
direct3d11 warning: can't find adapter in registry
direct3d11 debug: supports colorspace RGB Rec.709 gamma:22 range:FULL
direct3d11 debug: supports colorspace RGB Rec.709 gamma:22 range:STUDIO
direct3d11 debug: supports colorspace RGB Rec.2020 gamma:22 range:STUDIO
direct3d11 debug: supports colorspace RGB Rec.2020 gamma:22 range:FULL
direct3d11 debug: supports colorspace RGB Rec.2020 gamma:2084 range:FULL
direct3d11 debug: supports colorspace RGB Rec.2020 gamma:2084 range:STUDIO
direct3d11 debug: Output max luminance: 270.0, colorspace RGB Rec.709 gamma:22 range:FULL, bits per pixel 8
direct3d11 debug: using colorspace RGB Rec.709 gamma:22 range:FULL
direct3d11 debug: Using pixel format VA_NV12 for chroma DX11
main debug: Buffering 76%
main debug: VoutDisplayEvent 'resize' 1616x939
direct3d11 debug: Direct3D11 resources created
direct3d11 debug: Direct3D11 device adapter successfully initialized
direct3d11 debug: Direct3D11 Open Succeeded
main debug: using vout display module "direct3d11"
direct3d11 debug: D3D11 pool succeed with 38 surfaces (1664x1024) context 0x0af61d2c
main debug: original format sz 1600x912, of (0,0), vsz 1600x900, 4cc DX11, sar 1:1, msk r0x0 g0x0 b0x0
main debug: removing module "freetype"
main debug: VoutDisplayEvent 'resize' 1600x900
main debug: looking for text renderer module matching "any": 3 candidates
direct3d11 debug: Detected size change 1600x900
freetype debug: Using DWrite backend
freetype debug: DWrite_GetFamily(): family name: Arial
freetype debug: DWrite_ParseFamily(): using font at index 0 with weight 400 for bold: 0, italic: 0
freetype debug: DWrite_ParseFamily(): using font at index 1 with weight 700 for bold: 1, italic: 0
freetype debug: DWrite_ParseFamily(): using font at index 2 with weight 400 for bold: 0, italic: 1
freetype debug: DWrite_ParseFamily(): using font at index 3 with weight 700 for bold: 1, italic: 1
main debug: using text renderer module "freetype"
main debug: looking for hw decoder module matching "any": 2 candidates
d3d11va warning: failed to get the 0 MatchingDeviceId (2)
d3d11va debug: different 1 device p vs P
d3d11va warning: failed to read the 2 Display Adapter registry key (2)
d3d11va warning: can't find adapter in registry
d3d11va debug: Reusing Direct3D11 device
d3d11va debug: CreateDevice succeed
d3d11va debug: - 'MPEG-2 variable-length decoder' is supported
d3d11va debug: - 'MPEG-2 inverse discrete cosine transform' is supported
d3d11va debug: - 'VC-1 variable-length decoder' is supported
d3d11va debug: - 'VC-1 variable-length decoder 2 (Intel)' is supported
d3d11va debug: - 'VC-1 variable-length decoder (Intel)' is supported
d3d11va debug: - 'Windows Media Video 9 IDCT' is supported
d3d11va debug: - 'VC-1 inverse discrete cosine transform' is supported
d3d11va debug: - 'H.264 variable-length decoder, no film grain technology' is supported
d3d11va debug: - 'H.264 stereo high profile, mbs flag set' is supported
d3d11va debug: - 'H.264 stereo high profile' is supported
d3d11va debug: - 'H.264 multiview high profile' is supported
d3d11va debug: - 'Unknown decoder 0xc528916c-0xc0af-0x4645-0x8cb2372b6d4adc2a' is supported
d3d11va debug: - 'Unknown decoder 0x91cd2d6e-0x897b-0x4fa1-0xb0d751dc88010e0a' is supported
d3d11va debug: - 'VP8' is supported
d3d11va debug: - 'Unknown decoder 0x442b942a-0xb4d9-0x4940-0xbc45a882e5f919f3' is supported
d3d11va debug: - 'Unknown decoder 0x97688186-0x56a8-0x4094-0xb543fc9daaa49f4b' is supported
d3d11va debug: - 'Unknown decoder 0x1424d4dc-0x7cf5-0x4bb1-0x9cd7b63717a72a6b' is supported
d3d11va debug: - 'Unknown decoder 0xc346e8a3-0xcbed-0x4d27-0x87cca70eb4dc8c27' is supported
d3d11va debug: - 'Unknown decoder 0xffc79924-0x5eaf-0x4666-0xa73606190f281443' is supported
d3d11va debug: - 'Unknown decoder 0xf416f7bd-0x098a-0x4cf1-0xa11bce54959ca03d' is supported
d3d11va debug: - 'Unknown decoder 0xbf44dacd-0x217f-0x4370-0xa383d573bc56707e' is supported
d3d11va debug: - 'Unknown decoder 0x2364d06a-0xf67f-0x4186-0xaed062b99e1784f1' is supported
d3d11va debug: - 'Unknown decoder 0x464bdb3c-0x91c4-0x4e9b-0x896f225496ac4ed6' is supported
d3d11va debug: - 'Unknown decoder 0x28566328-0xf041-0x4466-0x8b148f5831e78f8b' is supported
d3d11va debug: - 'Unknown decoder 0x6b4a94db-0x54fe-0x4ae1-0x9be47a7dad004600' is supported
d3d11va debug: - 'Unknown decoder 0x8c56eb1e-0x2b47-0x466f-0x8d337dbcd63f3df2' is supported
d3d11va debug: - 'HEVC Main profile' is supported
d3d11va debug: - 'Unknown decoder 0x75fc75f7-0xc589-0x4a07-0xa25b72e03b0383b3' is supported
d3d11va debug: - 'HEVC Main 10 profile' is supported
d3d11va debug: - 'Unknown decoder 0x07cfaffb-0x5a2e-0x4b99-0xb62ae4ca53b6d5aa' is supported
d3d11va debug: - 'VP9 profile 0' is supported
d3d11va debug: - 'VP9 profile 2' is supported
d3d11va debug: - 'VP9 profile Intel' is supported
d3d11va debug: - 'Unknown decoder 0x80a3a7bd-0x89d8-0x4497-0xa2b82126af7e6eb8' is supported
d3d11va debug: - 'Unknown decoder 0x8de911c4-0xc898-0x4364-0x97151de6b3fe773d' is supported
d3d11va debug: - 'Unknown decoder 0x50925b7b-0xe931-0x4978-0xa12a586630f095f9' is supported
d3d11va debug: - 'Unknown decoder 0x49761bec-0x4b63-0x4349-0xa5ff87ffdf088466' is supported
d3d11va debug: Trying to use 'H.264 variable-length decoder, no film grain technology' as input
d3d11va debug: NV12 output is supported for decoder H.264 variable-length decoder, no film grain technology.
d3d11va debug: Using output format NV12 for decoder H.264 variable-length decoder, no film grain technology
d3d11va debug: va_pool_SetupDecoder id 27 1600x912 count: 23
d3d11va debug: using external surface pool
d3d11va debug: ID3D11VideoDecoderOutputView succeed with 23 surfaces (1600x912)
d3d11va debug: we got 8 decoder configurations
d3d11va debug: configuration[0] ConfigBitstreamRaw 2
d3d11va debug: configuration[1] ConfigBitstreamRaw 1
d3d11va debug: configuration[2] ConfigBitstreamRaw 2
d3d11va debug: configuration[3] ConfigBitstreamRaw 2
d3d11va debug: configuration[4] ConfigBitstreamRaw 2
d3d11va debug: configuration[5] ConfigBitstreamRaw 2
d3d11va debug: configuration[6] ConfigBitstreamRaw 1
d3d11va debug: configuration[7] ConfigBitstreamRaw 1
d3d11va debug: DxCreateDecoderSurfaces succeed
main debug: using hw decoder module "d3d11va"
avcodec info: Using D3D11VA (Intel(R) HD Graphics 615, vendor 8086(Intel), device 591e, revision 2) for hardware decoding
main debug: Buffering 93%
qt debug: Logical video size: 1600x900
main debug: resized to 1600x900
main debug: VoutDisplayEvent 'resize' 1600x900
main debug: Buffering 94%
main debug: Received first picture
main debug: Stream buffering done (1162 ms in 1004 ms)
main debug: Decoder wait done in 0 ms
main debug: inserting 19690 zeroes
mmdevice debug: state changed: 1
main warning: playback too late (176697): up-sampling
main debug: auto hiding mouse cursor
main warning: picture is too late to be displayed (missing 135 ms)
main warning: picture is too late to be displayed (missing 116 ms)
main warning: picture is too late to be displayed (missing 44 ms)
main debug: picture might be displayed late (missing 5 ms)
main warning: playback too early (-75533): down-sampling
main debug: resampling stopped (drift: -75507 us)
main warning: playback too early (-75482): down-sampling
main debug: picture might be displayed late (missing 22 ms)
main warning: playback way too early (-271057): playing silence
main debug: inserting 13010 zeroes
main warning: playback way too early (-522613): playing silence
main debug: inserting 25085 zeroes
main warning: playback way too late (781872): flushing buffers
mmdevice debug: state changed: 0
wasapi debug: reset
main debug: inserting 11445 zeroes
mmdevice debug: state changed: 1
main warning: picture is too late to be displayed (missing 68 ms)
main debug: picture might be displayed late (missing 23 ms)
main debug: picture might be displayed late (missing 3 ms)
main warning: picture is too late to be displayed (missing 43 ms)
main warning: picture is too late to be displayed (missing 514 ms)
main warning: picture is too late to be displayed (missing 497 ms)
main warning: picture is too late to be displayed (missing 471 ms)
main warning: picture is too late to be displayed (missing 436 ms)
main warning: picture is too late to be displayed (missing 388 ms)
main warning: picture is too late to be displayed (missing 320 ms)
main warning: picture is too late to be displayed (missing 291 ms)
main warning: picture is too late to be displayed (missing 525 ms)
main warning: picture is too late to be displayed (missing 435 ms)
main warning: picture is too late to be displayed (missing 398 ms)
main warning: picture is too late to be displayed (missing 335 ms)
main warning: picture is too late to be displayed (missing 294 ms)
main warning: picture is too late to be displayed (missing 253 ms)
main warning: picture is too late to be displayed (missing 201 ms)
main warning: picture is too late to be displayed (missing 169 ms)
main warning: picture is too late to be displayed (missing 107 ms)
main warning: picture is too late to be displayed (missing 66 ms)
main debug: picture might be displayed late (missing 28 ms)
main debug: picture might be displayed late (missing 13 ms)
live555 warning: no data received in 10s, eof ?
main debug: EOF reached
main debug: waiting decoder fifos to empty
main warning: picture is too late to be displayed (missing 9387 ms)
main warning: picture is too late to be displayed (missing 9307 ms)
main debug: killing decoder fourcc `h264'
main debug: removing module "avcodec"
main debug: saving a free vout
main debug: reusing provided vout
main debug: removing module "h264"
main debug: killing decoder fourcc `mpga'
main debug: removing module "mpg123"
mmdevice debug: state changed: 0
wasapi debug: reset
main debug: removing module "samplerate"
main debug: removing module "scaletempo"
main debug: removing module "trivial"
main debug: removing module "float_mixer"
main debug: keeping audio output
main debug: removing module "live555"
main debug: Program doesn't contain anymore ES
main debug: dead input
main debug: changing item without a request (current 0/1)
main debug: nothing to play
main debug: destroying useless vout
main debug: removing module "direct3d11"
direct3d11 debug: Direct3D11 resources destroyed
direct3d11 debug: Direct3D11 device adapter closed
direct3d11 error: SetThumbNailClip failed: 0x800706f4
direct3d11 debug: Win32 Vout EventThread terminating
direct3d11 debug: Win32VoutCloseWindow
direct3d11 debug: WinProc WM_DESTROY
qt debug: IM: Deleting the input
main debug: removing module "inhibit"
qt debug: releasing video...
qt debug: Video is not needed anymore
main debug: removing module "freetype"
main debug: removing module "yuvp"
main debug: removing module "swscale"
main debug: nothing to play

@digiltd
Copy link

digiltd commented May 10, 2020

Do you get the same problem using the browser ui?

@timdonovanuk
Copy link

The stream in the browser only shows at about 1 FPS but no artifacts, true.

Does the dafang_128mb_v2.bin bootloader work with the neos cam?

@timdonovanuk
Copy link

timdonovanuk commented May 10, 2020

So I got the custom bootloader on it too (dafang_128mb_v2) with a bit of tinkering. I used this to try changing the memory settings to enable HD - at this point willing to try anything! No luck, still lots of artifacts and stream dropouts when there is lots of activity on the stream.

Is load supposed to be 2.0+ all the time?

Not sure where to debug now.

My only other route is to try openfang, I believe that does less but maybe uses resources more efficiently so the camera can be used as..well..a camera! :)

@digiltd
Copy link

digiltd commented May 11, 2020

i could share my bootloader (downloaded from the ui). No idea if it would work, but might be worth a try. Do you have another SD card to try? They can be fickle barstewards.

@timdonovanuk
Copy link

Thanks @digiltd I don't think its the bootloader though - isn't that only responsible for getting the custom FW on, thats it?

I've been digging some more and I really don't understand whats going on. I now noticed that as soon as I start viewing the stream on a wifi device (laptop, tablet etc.) my wifi network starts dropping packets like crazy. This gets worse if there is lots of movement and is consistent with the artefacts seen in the video stream.

See here, this is my laptop pinging my home router, you can easily see where I was viewing the stream in VLC and where I stopped it:

Screenshot 2020-05-17 at 11 17 41

I've tried 3 different access points too, from cheapo home consumer ones to enterprise ones, with the same thing.

Also during these ping spikes/packet loss, the camera pings the router fine...but I've noticed other devices on the network see an increased ping too.

I can watch 4K netflix and youtube on my network without any of these issues, its only when viewing the RTSP stream from these cameras that seems to cause this :(

@timdonovanuk
Copy link

Okay...bit more info, I started removing variables - I have quite a complex home networking (managed switch, vlans, hypervisor running LAN/WAN firewall etc) so wanted to make sure one of those wasn't the choke point causing dropped packets.

I ended up until I just had Camera -> Wifi AP -> Laptop. The AP isn't even connected to my router/switch or anything.

And...same problem...

I then tried even removing the Wifi AP from the mix, and turned my laptop into an access point. So just Camera -> Laptop.

Same artefacts, same ping spike problem (although not quite as bad).

I'm not very knowledgable about networking, so maybe this doesn't make sense, but whatever these cameras or the RTSP server is doing, its blasting and spamming the wifi network with a whole bunch of traffic, until even other clients can't even browse the internet.

No wonder seeing dropped frames and artefacts in the stream!

@timdonovanuk
Copy link

Sorry for the multiple updates, just trying to log as much info as possible!

I've also just noticed, even with format set to CBR (constant bit rate?) and bitrate set to 5000bs, that during high periods of movement/frame changes, VLC shows the bitrate often spiking over 12,000kbs (and then plummets to under 200kbs).

Is the root cause of all this that the camera is erroneously trying to send waaaaay too much traffic onto the network? Thus causing wifi stability everywhere?

@Wycombegav
Copy link

Hi all. I've got a neos cam that I think I now want to integrate into home assistant. What's the best instructions etc to follow to do that?

@asantaga
Copy link

Hi all. I've got a neos cam that I think I now want to integrate into home assistant. What's the best instructions etc to follow to do that?

See https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks/blob/master/integration/homeassistant/homeassistant.md

@timdonovanuk
Copy link

FWIW, I gave up on this. I tried multiple things, including:

  • 3 different Neos cams
  • replaced my entire wifi/switching setup
  • flashed firmware/bootloaders from other projects
  • different SD cards
  • just about every tweak to every setting in Dafang

In the end, the streams were always extremely unreliable, even at the lowest res and bitrates, with constant smearing, timeouts and skipped frames.

My experience is not unique, there are a number of blog posts detailing the same thing, and a number of github issues raised also (although they are spread over multiple projects). That's not to say everyone has these issues, I wonder if there are batches of these cams recently that simply don't play nicely with DaFang.

I've switched to a Reolink C1 Pro, and although it's obviously not open source, it has proper support for onvif and various open streaming protocols, and I'm very pleased with it.

Thanks everyone for your support and efforts here - I'm only sharing my issues as a warning for others!

Cheers.

@digiltd
Copy link

digiltd commented Jul 7, 2020

Cool, thanks for the update, whilst my two Neos Smartcams do appear to be working fine for me with Defang, I won't be getting any more, a shame as they are dinky little cameras. But the faff with custom firmware and reading about your issues has put me off.

@KeeerD
Copy link

KeeerD commented Mar 12, 2021

If you have somewhow broken your Neos cam (in my case the default firmware would not work after using Dafang)

Disclaimer, Do it at your own risk. It worked for me, so should work for you!

1. Download this file (its my demo.bin) the one i used to fix my camera! Thanks to @loglux for providing the firmware dump.

2. format a SD card "fat32" is ok

3. Copy the demo.bin file to the SD card

4. insert the card to the Neos camera

5. Press the reset button under the camera, Power the camera on, keep reset button pressed for 10 secs, let it go , wait 3 minutes for the setup to happen

6. Power off camera

7. remove SD card

8. power Neos camera up

9. try to add the fixed camera to the Neos Camera App

Enjoy...

Guys if you want to thank me, please visit https://www.brazilianchef.co.uk spread the word :-)

demo.zip

You, sir, are an absolute star :) Thank you so much for posting the Neos firmware. I'd successfully flashed it but decided I wanted to go back to using the Neos software with their leak detectors. Brilliant. Thank you.

@aqueiroz
Copy link

@KeeerD you are welcome.

I would avoid updating the camera after using this fix, I think it might break it and you have to redo the firmware. I find it really annoying that the vendor doesnt share it. just glad i can help others!

cheers

@KeeerD
Copy link

KeeerD commented Mar 12, 2021

@KeeerD you are welcome.

I would avoid updating the camera after using this fix, I think it might break it and you have to redo the firmware. I find it really annoying that the vendor doesnt share it. just glad i can help others!

cheers

I think I just found this out :)

@ninoz
Copy link

ninoz commented Jun 9, 2021

I am also experiencing the massive ping spikes which is making the streams very unreliable:
image

Has anyone else managed to fix this issue? Like timdonovanuk I have tried using multiple routers and changed pretty much every setting. Its odd how it affects all the cameras at the same time.

UPDATE:
I've done some more testing, I've disabled zoneminder and anything which could be interacting with the cameras and the ping remains stable, as soon as I open anything which interacts with the camera streams the pings increase and I get packets dropping. Kill the RTSP app on my phone and the pings return to normal.

I have all 4 cameras configured at a pretty low setting to make sure its not bandwidth issues:
image

As soon as I open the app which interacts directly with the cameras the pings fail

image

Viewing a max of 2 cameras simultaneously the pings remain stable, when I add a third the packet loss starts.

@ninoz
Copy link

ninoz commented Jun 13, 2021

@aqueiroz

Thanks to your post I was able to recover my cameras, did you manage to solve the issue around updating the firmware?

Many Thanks

@mikedixson
Copy link

If you have somewhow broken your Neos cam (in my case the default firmware would not work after using Dafang)

Disclaimer, Do it at your own risk. It worked for me, so should work for you!

  1. Download this file (its my demo.bin) the one i used to fix my camera! Thanks to @loglux for providing the firmware dump.
  2. format a SD card "fat32" is ok
  3. Copy the demo.bin file to the SD card
  4. insert the card to the Neos camera
  5. Press the reset button under the camera, Power the camera on, keep reset button pressed for 10 secs, let it go , wait 3 minutes for the setup to happen
  6. Power off camera
  7. remove SD card
  8. power Neos camera up
  9. try to add the fixed camera to the Neos Camera App

Enjoy...

Guys if you want to thank me, please visit https://www.brazilianchef.co.uk spread the word :-)

demo.zip

Worked for me! Thank you!!

@vaughaag
Copy link

@aqueiroz

@KeeerD you are welcome.

I would avoid updating the camera after using this fix, I think it might break it and you have to redo the firmware. I find it really annoying that the vendor doesnt share it. just glad i can help others!

cheers

Many thanks for posting the bin file. I have used to to get my camera working again after a failed firmware install.

I kept getting the below errors until I found your post. Its a shame you can't update the firmware from here but I guess I should be happy its working again
JPEG image 2
JPEG image 3

@highlander317
Copy link

Does the downgrade process still work? I don't use linux so don't know how to use the packer.py instructions, any help please?

@vaughaag
Copy link

vaughaag commented Aug 2, 2022

I'm not sure, I ended up binning mine as the camera was pretty useless.

@digiltd
Copy link

digiltd commented Aug 2, 2022

@highlander317 you mean restore the original firmware? Yeah still works, just follow the instructions here #964 (comment) your OS doesn't affect things

@illwrks
Copy link

illwrks commented Aug 24, 2023

If you have somewhow broken your Neos cam (in my case the default firmware would not work after using Dafang)
Disclaimer, Do it at your own risk. It worked for me, so should work for you!

  1. Download this file (its my demo.bin) the one i used to fix my camera! Thanks to @loglux for providing the firmware dump.
  2. format a SD card "fat32" is ok
  3. Copy the demo.bin file to the SD card
  4. insert the card to the Neos camera
  5. Press the reset button under the camera, Power the camera on, keep reset button pressed for 10 secs, let it go , wait 3 minutes for the setup to happen
  6. Power off camera
  7. remove SD card
  8. power Neos camera up
  9. try to add the fixed camera to the Neos Camera App

Enjoy...
Guys if you want to thank me, please visit https://www.brazilianchef.co.uk spread the word :-)
demo.zip

Just confirming that this still works in August 2023!

@highlander317
Copy link

Think I tried with the above method last August and couldn't get it to work, to get neos firmware back.
Sadly look like neos provide no support any longer, and appear to have walked away from the devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet