> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dfine.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Play out a finished file

> Stream a finished video file live into a Review room or to Streaming Classic with the Media Source of dfine.io Studio, looped if you like.

The **Media Source** row of dfine.io Studio plays a video file into the stream, for a screening of a finished cut or a loop before a session starts.

**You need** [dfine.io Studio](/en/apps/studio/index) and a Review room or a Streaming Classic stream.

## 1. Choose the file

<Steps>
  <Step title="Open the gear">
    In Studio's **Sources** panel, click the gear on **Media Source**. Until a file is chosen the row reads **No file chosen**.
  </Step>

  <Step title="Pick the file">
    Choose the file. Tick **Loop** if it should start over at the end.
  </Step>
</Steps>

## 2. Pick where it goes

<Tabs>
  <Tab title="dfine.io Review">
    In Review, open the room and create a source with the type **WHIP**, or use **Quick Create**. Click **Copy Stream Key**.

    In Studio's **Stream** panel, set **Destination** to **dfine.io Review**. **Server** reads **dfine.io Review · WHIP, fixed**. Paste the key into **Stream Key**.

    <Frame>
      <img src="https://mintcdn.com/dfineiogmbh/TIk8PW9uzEOCRyzW/images/apps/studio-stream-review.jpg?fit=max&auto=format&n=TIk8PW9uzEOCRyzW&q=85&s=b60ae3aef2b3c7d9b0392458112c1b8e" alt="The Stream panel with Destination set to dfine.io Review and a stream key pasted" width="1170" height="800" data-path="images/apps/studio-stream-review.jpg" />
    </Frame>

    Paste the key of a **WHIP** source. Review refuses the key of an RTMPS source, those are meant for hardware encoders. Where the key is: [stream key and server URL of a room](/en/review/find/stream-key).
  </Tab>

  <Tab title="dfine.io Streaming Classic">
    In Streaming Classic, open the stream slot and copy the **RTMPS** server URL and the stream key.

    In Studio's **Stream** panel, set **Destination** to **dfine.io Streaming Classic**. Paste the URL into **Server URL** and the key into **Stream Key**.

    <Frame>
      <img src="https://mintcdn.com/dfineiogmbh/TIk8PW9uzEOCRyzW/images/apps/studio-stream-classic.jpg?fit=max&auto=format&n=TIk8PW9uzEOCRyzW&q=85&s=eb21ea21d1e97614ffbee24da03c7fea" alt="The Stream panel with Destination set to dfine.io Streaming Classic, a server URL and a stream key" width="1170" height="800" data-path="images/apps/studio-stream-classic.jpg" />
    </Frame>

    Only `rtmps://` URLs work. Where both values are: [ingest URL and stream key of a slot](/en/streaming-classic/find/ingest-and-stream-key).
  </Tab>
</Tabs>

## 3. Start

Click the **Media Source** row to put it on air. Above the panels, **Pause** and **Stop** control the file, and the bar shows where it is. Click **Start Streaming**.

<Frame>
  <img src="https://mintcdn.com/dfineiogmbh/HOYw-46pLh91J7eM/images/apps/studio-review.jpg?fit=max&auto=format&n=HOYw-46pLh91J7eM&q=85&s=df59ade3af8bd2b0b85f6cd20e3a6548" alt="dfine.io Studio with Media Source on air and its playback controls above the panels" width="2360" height="1856" data-path="images/apps/studio-review.jpg" />
</Frame>

More help: [Streaming from dfine.io Studio](/en/troubleshooting/studio).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.