FIGS. 7A-7G illustrate various example encodings that can be used by encoder 530 to generate a data stream, such as data stream 622 or 632 described above, that includes both a first video asset and a second video asset. As described above, media player application 560 can decode the data stream, select the desired video asset from the decoded data stream, and render that video asset to a display while disregarding the unselected video asset. While not shown in FIGS. 7A-7F, audio assets or other assets may be encoded with the first and second video assets in the data streams shown in the figures. The examples shown in FIGS. 7A-7F can include composed videos, such as described above, where the composed videos comprise time-matched frames from two or more video assets; the frames are scaled and positioned in the composed video, which is encoded by encoder 530.
In the example data stream shown in FIG. 7A, a composed video 710 comprises a first video asset 712 and a second video asset 714, where the height h1 of the first video asset 712 (e.g., portrait orientation) equals the width w2 of the second video asset (e.g., landscape orientation). For example, the first and second video assets may have inverse aspect ratios, such as 16:9 and 9:16. In this example, encoder 530 can generate data stream 622 by encoding a version of the second video asset 714 that is rotated 90 degrees with respect to the first video asset 712, such that the rotated asset 714 can be positioned horizontally adjacent to asset 712 as shown in the figure.