---
title: Streaming with AWS Media Services - Best Software Development Team Extension Partner for Nordics
description: Have you ever been curious about the inner workings of video streaming and how you can leverage AWS media services to create one. A stream of your own?
image: https://www.craftsmensoftware.com/hubfs/Imported_Blog_Media/live_stream.webp
---

[Skip to main content](https://www.craftsmensoftware.com/blog/streaming-with-aws-media-services#main-content)

[![Craftsmen-logo](https://www.craftsmensoftware.com/hs-fs/hubfs/Website%202.png?width=200&height=72&name=Website%202.png) ![Craftsmen-logo](https://www.craftsmensoftware.com/hs-fs/hubfs/Website%202.png?width=200&height=72&name=Website%202.png) ![Craftsmen-logo](https://www.craftsmensoftware.com/hs-fs/hubfs/Website%202.png?width=200&height=72&name=Website%202.png) ![Craftsmen-logo](https://www.craftsmensoftware.com/hs-fs/hubfs/Website%202.png?width=200&height=72&name=Website%202.png)](https://www.craftsmensoftware.com)

- [About us](https://www.craftsmensoftware.com/about-us)
- [Client Stories](https://www.craftsmensoftware.com/client-success-stories)
- [How We Work](https://www.craftsmensoftware.com/how-we-work)
- [Case Study](https://www.craftsmensoftware.com/case-study)
- [Blog](https://www.craftsmensoftware.com/blog)
- [Career](https://careers.craftsmensoftware.com/)

Open main navigation

Close main navigation

- [About us](https://www.craftsmensoftware.com/about-us)
- [Client Stories](https://www.craftsmensoftware.com/client-success-stories)
- [How We Work](https://www.craftsmensoftware.com/how-we-work)
- [Case Study](https://www.craftsmensoftware.com/case-study)
- [Blog](https://www.craftsmensoftware.com/blog)
- [Career](https://careers.craftsmensoftware.com/)
- [Get In Touch](https://www.craftsmensoftware.com/contact-us)

[Get In Touch](https://www.craftsmensoftware.com/contact-us)

## Streaming with AWS Media Services - Best Software Development Team Extension Partner for Nordics

![Streaming with AWS Media Services - Best Software Development Team Extension Partner for Nordics](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/live_stream.webp?width=1200&height=820&name=live_stream.webp)

Have you ever been curious about the inner workings of video streaming and how you can leverage AWS media services to create one. A stream of your own?

 

Lets create a video stream from a local machine to understand the process and how to use AWS Media Services for video streaming. This article will explain how to create a video stream using AWS Media services.

 

**Tools we will be using:**

1. [FFmpeg](https://johnvansickle.com/ffmpeg/)
2. [AWS MediaConnect](https://aws.amazon.com/mediaconnect/)
3. [AWS MediaLive](https://aws.amazon.com/medialive/)
4. [AWS S3](https://aws.amazon.com/s3/)

 

**What we need:**

1. A machine to run FFmpeg
2. A video file
3. VLC Media player (or any network streaming tool)

 

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/live_stream.webp?width=962&height=161&name=live_stream.webp)

 

4\. Video Streaming Overview

 

In this article we will be using a downloaded video file but you can also use any live camera feed directly into stream to show live feeds.

 

Let’s Start!

 

**STEP 1**

Go to **AWS Elemental MediaConnect** in console and create a new MediaConnect flow with below settings-

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-08-51-11.webp?width=619&height=368&name=Screenshot-from-2021-11-28-08-51-11.webp)

 

**AWS MediaConnect Source Detail**

Here we are using 0.0.0.0/0 (this is not recommended; you should always use your public ip/range) CIDR block to make the flow publicly accessible for this article. We are using SRT Listener. To know more about SRT [click here](https://en.wikipedia.org/wiki/Secure_Reliable_Transport#:~:text=Secure%20Reliable%20Transport%20is,by%20the%20application.%5B4%5D). We will be using inbound port 5555 to connect to this flow. After creating start the flow.

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-09-42-12-1024x543-1.webp?width=1024&height=543&name=Screenshot-from-2021-11-28-09-42-12-1024x543-1.webp)

A MediaConnect Flow with IP: 52.18.155.2 and Port: 5555

 

**STEP 2**

Now, Before Creating a MediaLive channel we need to create an IAM role and MediaLive input.

 

Create an IAM role with S3, MediaLive and MediaConnect full access (this just simplifies the role hunting).

 

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-10-54-29.webp?width=1024&height=460&name=Screenshot-from-2021-11-28-10-54-29.webp)

 

**IAM role policies**

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-10-54-47.webp?width=1024&height=227&name=Screenshot-from-2021-11-28-10-54-47.webp)

IAM Role Trust relationships

 

**STEP 3**

Create an s3 bucket (ex. **my-bucket**) and give public access to it so that we can use it publicly.

 

**STEP 4**

Now Go to MediaLive Inputs and create a new input with settings below:

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/255.webp?width=768&height=538&name=255.webp)

MediaLive Input Settings

 

We have selected input type MediaConnect and added our MediaConnect Flow and the IAM role in this MediaLive input.

 

**STEP 5**

After creating MediaLive input we will create a MediaLive channel. Attaching the input we have created earlier and the IAM role.

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/256.webp?width=872&height=405&name=256.webp)

MediaLive Channel Setting

 

**For this demo we will be using SINGLE\_PIPELINE.**

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-11-09-06.webp?width=545&height=278&name=Screenshot-from-2021-11-28-11-09-06.webp)

MediaLive Channel Setting

 

**Now add Output groups**

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-11-18-33.webp?width=862&height=639&name=Screenshot-from-2021-11-28-11-18-33.webp)

MediaLive Channel Output Group Setting

 

We have selected HLS output. As destination url we have used our newly created s3 bucket and we want our MediaLive output file named as index.

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-11-19-15.webp?width=862&height=664&name=Screenshot-from-2021-11-28-11-19-15.webp)

MediaLive Channel Output Setting

 

Now if we go to our MediaConnect and check output we will find a MediaLive output connected to our flow.

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-10-52-23.webp?width=1024&height=167&name=Screenshot-from-2021-11-28-10-52-23.webp)

MediaConnect Output

 

**STEP 6**

We need a sample video file we want to use and download [**FFmpeg**](https://johnvansickle.com/ffmpeg/) on our local machine.

 

To download FFmpeg: **wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz**

 

Unzip the [**FFmpeg**](https://johnvansickle.com/ffmpeg/) folder and use command **./ffmpeg -stream\_loop -1 -i \<video file path\> -f mpegts srt://\<ip\>:\<port\>** in terminal.

 

**Example:** **./ffmpeg -stream\_loop -1 -i /home/user/Downloads/test\_video\_file.mp4 -f mpegts srt://52.18.155.2:5555**

 

We are using **-stream\_loop** cause our sample video file too short so we are looping our file for continuous stream and since we declared SRT listener in MediaConnect we are using **srt://52.18.155.2:5555**

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-09-40-12.webp?width=1024&height=469&name=Screenshot-from-2021-11-28-09-40-12.webp)

After running FFmpeg command in terminal

 

*Note: Make sure you have started MediConnect and MediaLive and both are running.*

 

We will see something like this in MediaConnect

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/257.webp?width=1024&height=459&name=257.webp)

In MediaLive

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-10-51-56.webp?width=1024&height=182&name=Screenshot-from-2021-11-28-10-51-56.webp)

And in s3 bucket

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-09-58-38.webp?width=1024&height=492&name=Screenshot-from-2021-11-28-09-58-38.webp)

 

 

We will see an index.m3u8 file, it’s a playlist file generated by Medialive in our s3 bucket. Now if we copy the object url of this m3u8 file and start a network stream in our VLC player.

 

TADAAAAAAAAA………

**Thank you for reading!** 

 

Let’s show you a fun trick by adding a logo in live streaming- 

*Upload a logo in the bucket and copy the object url then follow the steps.* 

Got to MediaLive channel and select schedule

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-13-17-31.webp?width=1024&height=238&name=Screenshot-from-2021-11-28-13-17-31.webp)

 

Select settings below, add the logo url and create

![](https://www.craftsmensoftware.com/hs-fs/hubfs/Imported_Blog_Media/Screenshot-from-2021-11-28-13-13-01.webp?width=732&height=551&name=Screenshot-from-2021-11-28-13-13-01.webp)

MediaLive Schedule Settings

Here we go!

Video Streaming with Logo.

Special Thanks to [Sakibul Alam](https://www.craftsmensoftware.com/author/md-sakibul-alam/) for contributing and sharing AWS Media Service related knowledge.

![Israjur Rahman](https://www.craftsmensoftware.com/hs-fs/hubfs/Israjur%20Rahman.png?width=120&height=120&name=Israjur%20Rahman.png)

Author: **[Israjur Rahman](https://www.craftsmensoftware.com/blog/author/israjur-rahman)**  
 23/02/2019

 Software Development Engineer

![Hire AI-Native Engineers](https://www.craftsmensoftware.com/hubfs/Z63_3132.webp)

## Hire AI-Native Engineers

[![Book A Strategy Call](https://www.craftsmensoftware.com/hubfs/Book%20A%20Strategy%20Call.svg)](https://www.craftsmensoftware.com/contact-us)

### **About Craftsmen**

[The Team](https://www.craftsmensoftware.com/about-us)

[Our Partnership Model](https://www.craftsmensoftware.com/how-we-work)  
[Career](https://careers.craftsmensoftware.com/)

[FAQ](https://www.craftsmensoftware.com/frequently-asked-questions-faq)  
[Privacy Policy](https://www.craftsmensoftware.com/privacy-policy-best-software-development-company-in-bangladesh) 

[Craftsmen LinkedIn Page](https://linkedin.com/company/craftsmensoftware)   [Craftsmen Facebook Page](https://www.facebook.com/craftsmenltd/)   [Craftsmen Youtube Page](https://www.youtube.com/@craftsmensoftware)

### **Headquarter**

**Craftsmen UK**  
One Sovereign Quay, Bridge End, Leeds, West Yorkshire LS1 4AG United Kingdom 

**Operational Hub

Craftsmen Bangladesh**  
Plot # 316, Lane # 4, DOHS Baridhara,

Dhaka - 1206, Bangladesh

### **Sales & Partnership Offices**

**Craftsmen Norway**  
Kong Oscars gate 66, 68, 5017 Bergen, Norway

**Craftsmen France**  
6 Avenue Pierre Grenier, 92100 Boulogne-Billancourt, Paris, France

### **A Team You Can Trust**

#### [![ISO Certificates New](https://www.craftsmensoftware.com/hs-fs/hubfs/ISO%20Certificates%20New.png?width=300&height=96&name=ISO%20Certificates%20New.png)](https://www.craftsmensoftware.com/trust-centre)

[![glassdoor (1)](https://www.craftsmensoftware.com/hs-fs/hubfs/glassdoor%20(1).png?width=110&height=79&name=glassdoor%20(1).png)](https://www.glassdoor.com/Overview/Working-at-Craftsmen-EI_IE3004266.11,20.htm) [![goodfirms.co](https://www.craftsmensoftware.com/hs-fs/hubfs/goodfirms.co.webp?width=110&height=95&name=goodfirms.co.webp)](https://www.craftsmensoftware.com/blog/craftsmen-thrives-at-goodfirms-by-offering-scalable-robust-software-solutions-developed-with-quality-by-maestros)

 

 © 2026 Craftsmen. All rights reserved.

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Israjur Rahman",
    "url" : "https://www.craftsmensoftware.com/blog/author/israjur-rahman"
  },
  "dateModified" : "2026-04-30T10:03:51.476Z",
  "datePublished" : "2019-02-22T22:30:00.000Z",
  "headline" : "Streaming with AWS Media Services - Best Software Development Team Extension Partner for Nordics",
  "image" : [ "https://www.craftsmensoftware.com/hubfs/Imported_Blog_Media/live_stream.webp" ],
  "mainEntityOfPage" : {
    "@id" : "https://www.craftsmensoftware.com/blog/streaming-with-aws-media-services",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://www.craftsmensoftware.com/hubfs/Craftsmen%20Logo_Black.png"
    },
    "name" : "Craftsmen Ltd."
  }
}
```

```json
{
  "@context" : "https://schema.org",
  "@type" : "SoftwareCompany",
  "address" : [ {
    "@type" : "PostalAddress",
    "addressCountry" : "Norway",
    "addressLocality" : "Oslo"
  }, {
    "@type" : "PostalAddress",
    "addressCountry" : "United Kingdom",
    "addressLocality" : "London"
  }, {
    "@type" : "PostalAddress",
    "addressCountry" : "France",
    "addressLocality" : "Paris"
  }, {
    "@type" : "PostalAddress",
    "addressCountry" : "United States",
    "addressLocality" : "New York"
  }, {
    "@type" : "PostalAddress",
    "addressCountry" : "Bangladesh",
    "addressLocality" : "Dhaka"
  } ],
  "areaServed" : [ {
    "@type" : "Country",
    "name" : "Norway"
  }, {
    "@type" : "Country",
    "name" : "Sweden"
  }, {
    "@type" : "Country",
    "name" : "United Kingdom"
  }, {
    "@type" : "Country",
    "name" : "France"
  }, {
    "@type" : "Country",
    "name" : "United States"
  }, {
    "@type" : "Country",
    "name" : "Bangladesh"
  } ],
  "description" : "Trusted AI-native engineering partner providing software team extension, IT staff augmentation, and dedicated developer teams globally.",
  "logo" : "https://www.craftsmensoftware.com/hubfs/logo.png",
  "name" : "Craftsmen Software",
  "url" : "https://www.craftsmensoftware.com"
}
```