Finally found my RTSP streams

ki9

n3wb
Jan 1, 2025
2
0
Antonito, Colorado, USA
I bought some cheap chinese IP cams on AliExpress. One is a KKMoon HL-200POE and the other is an AseCam. They both seem to be running the same firmware.

These cameras barely came with any instruction (just a quickstart guide). The only information supplied by the manufacturer was, basically, "use the app". Which will probably work until it EoLs in a year because they go out of business.

So here is some instruction if you bought one of these cameras and want to use it with your own NVR.

IP connection​


Firstly, they don't perform DHCP by default. Start by creating a static IP network 192.168.1.0/24 on your PC or spare router. Then you'll have to find the camera's hard-coded IP. Usually it's 192.168.1.2 or 192.168.1.10 or 192.168.1.100 but on these very special cameras it was .108 and .144. I'm not sure if those IPs were hard-coded or randomized but I had to find them with a portscan so if you haven't found your cameras IP yet, go ahead and read up on Host Discovery. If you have any time left over, write to the manufacturer and ask them nicely to default to DHCP.

Authentication​


The username and password for both cameras was admin / 123456.

Settings​


Once you have gotten in, turn on DHCP and reconnect to the camera over the address your router assigned. Now you can mess around with the settings, which are, honestly not-too-buggy. I installed software updates, set the system time, and then firewalled the cameras off from WAN. Nice try, China.

Stream URLs​


Finally, the hardest part (for me) was finding the RTSP streams. Every URL path I tried send me to the substream, which was nice, but not 1080p nice. I finally found the stream (for both cameras) at /stream1. I had to "reverse engineer" the firmware's javascript to figure that out; good thing it was unminified!

So the full URL (without authentication) is:

rtsp:/<IP>/stream1

And with authentication (enabled in the settings):

rtsp:/admin:12345@<IP>/stream1

/stream2 or any other path will produce the substream.

VLC​


Oh, one more thing: I wasn't able to get any of these streams to work in VLC out of the box. In this post, Bingo600 suggested it was a copyright issue:

Debian is allergic to "Non Opensource", so they & Ubuntu simply disabled RTSP in their packages.
Solution : Use the FlatPack VLC , that's build by the VLC team not Debian.
Windows VLC doesn't have this issue.

I got around this by using ffplay, which is part of ffmpeg.

ffplay -volume 0 -rtsp_transport tcp -i 'rtsp:/admin:12345@<IP>/stream1'

This will play it muted. For sound, remove the -volume 0 argument.
 
And one more thing: the UI will truncate your password to 15 characters without telling you.

So if you set the password to abcdefghijklmnopqrst, and then try to log in with that, it will error out. You will have to use abcdefghijklmno to log in.