Hello everyone, welcome to This is My Architecture.
I'm Jayson from AWS,
and next to me here is Jessica from Public TV.
Hi, Jayson. Thanks for inviting me.
I'm thrilled to come and share our solution.
Welcome! Can you tell us what Public TV does in Taiwan?
OK. Public TV is a TV station funded by tax income.
We belong to all Taiwanese,
and are the only one of the sort.
We've been playing a pioneer role the whole time.
For example, we started to promote the 4K content a while ago.
We also established a video platform called VOD in 2017,
and that's when we started to use Cloud services from AWS.
Understood. I know that Public TV has its own converting service Appliances
and then you started to consider using the services from AWS.
Can you tell us why?
What was the background for the change?
Like I said, we've been doing 4K audio content all along,
but we've encountered many problems doing 4K content converting
because Public TV had only one or two converting systems
and few staff. So when we did manual converting, time was tight.
That's why we studied AWS services
and found out such a system can help us to do the converting.
And we found that the converted file size was much smaller,
therefore users will not have frozen screens when watching stuff online.
It also reduces demand on manpower.
Because converting features like MediaConvert
can scale out to many machines,
so when we need to convert lots of files in one go,
it can be done really fast.
Sounds like you used QVBR feature from MediaConvert and the Accelerate feature.
Here is a solution architecture, can you explain your converting workflow?
Sure. I'll explain it briefly.
So, we are a content provider,
and we use one of your services launched last year
called Transfer for SFTP.
We use this system to upload resource to S3.
So the resource will be uploaded to S3.
Then we'll start to convert the resource
through the transcoding workflow.
First, we'll start the Step Function,
after it's started
it triggers Lambda
telling us that there is information,
and through the Slack function it tells the engineer
that one or more files have come into our workflow
and are ready for converting. At this time, the Step Function
will trigger MediaConvert function to
start the converting.
If there are a lot of 4K content,
it will turn on more machines to do the converting.
Once the process is completed,
it tells Lambada that the content is successfully converted.
Once the converting is successfully done, the system can start its next move.
Since on our content platform, we actually have to
name the content in another form in order to upload it,
so we rename the resource through Lambda,
as well as move the resources and upload them to S3,
and then from S3 to CDN, and then from CDN to internet where viewers
can stream and watch.
I understand that Public TV also faces some special situations
like the content has blank screens sometimes
and to solve this, you also use MediaConvert for auto-editing.
Can you also explain this workflow?
OK. Actually, MediaConvert has an editing function.
We use API gateway to
send Time Code information to Lambda,
it actually triggers Lambda to start,
and then Lambda triggers MediaConvert function to
edit the blank segment. Usually there are three segments
and there is no need for human intervention.
After it automatically removed all the blank segments,
it sends the completed file in the whole to S3 from here.
It is then put back into the Bucket where files that are ready for auto converting are supposed to be,
and then go through the previous workflow to send to all the users.
It actually goes back to the automatic workflow
after being edited by MediaConvert.
These two steps can both be done very quickly. Understood.
I also heard that Public TV is doing live streaming now.
Before you introduced Media Service,
you were using media service built on EC2 to convert resource.
When you discovered that the resource was not enough
and it was really inconvenient to manage those EC2 by yourselves,
you began to use MediaStore to do live streaming at the same time.
Can you also roughly explain how this flow works?
Ok. Just like you said, we faced problems.
So later, we actually used encoder to
upload HLS files to
MediaStore directly.
MediaStore is a function of AWS too.
It can be scaled out. So when the number of viewers is large,
say during a baseball game or a live streaming from the president etc,
there will be like 10,000 people flocked online,
it will just scale out and then through CDN all along
to the internet viewers at the end.
I see. So MediaStore has become some sort of a origin for CouldFront.
When there is a CacheMiss, it can also go to MediaStore quickly and grab the content from cache
and take care of the scaling-out at the same time. That's right.
Understood.
Lastly, let's talk a little about this hit TV series.
Before the last two episodes were formally released, the resource was leaked.
Some suspected whether the resource was leaked from AWS.
Can you tell us more about the whole story?
Sure. The time was when the TV series was coming to the end,
the most exciting time to viewers. Public TV did not release the resource yet, but we found it was leaked out.
You could watch it on 3rd party platforms.
By that time, we suspected it was our own platform that leaked it out.
And then we ruled out the suspicion by checking logs on S3,
which showed that within that week,
or previous weeks,
no resource was ever leaked during that period of time.
So we excluded this possibility very quick.
That shows how important logs are.
It helps you to exam if there are problems on steps of the flow.
Right. Logs are usually not very fast.
You can also get complete logs on S3.
Understood. To some degree, it allows the whole architecture to be as automatic as possible.
And with as little human factor as possible to avoid leakage, right?
Correct. Because of this accident,
we started to think of automating everything to avoid human intervention.
And we hope, by using Cloud technologies,
we can realise all-around automation.
I really look forward to seeing Public TV's development on AWS.
Thank you.
Thank you Jessica for joining us today.
And thank you for watching today's This is My Architecture.