Video workout programs
Generating a video workout program. In one aspect of the disclosure, a method may include capturing a first video that includes a depiction of a trainer performing a workout, combining the depiction of the trainer in the first video with a second video that moves through an environment to form a combined video in which the trainer appears to move through the environment; and encoding exercise machine control commands into a subtitle stream of the combined video to create the video workout program, execution of the video workout program on a first exercise machine configured to display the combined video and continually control one or more moveable members of the first exercise machine according to the exercise machine control commands.
1 . A method to generate a video workout program, the method comprising:
capturing a first video that includes a depiction of a trainer performing a workout;
combining the depiction of the trainer in the first video with a second video that moves through an environment comprising a path, to form a combined video in which the trainer appears to travel along the path of the environment, wherein the combining of the depiction of the trainer in the first video with the second video comprises combining, in real time, the depiction of the trainer in the first video with the second video as the trainer performs the workout;
encoding exercise machine control commands to accompany the combined video to create the video workout program, the video workout program configured such that execution of the video workout program on a first exercise machine displays the combined video and continually controls one or more moveable members of the first exercise machine according to the exercise machine control commands;
streaming the combined video live to the first exercise machine and a second exercise machine;
reaching a branch point in the path of the environment in the combined video, the path splitting into multiple branches at the branch point;
receiving feedback from a first user of the first exercise machine including a selection, by the first user, of a first branch of the multiple branches to travel along from the branch point;
causing, in response to the received feedback from the first user, the second video, in real-time, to move along the selected first branch from the branch point such that combining the depiction of the trainer in the first video with the second video, as the second video moves along the selected first branch, forms a first selectable portion of the combined video in which the trainer appears to travel along the selected first branch in the combined video on the first exercise machine;
receiving feedback from a second user of the second exercise machine including a selection, by the second user, of a second branch of the multiple branches to travel along from the branch point, the second branch being different from the first branch; and
causing, in response to the received feedback from the second user, the second video, in real-time, to move along the selected second branch from the branch point such that combining the depiction of the trainer in the first video with the second video, as the second video moves along the selected second branch, forms a second selectable portion of the combined video in which the trainer appears to travel along the selected second branch in the combined video on the second exercise machine, wherein the first selectable portion of the combined video is different from the second selectable portion of the combined video.
2 . The method of claim 1 , further comprising:
presenting, to each of the first user and the second user and prior to reaching the branch point, a message instructing each of the first user and the second user to select a desired branch of the multiple branches.
3 . The method of claim 2 , wherein presenting the message comprises:
presenting the message a pre-determined time prior to reaching the branch point.
4 . The method of claim 1 , wherein the trainer performs the workout using a trainer exercise machine, the method further comprising:
monitoring operating parameters of the trainer exercise machine during performance of the workout by the trainer; and
generating the exercise machine control commands to correspond to the depiction of the workout by the trainer and to cause the first exercise machine to implement at least some of the monitored operating parameters of the trainer exercise machine during execution of the video workout program on the first exercise machine.
5 . The method of claim 1 , wherein the trainer performs the workout using a trainer exercise machine and the second video that moves through the environment comprises a rendered video that moves through a virtual environment, the method further comprising:
monitoring a speed of the trainer exercise machine during performance of the workout by the trainer; and
synchronizing a speed at which the rendered video moves through the virtual environment with the speed of the trainer exercise machine.
6 . The method of claim 1 , wherein the capturing of the first video that includes the depiction of the trainer performing the workout comprises:
capturing the first video of the trainer performing the workout on a trainer exercise machine in front of a chroma key screen of a stage or a set.
7 . The method of claim 1 , further comprising:
encoding environmental control commands into a subtitle stream of the combined video, the environmental control commands configured to control one or more environmental control devices in a vicinity of the first exercise machine.