Runar's method is relevant for those sites that have an oembed endpoint that can be used. A different approach would be required for sites that do not provide an oembed endpoint (instead, they provide "replacement code" that you would need put in place) - in that case, you'd take advantage of _customEmbed in \IPS\Text\Parser
When I am looking at adding something like this, the first question I ask is "Does the source site have an oembed endpoint?" and I go from there. If it does, then I use my own app to add it in:
If it doesn't, then I throw together a new plugin using the _customEmbed method instead. And if I see something requesting the same on here then I add it in to the above application too.
Happy to throw a simple plugin together to help you out here.