Define ActivityPub represenation of an talk/event/lecture
Opened this issue · 0 comments
saerdnaer commented
As of now each item in voctoweb is only available in following representations:
- https://media.ccc.de/v/37c3-12142-breaking_drm_in_polish_trains
- https://api.media.ccc.de/v/37c3-12142-breaking_drm_in_polish_trains aka https://api.media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338
Where the web version includes following in the head:
<script type='application/ld+json'>
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Breaking \"DRM\" in Polish trains",
"description": "We've all been there: the trains you're servicing for a customer suddenly brick themselves and the manufacturer claims that's because you...",
"thumbnailUrl": "https://static.media.ccc.de/media/congress/2023/12142-68160267-a6a5-4a41-8a51-d8735c8aa338_preview.jpg",
"uploadDate": "2023-12-28 00:00:00 +0100",
"duration": "PT3705S",
"publisher": {
"@type": "Organization",
"name": "media.ccc.de",
"logo": {
"@type": "ImageObject",
"url": "/apple-touch-icon.png",
"width": 180,
"height": 180
}
},
"contentUrl": "37c3-12142-eng-Breaking_DRM_in_Polish_trains.mp4",
"embedUrl": "https://media.ccc.de/public/oembed?url=https%3A%2F%2Fmedia.ccc.de%2Fv%2F37c3-12142-breaking_drm_in_polish_trains"
}
</script>
Peertube inspired:
{
"type": "Video",
"id": "https://media.ccc.de/v/37c3-12142-breaking_drm_in_polish_trains",
"uuid": "68160267-a6a5-4a41-8a51-d8735c8aa338",
"to": ["https://www.w3.org/ns/activitystreams#Public"],
"cc": ["https://social.media.ccc.de/accounts/37c3/followers"],
"name": "Breaking \"DRM\" in Polish trains",
"attributedTo": [
{"type": "Person", "name": "Redford", "id": "acct:redford@dragonsector.pl"},
{"type": "Person", "name": "q3k", "id": "acct:q3k@hackerspace.pl"},
{"type": "Person", "name": "MrTick"},
{"type": "Group", "name": "Dragon Sector", "id": "https://dragonsector.pl"}
],
"mediaType": "text/markdown",
"content": "We've all been there: the trains you're servicing for a customer suddenly brick themselves and the manufacturer claims that's because you've interfered with a security system.\n\nThis talk will tell the story of a series of Polish EMUs (Electric Multiple Unit) that all refused to move a few days after arriving at an “unauthorized” service company. We'll go over how a train control system actually works, how we reverse-engineered one and what sort of magical “security” systems we actually found inside of it.\n\nReality sometimes is stranger than the wildest CTF task. Reality sometimes is running `unlock.py` on a dozen trains.\n\nThe talk will be a mix of technical and non-technical aspects of analysis which should be understandable for anyone with a technical background. We’ll briefly explain how modern EMUs look like inside, how the Train Control & Monitoring System works, and how to analyze TriCore machine code.",
"duration": "PT3705S",
"originallyPublishedAt": null,
"published": "2023-12-28T00:00:00.000+01:00",
"updated": "2024-01-10T23:30:04.074+01:00",
"category": {"identifier": "13", "name": "Education"},
"licence": {"identifier": "?", "name": "CreativeCommons BY 4.0 DEED", "href": "https://creativecommons.org/licenses/by/4.0/"},
"language": {"identifier": "en", "name": "English"},
"subtitleLanguage": [
/* TBD */
],
"views": 87978,
"sensitive": false,
"isLiveBroadcast": false,
"commentsEnabled": false,
"downloadEnabled": true,
"tag": [
{"type": "Hashtag", "name": "37c3"},
{"type": "Hashtag", "name": "Hardware & Making"}
],
"icon": [
{
"type": "Image",
"url": "https://static.media.ccc.de/media/congress/2023/12142-68160267-a6a5-4a41-8a51-d8735c8aa338.jpg",
"mediaType": "image/jpeg",
"width": 400, "height": 225
},
{
"type": "Image",
"url": "https://static.media.ccc.de/media/congress/2023/12142-68160267-a6a5-4a41-8a51-d8735c8aa338_preview.jpg",
"mediaType": "image/jpeg",
"width": 1920, "height": 1080
}
],
"url": [
{
"type": "Link",
"mediaType": "text/html",
"href": "https://media.ccc.de/v/37c3-12142-breaking_drm_in_polish_trains"
},
{
"type": "Link",
"rel": ["metadata"],
"mediaType": "application/json",
"href": "https://api.media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338"
},
{
"type": "Link",
"mediaType": "video/mp4",
"href": "https://cdn.media.ccc.de/congress/2023/h264-hd/37c3-12142-fra-Breaking_DRM_in_Polish_trains.mp4",
"height": 1080,
"size": 587000,
"fps": 25
},
{
"type": "Link",
"mediaType": "video/mp4",
"href": "https://cdn.media.ccc.de/congress/2023/h264-sd/37c3-12142-eng-deu-fra-Breaking_DRM_in_Polish_trains_sd.mp4",
"height": 720,
"size": 71380357,
"fps": 25
},
{
"type": "Link",
"rel": ["metadata", "video/mp4"],
"height": 720,
"fps": 25,
"mediaType": "application/json",
"href": "https://media.ccc.de/public/recordings/72245"
}
…
],
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"pt": "https://joinpeertube.org/ns#",
"sc": "http://schema.org#",
"Hashtag": "as:Hashtag",
"uuid": "sc:identifier",
"category": "sc:category",
"licence": "sc:license",
"subtitleLanguage": "sc:subtitleLanguage",
"sensitive": "as:sensitive",
"language": "sc:inLanguage",
"isLiveBroadcast": "sc:isLiveBroadcast",
"liveSaveReplay": {"@type": "sc:Boolean", "@id": "pt:liveSaveReplay"},
"permanentLive": {"@type": "sc:Boolean", "@id": "pt:permanentLive"},
"Infohash": "pt:Infohash",
"Playlist": "pt:Playlist",
"PlaylistElement": "pt:PlaylistElement",
"originallyPublishedAt": "sc:datePublished",
"views": {"@type": "sc:Number", "@id": "pt:views"},
"state": {"@type": "sc:Number", "@id": "pt:state"},
"size": {"@type": "sc:Number", "@id": "pt:size"},
"fps": {"@type": "sc:Number", "@id": "pt:fps"},
"startTimestamp": {"@type": "sc:Number", "@id": "pt:startTimestamp"},
"stopTimestamp": {"@type": "sc:Number", "@id": "pt:stopTimestamp"},
"position": {"@type": "sc:Number", "@id": "pt:position"},
"downloadEnabled": {"@type": "sc:Boolean", "@id": "pt:downloadEnabled"}
}
]
}
Podcasting 2.0
TBD
Our current json representation in the public api:
{
"guid": "68160267-a6a5-4a41-8a51-d8735c8aa338",
"title": "Breaking \"DRM\" in Polish trains",
"subtitle": "Reverse engineering a train to analyze a suspicious malfunction",
"slug": "37c3-12142-breaking_drm_in_polish_trains",
"link": "https://events.ccc.de/congress/2023/hub/event/breaking_drm_in_polish_trains/",
"description": "We've all been there: the trains you're servicing for a customer suddenly brick themselves and the manufacturer claims that's because you've interfered with a security system.\n\nThis talk will tell the story of a series of Polish EMUs (Electric Multiple Unit) that all refused to move a few days after arriving at an “unauthorized” service company. We'll go over how a train control system actually works, how we reverse-engineered one and what sort of magical “security” systems we actually found inside of it.\n\nReality sometimes is stranger than the wildest CTF task. Reality sometimes is running `unlock.py` on a dozen trains.\n\nThe talk will be a mix of technical and non-technical aspects of analysis which should be understandable for anyone with a technical background. We’ll briefly explain how modern EMUs look like inside, how the Train Control & Monitoring System works, and how to analyze TriCore machine code.",
"original_language": "eng",
"persons": [
"Redford",
"q3k",
"MrTick"
],
"tags": [
"37c3",
"12142",
"2023",
"Hardware & Making",
""
],
"view_count": 87978,
"promoted": true,
"date": "2023-12-27T23:00:00.000+01:00",
"release_date": "2023-12-28T00:00:00.000+01:00",
"updated_at": "2024-01-10T23:30:04.074+01:00",
"length": 3705,
"duration": 3705,
"thumb_url": "https://static.media.ccc.de/media/congress/2023/12142-68160267-a6a5-4a41-8a51-d8735c8aa338.jpg",
"poster_url": "https://static.media.ccc.de/media/congress/2023/12142-68160267-a6a5-4a41-8a51-d8735c8aa338_preview.jpg",
"timeline_url": "https://static.media.ccc.de/media/congress/2023/12142-68160267-a6a5-4a41-8a51-d8735c8aa338.timeline.jpg",
"thumbnails_url": "https://static.media.ccc.de/media/congress/2023/12142-68160267-a6a5-4a41-8a51-d8735c8aa338.thumbnails.vtt",
"frontend_link": "https://media.ccc.de/v/37c3-12142-breaking_drm_in_polish_trains",
"url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_title": "37C3: Unlocked",
"conference_url": "https://media.ccc.de/public/conferences/37c3",
"related": [],
"recordings": [
{
"size": 600,
"length": 3705,
"mime_type": "video/webm",
"language": "eng-deu-fra",
"filename": "37c3-12142-eng-deu-fra-Breaking_DRM_in_Polish_trains_webm-hd.webm",
"state": "new",
"folder": "webm-hd",
"high_quality": true,
"width": 1920,
"height": 1080,
"updated_at": "2023-12-28T13:28:42.909+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/webm-hd/37c3-12142-eng-deu-fra-Breaking_DRM_in_Polish_trains_webm-hd.webm",
"url": "https://media.ccc.de/public/recordings/72249",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
},
{
"size": 276,
"length": 3705,
"mime_type": "video/webm",
"language": "eng-deu-fra",
"filename": "37c3-12142-eng-deu-fra-Breaking_DRM_in_Polish_trains_webm-sd.webm",
"state": "new",
"folder": "webm-sd",
"high_quality": false,
"width": 720,
"height": 576,
"updated_at": "2023-12-28T11:08:19.001+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/webm-sd/37c3-12142-eng-deu-fra-Breaking_DRM_in_Polish_trains_webm-sd.webm",
"url": "https://media.ccc.de/public/recordings/72247",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
},
{
"size": 277,
"length": 3705,
"mime_type": "video/mp4",
"language": "eng-deu-fra",
"filename": "37c3-12142-eng-deu-fra-Breaking_DRM_in_Polish_trains_sd.mp4",
"state": "new",
"folder": "h264-sd",
"high_quality": false,
"width": 720,
"height": 576,
"updated_at": "2023-12-28T10:18:49.116+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/h264-sd/37c3-12142-eng-deu-fra-Breaking_DRM_in_Polish_trains_sd.mp4",
"url": "https://media.ccc.de/public/recordings/72245",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
},
{
"size": 56,
"length": 3705,
"mime_type": "audio/mpeg",
"language": "deu",
"filename": "37c3-12142-deu-Breaking_DRM_in_Polish_trains_mp3-2.mp3",
"state": "new",
"folder": "mp3-translated",
"high_quality": false,
"width": 0,
"height": 0,
"updated_at": "2023-12-28T10:18:28.766+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/mp3-translated/37c3-12142-deu-Breaking_DRM_in_Polish_trains_mp3-2.mp3",
"url": "https://media.ccc.de/public/recordings/72244",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
},
{
"size": 37,
"length": 3705,
"mime_type": "audio/opus",
"language": "deu",
"filename": "37c3-12142-deu-Breaking_DRM_in_Polish_trains_opus-2.opus",
"state": "new",
"folder": "opus-translation",
"high_quality": false,
"width": 0,
"height": 0,
"updated_at": "2023-12-28T10:18:04.478+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/opus-translation/37c3-12142-deu-Breaking_DRM_in_Polish_trains_opus-2.opus",
"url": "https://media.ccc.de/public/recordings/72243",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
},
{
"size": 56,
"length": 3705,
"mime_type": "audio/mpeg",
"language": "eng",
"filename": "37c3-12142-eng-Breaking_DRM_in_Polish_trains_mp3.mp3",
"state": "new",
"folder": "mp3",
"high_quality": false,
"width": 0,
"height": 0,
"updated_at": "2023-12-28T10:16:10.363+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/mp3/37c3-12142-eng-Breaking_DRM_in_Polish_trains_mp3.mp3",
"url": "https://media.ccc.de/public/recordings/72239",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
},
{
"size": 38,
"length": 3705,
"mime_type": "audio/opus",
"language": "eng",
"filename": "37c3-12142-eng-Breaking_DRM_in_Polish_trains_opus.opus",
"state": "new",
"folder": "opus",
"high_quality": false,
"width": 0,
"height": 0,
"updated_at": "2023-12-28T10:15:50.875+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/opus/37c3-12142-eng-Breaking_DRM_in_Polish_trains_opus.opus",
"url": "https://media.ccc.de/public/recordings/72238",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
},
{
"size": 703,
"length": 3705,
"mime_type": "video/mp4",
"language": "eng-deu-fra",
"filename": "37c3-12142-eng-deu-fra-Breaking_DRM_in_Polish_trains_hd.mp4",
"state": "new",
"folder": "h264-hd",
"high_quality": true,
"width": 1920,
"height": 1080,
"updated_at": "2023-12-28T10:09:54.294+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/h264-hd/37c3-12142-eng-deu-fra-Breaking_DRM_in_Polish_trains_hd.mp4",
"url": "https://media.ccc.de/public/recordings/72232",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
},
{
"size": 587,
"length": 3705,
"mime_type": "video/mp4",
"language": "fra",
"filename": "37c3-12142-fra-Breaking_DRM_in_Polish_trains.mp4",
"state": "new",
"folder": "h264-hd",
"high_quality": true,
"width": 1920,
"height": 1080,
"updated_at": "2023-12-28T10:09:38.100+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/h264-hd/37c3-12142-fra-Breaking_DRM_in_Polish_trains.mp4",
"url": "https://media.ccc.de/public/recordings/72231",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
},
{
"size": 587,
"length": 3705,
"mime_type": "video/mp4",
"language": "deu",
"filename": "37c3-12142-deu-Breaking_DRM_in_Polish_trains.mp4",
"state": "new",
"folder": "h264-hd",
"high_quality": true,
"width": 1920,
"height": 1080,
"updated_at": "2023-12-28T10:09:22.984+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/h264-hd/37c3-12142-deu-Breaking_DRM_in_Polish_trains.mp4",
"url": "https://media.ccc.de/public/recordings/72230",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
},
{
"size": 587,
"length": 3705,
"mime_type": "video/mp4",
"language": "eng",
"filename": "37c3-12142-eng-Breaking_DRM_in_Polish_trains.mp4",
"state": "new",
"folder": "h264-hd",
"high_quality": true,
"width": 1920,
"height": 1080,
"updated_at": "2023-12-28T10:09:08.096+01:00",
"recording_url": "https://cdn.media.ccc.de/congress/2023/h264-hd/37c3-12142-eng-Breaking_DRM_in_Polish_trains.mp4",
"url": "https://media.ccc.de/public/recordings/72229",
"event_url": "https://media.ccc.de/public/events/68160267-a6a5-4a41-8a51-d8735c8aa338",
"conference_url": "https://media.ccc.de/public/conferences/37c3"
}
]
}