Skip to main content
View as Markdown

Server-Side Collection - Analytics

Server-Side Collection​

For backend systems that play or process video without a browser.

Use Cases​

  • Kiosks and digital signage — Display terminals playing video content
  • Set-top boxes — OTT/IPTV devices
  • Batch processing — Server-side video processing that should count in analytics
  • Mobile backends — Server-side proxy for mobile app analytics

Pattern​

# Generate a KS with userId for per-user attribution
KS=$(curl -s -X POST "$KALTURA_SERVICE_URL/service/session/action/start" \
-d "secret=$KALTURA_ADMIN_SECRET" \
-d "format=1" \
-d "type=0" \
-d "partnerId=$KALTURA_PARTNER_ID" \
-d "userId=kiosk-001@example.com" | tr -d '"')

# Report playback events via stats.collect
SESSION_ID="kiosk_$(date +%s)"

curl -s -X POST "$KALTURA_SERVICE_URL/service/stats/action/collect" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "event[objectType]=KalturaStatsEvent" \
-d "event[partnerId]=$KALTURA_PARTNER_ID" \
-d "event[entryId]=$KALTURA_ENTRY_ID" \
-d "event[eventType]=3" \
-d "event[sessionId]=$SESSION_ID" \
-d "event[eventTimestamp]=$(date +%s)" \
-d "event[referrer]=kiosk://device-001"

Include device context in the referrer field for analytics segmentation.