Delivering a Moonshot - Being the first company to use the new Amazon F1 Instance
Last Thursday 12/1 NGCodec presented at the AWS:ReInvent 2016 conference in Las Vegas and gave a live demo using the new AWS F1 Instance type. We also provided a quote for an Amazon press release and issued our own press release. The session was sold out and had around 350 seats, although some people did leave before I presented.
Four weeks ago Amazon told us confidentially they were going to launch an FPGA Instance and asked us if we would like to create a demo. The challenge was we had little time and we would be the first company to try to use the F1 Instance. We were told we could not tell our investors, including Xilinx, only employees who 'need to know'.
We came up with this 'Moonshot' demo idea:
Live in Las Vegas we would stream HD video in H.264 from an iPhone to the AWS EC2 F1 Instance in the 'us-east-1' data center. In the AWS data center we would decode the H.264 video and then send it to our RealityCodec running on the Xilinx FPGA where it would be re-encoded in H.265. We would then send the H.265 video back to a laptop on stage in Las Vegas. The laptop on stage would then use a software decoder to display in real time. The goal is to show how we could live transcode H.264 to H.265 and halve the bit rate at the same quality.
To deliver this demo was an amazing achievement by 3 different teams working together:
- The AWS F1 Infrastructure team primary located in Austin. They provided the Hardware Development Kit (HDK) and supported the NGCodec team.
- The NGCodec team ported our H.265/HEVC RealityCodec to the AWS F1 Instance and created a plug in for FFMPEG.
- The Cogniance professional services team who we hired to build the supporting cloud software infrastructure for the live transcoding demo. Initially they prototyped with x265 software encoding.
Below you can see a picture from the live demo. When the video from the session is posted I will add the session video below.
NGCodec 15m presentation starts at 28 minutes and 50 seconds into the video.
Just visible is my iPhone 7+ on the podium in front of the speaker. It is using the front facing camera to capture the speaker in HD. We used the BroadcastMe App to stream the HD H.264 footage to AWS. On the screen on the right you can see the output from the laptop. The video is using H.265 and if you look very closely you can see the NGCodec water mark below my head which is inserted by the FPGA RealityCodec.
A few hours before the scheduled demo time of 11.30am the demo was still not working. Our collective teams had been working night and day, Including Thanksgiving weekend to try to get it to work. Luckily in the final hours it started to work. Initially I got a single frame and then video a few hours later. It was an amazing achievement given the short amount of time and the early access to the F1 Instance type that we succeeded just in time.
Below you can see a picture of part of the NGCodec team working in our Lab, which was taken on the Thanksgiving weekend. If you look closely you can see an F1 Instance hardware board. Amazon Austin team was also working as we had many support calls with them over the weekend.
I would like to conclude by thanking the three teams for their incredible amount of passion and effort to ultimately deliver the worlds first demo on an Amazon F1 Instance.
P.S. If you want to learn more about the technical challenges then please leave a comment and we will try to write a new technical blog post.