Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define ActivityPub represenation of an talk/event/lecture #735

Open
saerdnaer opened this issue Jan 10, 2024 · 0 comments
Open

Define ActivityPub represenation of an talk/event/lecture #735

saerdnaer opened this issue Jan 10, 2024 · 0 comments

Comments

@saerdnaer
Copy link
Member

saerdnaer commented Jan 10, 2024

As of now each item in voctoweb is only available in following representations:

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"
		}
	]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant