# 〜StreamUI: Make videos with SwiftUI

**URL:** <https://forums.swift.org/t/streamui-make-videos-with-swiftui/72822>\
**Category:** Community Showcase\
**Tags:** server, swiftui\
**Created:** [June 28, 2024, 9:41pm UTC](https://forums.swift.org/t/streamui-make-videos-with-swiftui/72822 "2024-06-28T21:41:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jonovono](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/jonovono/32/36156_2.png) [@Jonovono](https://forums.swift.org/u/Jonovono)\
**Post date:** [June 28, 2024, 9:41pm UTC](https://forums.swift.org/t/streamui-make-videos-with-swiftui/72822/1 "2024-06-28T21:41:59Z")

</div>

A few weeks ago I wanted to make some simple Tiktok videos for a project. I was using capcut but I wanted to pull in images and data from my db. I really didn't want to have to manually do this for each video (which was going to follow a similar format). Around this time I came across projects to programmatically generate videos in react/js ([https://www.remotion.dev](https://www.remotion.dev) and [https://re.video](https://re.video)). I tried them out but I thought it would more fun to use SwiftUI. So I decided to build a similar project using Swift and SwiftUI (For example, this video is made entirely with SwiftUI: [https://youtu.be/pdnPG4BywBQ](https://youtu.be/pdnPG4BywBQ))

After building a POC I realized I could render videos in real time whereas the other libraries suggest you use serverless functions to render your videos in a parallel way (since they are doing the rendering in a browser).

When I realized this, I then had a crazy idea that I could support live streaming. So, for example, you could have a live streamed video purely written in swift receiving events from the outside world, making calls to your database and updating the stream in realtime based on that data 🤯. I got it working with the HaishinKit library and I was live streaming a view in SwiftUI to my VLC (I'll put together a better example later but here is what I mean: [https://youtu.be/3nwJvGGJaXw](https://youtu.be/3nwJvGGJaXw))

Id love any feedback! Still very much in a beta, but i've used it to make some videos and personally I like the DX more than other libraries

[https://github.com/StreamUI/StreamUI](https://github.com/StreamUI/StreamUI)

I'm not sure how many will have use cases for this, but Remotion has 22k stars. (Obv I don't have all the functionality of it right now). But I feel like some pretty fun stuff could be built ;p

---

<div class="post-metadata">

**Author:** ![PatrickStar](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/patrickstar/32/20785_2.png) [@PatrickStar](https://forums.swift.org/u/PatrickStar)\
**Post date:** [July 5, 2024, 7:51pm UTC](https://forums.swift.org/t/streamui-make-videos-with-swiftui/72822/2 "2024-07-05T19:51:50Z")

</div>

This is fantastic, thank you for making this! Coming from the world of AVVideoComposition, it’s refreshing seeing a different way of laying out video content.
