4.7 KiB
4.7 KiB
Sources
★ = directly verified during this investigation (Oct 13, 2026). Unmarked items are leads not yet re-verified.
Government portals (catalog sources)
- ★
https://jakcctv.jakarta.go.id/publik— DKI Jakarta public CCTV portal. The page is a server-rendered paginator; the underlying data endpoint ishttps://jakcctv.jakarta.go.id/publik/data?q=&page=N, returning JSON{cards, pagination, count, total}. Each card embeds an iframe to a Bali Tower player (embed.html). 52 cameras listed at capture. - ★
https://bpjt.pu.go.id/cctv/— BPJT (Kementerian PU) toll-road page. Renders an inline JSON array of ~1,530 camera records directly in the page HTML: per-camstreamhls(HLS URL),bujt(operator tag),nama_km,lat,lon,status,updated_at. This is the single source for the toll layer. - ★
https://bekasikota.go.id/cctv— Kota Bekasi page. Consumeshttps://eofficev2.bekasikota.go.id/backupcctv/m3/list.json(24 entries:path,name,pic). Thumbnails hosted onpemkotbekasi.github.io/cctv_pic/(fronted by i0.wp.com). - ★
https://bsw.kotabogor.go.id/cctv— Kota Bogor "Bogor Single Window" page; per-camera detail pages at/cctv/<id>/detail(96 camera IDs observed). Detail pages embed datarhei Restreamer HLS. TCP-timeout from our network (likely geo/IP filtering); read via a reader proxy — see jabodetabek-cctv-live-data/methodology.
Stream servers by operator (what actually serves video)
- ★ DKI Jakarta —
dki-jkt.balitower.co.id:7028— Bali Tower (PT Bali Towerindo Sentra) custom stack,server: Streamer 26.04.1. fMP4 HLS (index.fmp4.m3u8, multi-track undertracks-v1/), ~7.5 s segments, separateembed.html"Live Player" page per camera. Camera paths encode the agency, e.g.501844_JKP_DISHUB_JL.-MH.-THAMRIN-C01_CCTV-01. - ★ Hutama Karya (HK) —
pub2.hk-opt.com(+pub.hk-opt.com) — Ant Media Server (/LiveApp/streams/<id>.m3u8), behind Cloudflare; 2.07 s segments. The operator's own CCTV portal isextern.hk-opt.com("CCTV External — Divisi OPT — PT Hutama Karya (Persero)"), plustraffic.hk-opt.com("SMARTCCTV"). - ★ Trans Bumi Serbaraja —
info.serbaraja-tollroad.co.id:20443— Ant Media Server; ~2 s segments. - ★ Cimanggis–Cibitung Tollways (CCT) —
streaming-cct.co.id— Ant Media Server. - ★ Cibitung–Tanjung Priok (CTP) —
cctv.ctptollways.com:2254— MediaMTX (server: mediamtx); master playlist →stream.m3u8. - ★ Jakarta Tollroad Development (JTD) —
camera.jtd.co.id— nginx + Express packager (X-Powered-By: Express);camera/share/tios/<a>/<b>/index.m3u8. - ★ Marga Mandalasakti (MMS) —
cctv.mms-corp.id— nginx HLS (<cam>/stream.m3u8,_seg<N>.ts). - ★ Kresna Kusuma Dyandra Marga (KKDM) —
cctv.kkdm.co.id— nginx + Express (api/cctv/<a>/<b>/index.m3u8,seg_<N>.ts). - ★ Jakarta Lingkar Baratsatu (JLB) —
cctvjorrw1.com— nginx HLS (e.g.KM/7+950B.m3u8), ~5 s segments. - ★ CMNP —
cctv.citramarga.com— Apache HLS (hls/cam3-…/stream.m3u8), ~1 s segments. - ★ Pemkot Bekasi —
eofficev2.bekasikota.go.id— nginx servingbackupcctv/m3/…(city e-office host). - ★ Pemkot Bogor —
restreamer{1,2,3,4,5,6}.kotabogor.go.id— datarhei Restreamer (memfs/<uuid>.m3u8; sub-playlists append a?session=token).
Not selected by the audited app but present on BPJT's page: Jasa Marga (jmlive.jasamarga.com, ~605 cams — manifest returns empty 200 from outside), Waskita (cctv.waskitabumiwira.com), BSD Toll (stream.bsdtol.com — datarhei, 502 at capture), PPTR (pptrlive.co.id — datarhei), and ~25 other hosts.
Site under study
- ★
https://transit.oyenza.com/cctv— "CCTV Jakarta Live" third-party map. Key surfaces:- static catalog:
/assets/asset-cctv-<hash>.json(fetched at runtime bycctv-<hash>.js) - playback: hls.js (lazy-loaded chunk) → directly loads each view's owner-hosted URL
- map: MapLibre with self-hosted tiles (
/tiles) - analytics:
/_e(POST events) - robots.txt:
Disallow: /
- static catalog:
- Related domains:
transit.vantis.sh(alias),vantis.sh— same developer, per the TransJakarta audit.
Context (third-party / first-party-adjacent)
https://smartcity.jakarta.go.id/en/blog/pantau-lalu-lintas-dan-keamanan-dengan-cctv-jakarta/— Jakarta Smart City blog listing Balitowerembed.htmllinks for city cameras (first-party-adjacent evidence that Balitower hosts DKI public camera streams).https://iameberhard.com/jakarta-camsand its blog post — independent dashboard over Balitower / LewatMana / ATCS feeds; names further aggregators (LewatMana,atcs-jakarta.com,atcs-bptj.dephub.go.id). Third-party; not re-verified here.