Embedding Multimedia - How does it work??

Embedding Multimedia - How does it work??

LiaScript has a new type of link. If you prefix a link in Markdown with an exclamation mark, then this link is marked as an image, and it gets embedded into the document. LiaScript had already two extensions for this, the question-mark is used to indicate audio (just think of an ear) and images with sound which are used as markers for video content.

![image](url)

?[audio](url)

!?[video](url)

One benefit of using this notation is, that this does not interfere with Markdown, the link is still valid and “clickable” in any other Markdown-viewer. This works pretty well, but from time to time it would be great if it would also be possible to embed different kind of external resources or entire websites, which cannot be associated to audio or video content.

In LiaScript we had extended the link annotation for two question-marks, which means: “I have no idea, please try to embed this content”. As shown in the demo below, this is treated like any other multimedia-link, and it can be used to create galleries as well.

To accomplish this, we currently use two different strategies:

  1. oEmbed
  2. IFrames

1. oEmbed

oEmbed is a format for allowing an embedded representation of a URL on third party sites. The simple API allows a website to display embedded content (such as photos or videos) when a user posts a link to that resource, without having to parse the resource directly.

This functionality is embedded as a standalone web component and can be found here . It basically goes like this: If an only if the provided URL matches one of the websites that provide an oEmbed-service, then this service is queried at first. The parameters send are the URL and the size of the screen. This can be seen as a simple question, where the LiaScript-interpreter asks: “What is the best way to embed this source” and the service-provider responds with an JSON that looks similar to the following one:

{
	"version": "1.0",
	"type": "photo",
	"width": 240,
	"height": 160,
	"title": "ZB8T0193",
	"url": "http://farm4.static.flickr.com/3123/2341623661_7c99f48bbf_m.jpg",
	"author_name": "Bees",
	"author_url": "http://www.flickr.com/photos/bees/",
	"provider_name": "Flickr",
	"provider_url": "http://www.flickr.com/"
}

The response contains either a URL that can be directly embedded, or it will respond with an "html" field that contains the required HTML tags to embed this content. Additionally, we use the thumbnails provided by this service within the gallery-view.

If there is no service-provider for the given URL, then LiaScript will try to embed the content as an IFrame.

2. IFrames

An IFrame is an HTML-tag that allows to embed other websites into the current site. This is also what you do, when you try to embed, for example, a YouTube-video manually. This embed-code is mostly an IFrame too. However, some sites might protect their content and will not allow embedding their content into the content of another website with another URL, which is known as CORS . Thus, you will have to check if your content will be embedded into LiaScript, if you are using a local editor or the dev-server to preview your course, this might work well, since most browsers ignore CORS on localhost. But, if your content is loaded from a website, this might not be the case anymore ;-)

oEmbed Service-Providers

date: 24/05/2022

#Provider NameURL
023HQhttps://www.23hq.com
1Abraiahttps://abraia.me
2ActBluehttps://secure.actblue.com
3Adilohttps://adilo.bigcommand.com
4Adwayshttps://www.adways.com
5afreecaTVhttps://www.afreecatv.com
6Altium LLChttps://altium.com
7Altruhttps://www.altrulabs.com
8amCharts Live Editorhttps://live.amcharts.com/
9Amtrakerhttps://amtraker.com
10Animatronhttps://www.animatron.com/
11Animotohttps://animoto.com/
12AnnieMusichttps://anniemusic.app
13Apesterhttps://www.apester.com
14ArcGIS StoryMapshttps://storymaps.arcgis.com
15Archivoshttps://app.archivos.digital
16Audioboomhttps://audioboom.com
17AudioCliphttps://audioclip.naver.com
18Audiomackhttps://audiomack.com
19Audiomeanshttps://audiomeans.fr
20Avocodehttps://www.avocode.com/
21Backtrackshttps://backtracks.fm
22Beautiful.AIhttps://www.beautiful.ai/
23Blackfire.iohttps://blackfire.io
24Blogcasthttps://blogcast.host/
25Bookingmoodhttps://www.bookingmood.com
26Box Office Buzhttps://boxofficebuz.com
27BrioVRhttps://view.briovr.com/
28Bumperhttps://www.bumper.com
29Buttondownhttps://buttondown.email/
30Byzart Projecthttps://cmc.byzart.eu
31Cacoohttps://cacoo.com
32Catapulthttps://www.catapult.app/
33CatBoathttps://img.catbo.at/
34Ceroshttps://www.ceros.com/
35Chainflixhttps://chainflix.net
36ChartBlockshttps://www.chartblocks.com/
37chirbit.comhttps://www.chirbit.com/
38CHROCOhttps://chroco.ooo/
39CircuitLabhttps://www.circuitlab.com/
40Cliplandhttps://www.clipland.com/
41Clyphttps://clyp.it/
42CoCo Corphttps://ilovecoco.video
43CodeHShttps://www.codehs.com
44CodePenhttps://codepen.io
45Codepointshttps://codepoints.net
46CodeSandboxhttps://codesandbox.io
47CollegeHumorhttps://www.collegehumor.com/
48Commafulhttps://commaful.com
49Coubhttps://coub.com/
50Crowd Rankinghttps://crowdranking.com
51Crumb.shhttps://crumb.sh
52Cueup DJ Bookinghttps://cueup.io
53Curatedhttps://curated.co/
54CustomerDBhttps://customerdb.com/
55dadanhttps://www.dadan.io
56Dailymotionhttps://www.dailymotion.com
57DALEXNIhttps://dalexni.com/
58Datawrapperhttps://www.datawrapper.de
59Deseret Newshttps://www.deseret.com
60Deviantart.comhttps://www.deviantart.com
61Didactehttps://www.didacte.com/
62Digitekahttps://www.ultimedia.com/
63DocDroidhttps://www.docdroid.net/
64Dotsubhttps://dotsub.com/
65Dream Brokerhttps://dreambroker.com
66DTubehttps://d.tube/
67eduMediahttps://www.edumedia-sciences.com/
68EgliseInfohttps://egliseinfo.catholique.fr/
69Embederyhttps://embedery.com/
70Embedlyhttps://api.embed.ly/
71Enystre Musichttps://music.enystre.com
72Ethfiddlehttps://www.ethfiddle.com/
73EventLivehttps://eventlive.pro
74evervizhttps://everviz.com
75Ex.Cohttps://ex.co
76Eyriehttps://eyrie.io/
77Facebookhttps://www.facebook.com/
78Faderhttps://app.getfader.com
79Faithlife TVhttps://faithlifetv.com
80Fireworkhttps://fireworktv.com/
81FITEhttps://www.fite.tv/
82Flathttps://flat.io
83Flickrhttps://www.flickr.com/
84Flourishhttps://flourish.studio/
85FOX SPORTS Australiahttps://www.foxsports.com.au
86FrameBuzzhttps://framebuzz.com/
87Framerhttps://www.framer.com
88Geograph Britain and Irelandhttps://www.geograph.org.uk/
89Geograph Channel Islandshttps://channel-islands.geograph.org/
90Geograph Germanyhttps://geo-en.hlipp.de/
91Getty Imageshttps://www.gettyimages.com/
92Gfycathttps://gfycat.com/
93Gifnotehttps://www.gifnote.com/
94GIPHYhttps://giphy.com
95GloriaTVhttps://gloria.tv/
96GMetrihttps://www.gmetri.com/
97Gonghttps://www.gong.io/
98Grainhttps://grain.com
99GT Channelhttps://gtchannel.com
100Gyazohttps://gyazo.com
101HASHhttps://hash.ai
102hearthis.athttps://hearthis.at/
103hihahohttps://www.hihaho.com
104HippoVideohttps://hippovideo.io
105Homeyhttps://homey.app
106HuffDufferhttps://huffduffer.com
107Huluhttps://www.hulu.com/
108Idomoohttps://idomoo.com/
109iFixithttps://www.iFixit.com
110IFTTThttps://www.ifttt.com/
111iHeartRadiohttps://www.iheart.com
112Incrediblehttps://incredible.dev
113Indacohttps://player.indacolive.com/
114Infogramhttps://infogram.com/
115Infoveavehttps://infoveave.net/
116Injurymaphttps://www.injurymap.com/
117Inoreaderhttps://www.inoreader.com
118inphoodhttps://inphood.com/
119Instagramhttps://instagram.com
120Insticator Inchttps://www.insticator.com/
121Issuuhttps://issuu.com/
122Jovianhttps://jovian.ai/
123KakaoTvhttps://tv.kakao.com/
124Kickstarterhttps://www.kickstarter.com
125Kidojuhttps://www.kidoju.com/
126Kirim.Emailhttps://kirim.email/
127Kithttps://kit.co/
128Kitchenbowlhttps://www.kitchenbowl.com
129kmdrhttps://kmdr.sh
130Knackihttps://jdr.knacki.info
131Knowledge Padhttps://knowledgepad.co/
132Kooapphttps://kooapp.com
133LearningApps.orghttps://learningapps.org/
134LeMans.Podhttps://umotion-test.univ-lemans.fr/
135Lille.Podhttps://pod.univ-lille.fr/
136Livestreamhttps://livestream.com/
137LottieFileshttps://lottiefiles.com/
138Ludushttps://ludus.one
139Lumierehttps://latd.com
140MathEmbedhttps://mathembed.com
141Matterporthttps://matterport.com/
142me.mehttps://me.me/
143MediaLabhttps://www.medialab.co/
144Medienarchiv der Künste - Zürcher Hochschule der Künstehttps://medienarchiv.zhdk.ch/
145Mermaid Inkhttps://mermaid.ink
146Microsoft Streamhttps://stream.microsoft.com
147Minervahttps://www.minervaknows.com
148MixCloudhttps://mixcloud.com/
149Moby Picturehttps://www.mobypicture.com
150Music Box Maniacshttps://musicboxmaniacs.com/
151myBeweeghttps://mybeweeg.com
152Namcheyhttps://namchey.com
153nanoo.tvhttps://www.nanoo.tv/
154Nasjonalbibliotekethttps://www.nb.no/
155Natural Atlashttps://naturalatlas.com/
156nfb.cahttps://www.nfb.ca/
157NFTNDX.IOhttps://www.nftndx.io/
158NoPastehttps://nopaste.ml
159Observablehttps://observablehq.com
160Odds.com.auhttps://www.odds.com.au
161Odesli (formerly Songlink)https://odesli.co
162Odyseehttps://odysee.com
163Official FMhttps://official.fm
164Omniscopehttps://omniscope.me/
165Omny Studiohttps://omnystudio.com
166Ora TVhttps://www.ora.tv/
167Orbitvuhttps://orbitvu.co
168Outplayed.tvhttps://outplayed.tv/
169Overflowhttps://overflow.io
170OZhttps://www.oz.com/
171Padlethttps://padlet.com/
172Panda Videohttps://pandavideo.com/
173Pasteryhttps://www.pastery.net
174PingVPhttps://www.pingvp.com/
175Pinpollhttps://www.pinpoll.com/products/tools
176Pinteresthttps://www.pinterest.com
177PitchHubhttps://www.pitchhub.com/
178Pixdorhttps://www.pixdor.com/
179Podbeanhttps://podbean.com
180Poll Daddyhttps://polldaddy.com
181Portfoliumhttps://portfolium.com
182Presenthttps://present.do
183Prezi Videohttps://prezi.com/
184Quiz.bizhttps://www.quiz.biz/
185Quizz.bizhttps://www.quizz.biz/
186RadioPublichttps://radiopublic.com
187Raindrophttps://raindrop.io
188rcvishttps://www.rcvis.com/
189Reddithttps://reddit.com/
190ReleaseWirehttps://www.releasewire.com/
191Replithttps://replit.com/
192ReverbNationhttps://www.reverbnation.com/
193Roomsharehttps://roomshare.jp
194RoosterTeethhttps://roosterteeth.com
195Rumblehttps://rumble.com/
196Runkithttps://runkit.com
197Saootihttps://octopus.saooti.com
198Sapo Videoshttps://videos.sapo.pt
199Screen9https://www.screen9.com/
200Screencast.comhttps://www.screencast.com/
201Screenrhttps://www.screenr.com/
202ScribbleMapshttps://scribblemaps.com
203Scribdhttps://www.scribd.com/
204SendtoNewshttps://www.sendtonews.com/
205ShortNotehttps://www.shortnote.jp/
206Shoudiohttps://shoudio.com
207Show by Animakerhttps://getshow.io/
208Show the Way, actionable location infohttps://showtheway.io
209Simplecasthttps://simplecast.com
210Sizzlehttps://onsizzle.com/
211Sketchfabhttps://sketchfab.com
212SlideSharehttps://www.slideshare.net/
213SmashNoteshttps://smashnotes.com
214Smemehttps://smeme.com
215Smrthihttps://www.smrthi.com
216SmugMughttps://www.smugmug.com/
217SocialExplorerhttps://www.socialexplorer.com/
218SoundCloudhttps://soundcloud.com/
219SpeakerDeckhttps://speakerdeck.com
220Spotifyhttps://spotify.com/
221Spreakerhttps://www.spreaker.com/
222SproutVideohttps://sproutvideo.com
223Stanford Digital Repositoryhttps://purl.stanford.edu/
224Streamablehttps://streamable.com/
225Streamiohttps://www.streamio.com
226Subscribihttps://subscribi.io/
227Sudomemohttps://www.sudomemo.net/
228Sutorihttps://www.sutori.com/
229Swayhttps://www.sway.com
230Sway Officehttps://sway.office.com
231Synthesiahttps://www.synthesia.io/
232TEDhttps://www.ted.com
233The New York Timeshttps://www.nytimes.com
234They Said Sohttps://theysaidso.com/
235TickCounterhttps://www.tickcounter.com
236TikTokhttps://www.tiktok.com/
237Toornamenthttps://www.toornament.com/
238Topyhttps://www.topy.se/
239Totangohttps://totango.com
240Trinity Audiohttps://trinityaudio.ai
241Tumblrhttps://www.tumblr.com
242Tuxxhttps://www.tuxx.be/
243tvcfhttps://tvcf.co.kr
244Twitterhttps://www.twitter.com/
245TypeCasthttps://typecast.ai
246Typloghttps://typlog.com
247UAPodhttps://uapod.univ-antilles.fr/
248University of Cambridge Maphttps://map.cam.ac.uk
249UnivParis1.Podhttps://mediatheque.univ-paris1.fr/
250Upec.Podhttps://pod.u-pec.fr/
251Ustreamhttps://www.ustream.tv
252uStudio, Inc.https://www.ustudio.com
253VeeR VRhttps://veer.tv/
254Versehttps://verse.com/
255VEVOhttps://www.vevo.com/
256Videfithttps://videfit.com/
257VidMounthttps://vidmount.com/
258Vidyardhttps://vidyard.com
259Vimeohttps://vimeo.com/
260Viouslyhttps://www.viously.com
261Vizydrophttps://vizydrop.com
262Vlipsyhttps://vlipsy.com/
263VLIVEhttps://www.vlive.tv
264Vouchhttps://www.vouchfor.com/
265VoxSnaphttps://voxsnap.com/
266Waltrackhttps://waltrack/net
267Wave.videohttps://wave.video
268wecandeohttps://www.wecandeo.com/
269Wiredrivehttps://www.wiredrive.com/
270Wistia, Inc.https://wistia.com/
271wizer.mehttps://www.wizer.me/
272Wokwihttps://wokwi.com
273Wolfram Cloudhttps://www.wolframcloud.com
274WordPress.comhttps://wordpress.com/
275YouTubehttps://www.youtube.com/
276Zeplinhttps://zeplin.io
277ZingSofthttps://app.zingsoft.com
278ZnipeTVhttps://www.znipe.tv/
279Zoomablehttps://zoomable.ca/

Related Posts

eLearning Africa 2023

Instant Creation & Publishing of Free and Open Online Courses with LiaScript LiaScript is a language-based approach to free and open education.

Read More

Import A-Frame 3D models, scenes, and more into LiaScript open-courSes

This blog entry presents an example of how to import A-Frame 3D models, scenes, and more into LiaScript open-courSes.

Read More

One Document - Multiple Representations

This is part one of a demo series that explains certain LiaScript design elements.

Read More