This can be easily done using the grid component. When editing the template of the component, you can use a text shape to display HTML. This shape also allows the insertion of a column values from the current row in the text/html.
In my example, I start from a table that has a row for each possible video. I easily got these onto my dashboard using the JSON reader add hoc source. (Github, Catalog) Then I feed the selected query row of the table on top to the grid component. After that I configured the grid component with a text shape that contains a <video> HTML element. The source attribute of the video is replaced by the value in the 'Src' column of my selected row. After applying the correct grid layout, I got the result as you can see in the last Gif (the bad quality of the videos is due to the Gif compression used).