# STEP 1 : Setting gstreamer environment

We will create devcontainer for working on your workspace and set Dockerfile for install environment package.

1. Open VScode and download extension remote-development & C/C++ package.

<div><figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1644999781704_extension2.jpg" alt=""><figcaption></figcaption></figure> <figure><img src="https://www.dropbox.com/paper/ep/redirect/image?url=https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1644999781728_extension1.jpg&#x26;hmac=1xS%2B17s4JvDeK1hwtxSO7cNUD6AA37%2FZokLMlrmgiaU%3D" alt=""><figcaption></figcaption></figure></div>

2\. After installation, we will create the directory name is “gst\_test” on your workspace.&#x20;

* Open terminal on VScode, Press Ctrl + Shift + \`&#x20;
* Create directory use linux command

```bash
$ mkdir gst_test && cd gst_test
```

3\. Clone Gst-Template from the command

```bash
$ git clone https://gitlab.freedesktop.org/gstreamer/gst-template && cd gst-template && code .
```

4\. After open the cloned gst-template, we will create the devcontainer for custom docker environment.

* a. Create new folder, Click the button on the below picture and sign folder name is “.devcontainer”.&#x20;

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645008904724_image.png" alt=""><figcaption></figcaption></figure>

* b. Save file in name devconntainer.json, Right click at .devcontainer folder and creater new file then set name “devcontainer.json”

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645008994533_image.png" alt=""><figcaption></figcaption></figure>

* c. Go to devcontainer.json and paste the below code and save file.

```json
{
    "name": "gst-devenv",
    "build": {
        "dockerfile": "Dockerfile"
    }
}
```

* d. Save file in name Dockerfile, Right click at .devcontainer folder and creater new file then set name “Dockerfile”

<div><figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645008994533_image.png" alt=""><figcaption></figcaption></figure> <figure><img src="https://www.dropbox.com/paper/ep/redirect/image?url=https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645009543990_image.png&#x26;hmac=%2FSNIvaVYybSUVWeiHI%2FjOOIz%2Bqp%2BUAE4ckX2Smrj6kI%3D" alt=""><figcaption></figcaption></figure></div>

&#x20;     e. Go to Dockerfile and paste the below code and save file.

5\. Enter to docker container, Press Ctrl + Shift + P and type “Remote containers: rebuild container”  and enter

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645011024625_image.png" alt=""><figcaption></figcaption></figure>

6\. Click show log on picture watching and wait until end download process

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645009770532_image.png" alt=""><figcaption></figcaption></figure>

7\. After Success process, That’s will show on below figure, Press the Ctrl + Shift + \` for enter to docker terminal&#x20;

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645010226827_image.png" alt=""><figcaption></figcaption></figure>

8\. we complete on prepare environment process for build.

<figure><img src="https://paper-attachments.dropbox.com/s_8D12BA9D3ACC276FE6456B192705A16DC9CD19AC9DCDCFFA08371C99F10A1BD1_1645010287738_image.png" alt=""><figcaption></figcaption></figure>
