Added
library.item.downloadedevent on Jellyfin and Emby when a user downloads an item, from the server's activity log. Payload carriesuserId,itemId(absent on Emby, whose entry has none),itemName(the activity entry's name), andappanddeviceparsed from the entry's overview.- On Emby, the activity entry names the user by numeric internal id, so
library.item.downloadedlooks the user up and sends the same 32-character GUID that playback events carry.userIdis omitted when no user matches. download.transcodedevent on Jellyfin for clients that download at reduced quality through the stream endpoint, which logs no activity. A device session that transcodes without reporting playback for 20 seconds emitsphase: "started", andphase: "ended"when the transcode goes away. Payload carriesuserId,deviceId,itemId,bitrate,width,height,videoCodec,audioCodec,container,bytesTranscoded, andcompletionPercentage.itemIdandbytesTranscodedare read from Jellyfin's internal transcoding job list and are omitted if that read fails.