knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library("vembedr")
Embedding and customizing videos in RMarkdown documents might seem like a complex task. It need not be.
embed_url("https://www.youtube.com/watch?v=_fZQQ7o16yQ") %>% use_start_time("1m32")
Even the most seemingly-intractable issues can be brought into focus with a clarifying framework.
Above, we used an embed function followed by a use function.
Using embed_url(), you can create an embed object for any of these supported services, or you can use an id with a service-specific embed function:
embed_youtube()embed_vimeo()embed_box()embed_msstream()You can read more about these services in vignette("embed").
Once you create an embed object, you can modify it with use functions:
use_start_time()use_align(), use_rounded()use_bs_responsive()You can read more about these modifications in vignette("modify").
To align the video horizontally within its container, use_align():
embed_url("https://www.youtube.com/watch?v=uV4UpCq2azs") %>% use_align("center")
To add rounded corners, use_rounded():
embed_youtube("lGTEUtS5H7I") %>% use_rounded()
If your HTML file uses Bootstrap, and want to make the size responsive to the width of the container, use_bs_responsive():
embed_url("https://www.youtube.com/watch?v=H9KYQ_tnTtc") %>% use_bs_responsive()
For example this does not work in the R vignette, but it does work in the pkgdown site.
Just because a service publishes a video, this does not mean that you can embed it. For example, this is an amazing Otis Redding performance:
# does not embed, but you can watch it at Vimeo embed_vimeo("45157591")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.