IP camera Techage TA-XM-608GP-AI-30 (3MP)
Specifications
- Full AliExpress name: Techage H.265 3MP Two Way Audio POE IP Camera IP66 Waterproof Outdoor Video CCTV Security Surveillance Camera for POE NVR System
- Bought on AliExpress, at the time for $35 (shipped from EU warehouse)
-
Model:
Techage TA-XM-608GP-AI-30
-
Lens:
3.6 mm
- Power: either 12 V DC, or 48V PoE
-
Default login:
admin
/null
- Administration: requires Internet Explorer + ActiveX plugin
-
Resolution: on the sticker 3MP, but within the settings the highest resolution is actually 4MP at
2560x1440
(so something like 3.6 megapixels, also called 1440p or QHD) - Framerate: 1-25 fps (can be adjusted)
Worth mentioning
- This camera can do both H264 and H265 (HEVC) stream. When the codec is set to H.265X, the stream is actually x264 (and H265 is actual x265).
- The stream carries wrong aspect ratio metadata (should be 16:9, but it's actually 64:27). See
ffprobe
output bellow. Can be fixed without re-encoding, but it's annoying. - There is some (2-way) speaker that was always buzzing. I cut it off. NOTE: Other Techage camera was the same way, but only when powered on by 12 V. When powered over ethernet (POE) it was quited. So POE is preffered way of powering.
- Default IP is
192.168.1.10
with DHCP disabled.
RTSP stream URL for ZoneMinder or VLC:
rtsp://192.168.1.150:554/user=admin_password=tlJwpbo6_channel=1_stream=0&protocol=unicast.sdp?real_stream
Random settings:
# In-camera setting: "H.265X" + "4MP"
Video: h264 (High), yuvj420p(pc, progressive), 2560x1440 [SAR 4:3 DAR 64:27], 25 fps, 10 tbr, 90k tbn
# In-camera setting:"H.265" + "4MP"
Video: hevc (Main), yuvj420p(pc), 2560x1440 [SAR 4:3 DAR 64:27], 25 fps, 10 tbr, 90k tbn
# In-camera setting: "H.265X" + "3MP"
Video: h264 (High), yuvj420p(pc, progressive), 2304x1296 [SAR 4:3 DAR 64:27], 25 fps, 10 tbr, 90k tbn
Fixing the wrong aspect ratio without re-encoding
With ZoneMinder's pass-through recording, for some reason my camera's raw footage is saved with a 64:27 aspect ratio. This means that it is a bit more noodly than it should be. This is fairly easy to fix with ffmpeg:
ffmpeg -i in.mp4 -aspect 16:9 -c copy out.mp4
Since I couldn't get ZoneMinder to force this parameter (-aspect 16:9
) directly this as it saves the stream, I use this quick and dirty solution that runs via crontab every hour or so and fixes the recordings for me:
#!/bin/bash
# FIND ALL MP4 in /CCTV/1 OLDER THAN 60 MIN BUT YOUNGER THAN 4 HOURS (ASSUMING SCRIPT WILL RUN EVERY UNDE 4 HRS)
# CHECK WITH FFPROBE WHETHER THE FILE HAS BEEN FIXED YET
# IF NOT, FFMPEG WITH proper AR
CCTVDIR=/cctv/1
while IFS= read -r input; do
ffprobe "$input" &>/tmp/ffprobe-techage.txt
filecheck=$(cat /tmp/ffprobe-techage.txt | grep Stream | grep 16:9)
if [ -z "$filecheck" ]; then
echo "Recording "$input" needs to be fixed. Proceeding..."
oldname=$(basename "$input")
fixedname=fixed-$(basename "$input")
directory=$(dirname $input)
ffmpeg -i "$directory"/"$oldname" -aspect 16:9 -c copy "$directory"/"$fixedname" </dev/null
mv "$directory"/"$oldname" "$directory"/"$oldname".old
mv "$directory"/"$fixedname" "$directory"/"$oldname"
rm "$directory"/"$oldname".old
else
echo "Recording "$input" has been fixed already. Skipping..."
fi
rm /tmp/ffprobe-techage.txt
done < <(/usr/bin/find $CCTVDIR -name '*-video.mp4' -mmin +15 -mmin -1440 -type f)
Sample footage
Will add at some point. Overall very nice image for $35.
No Comments