Published on August 13, 2024 (about 1 month ago)

How Video Tap streamlined video processing with Mux

Dave KissStaci DeGagne
By Dave and Staci17 min readCustomers

Chris: I would like wake up and I would hear the, the like support chat sound notification from our website and go, Oh, great. I got to go fix like a video problem again. And it would just take up hours and minutes of my morning. Every morning. Mux enables us to not worry about all that junk anymore. And I can actually focus on our strengths, right? Like I can build cool things again.

Dave: Meet Chris Sev. He's the founder of Video Tap, a powerful app that makes repurposing video content easy and fast. Chris recently grabbed our attention when he tweeted about how a switch to Mux not only improved Video Tap's, video processing speed by 80%, it also made it much more reliable. In this chat, we'll talk about what his pain points were, how switching to Mux helped solve them. He'll share his insights on building apps in the crowded AI space, and more. Let's get into it.

Dave: We ripped out our old and buggy way of handling videos. Our new video processing pipeline is 80 percent faster and more reliable. Okay. This was a tweet that went out. Can you expand on that? Like how, how did you do that? Or what was the, what was the friction that you were running into? And then, how was that resolved on your side?

Chris: Yeah. So. I'll tell you the stack and then I'll tell you the friction. So the stack was we would upload videos and I did this because I just wanted to stay as cheap as possible. Video can get expensive pretty quickly, right? You all know. Uh, so we upload to CloudFlare R2. So that's kind of our main storage point there. If we had a user upload a video, we would also pass it to CloudFlare Stream. Which would encode it for us. And then we would kind of re upload it back to R2. That whole process sucked.

Chris: To generate the clipped sections of the video, because we generate clips. So basically if you're trying to clip like 30 seconds to one minute, right? Like a 30 second clip, we would pass it over to AWS MediaConvert. And that would grab the video from CloudFlare R2 and then like clip it at the right section. And then it would store that on S3. And then. I didn't want like two different storage locations. So then I would just move that over to R2. And then the last part of this is to render the clip. We're using a React package called Remotion to do all the video editing and, and clip rendering. So Remotion does the render on AWS Lambda.

Chris: There was like a hundred points where this thing could break and to debug it was just a mess every time. And it would always break. Like it got to the point where I just like almost quit the project. Cause I like didn't, I couldn't figure this whole thing out. Right.

Dave: So. When you're thinking about the, the changes that you made to the pipeline and it being eight, when you, I think it says 80 percent faster, was that like considering the development time or the, like the frustration or, or like the time to you actually shipping a feature? Or is that like, actually. Clip being made and generated is now like measurably faster as a result.

Chris: Yeah, no, it's, it's after a video is uploaded, how long does it take to become ready to be clippable? And then how long does it take to, to actually generate each clip? And both of those, I said 80 percent to be a little, I don't know, like conservative, but it really is like, 90 percent faster. My stack is Laravel and to do the whole change up was not that hard. Cause as soon as the video was added, I just have a chain of actions that happen and Mux did all that stuff and then it just sent back a webhook, which was really nice because none of the other things had webhooks so I was just like polling APIs over and over and over. And the code is just much simpler. Now it's very easy to understand the overall flow of how our project works.

Dave: Chris, maybe you can give us a quick tour of how Video Tap works under the hood.

Chris: Sure. So, I am on the Mux YouTube channel. Basically, pull the latest video, "Optimize your website's video for social media". Just grab the link here. If I go Add Videos, and I'm going to add from YouTube. We'll paste in that link. Okay. So, everything is good here. You click Start Processing. It jumps over here. And then, we do a couple steps here. As far as processing your video, this would take like estimated time here is one minute that actually is pretty close to accurate. Um, but before it was like, it's a four minute video, as you can see here, it would probably take us about like 15 minutes to process and people just, you know, want their content faster. Right. We have two split things happening at the same time. We have the video processing through Mux. We have. transcript generation done through Assembly.ai Assembly.ai. Assembly.ai is actually introduced a new model, made it super, super fast. Like you can transcribe a 10 minute video in three seconds, and now it's able to go generate title chapters, clips, blog posts, and all that.

Chris: So between Assembly and the Mux update, like these two things alone. Used to take 10 minutes on a four minute video and we're on this call. Like it's already done. It'll generate the clips and then it'll kick us over to the video page. But while that's working, let me jump into my Mux dashboard. Yeah. So before we would on this page, this Processing Video would be like a bunch of steps, it would basically upload the video to CloudFlare R2 as storage. Use that to send that video over to CloudFlare stream to encode it. And then we would re upload it back to R2, uh, and then delete it off of Stream to like save the money there. There's a lot of places where like I did stuff just to save money.

Chris: Looking back, it's like such a pain, but like it, I get why I did it, but it's gone. Now I don't have to do that stuff. So we're able to kind of get a title here, get your description, get your chapters. You know, AI hit or miss sometimes, but I think we've done a lot of work as far as like prompting design and just getting the correct information into the prompt that I think these chapters are pretty accurate. Uh, tags are pretty good too. Something that I want to do here is pull in from the YouTube API as well and see like current tags. I want to do generate titles and then compare across like different competitors type stuff. A lot of that's down the road, but I think that's going to be really helpful as far as like just being more competitive on YouTube SEO.

Chris: Summary, which a lot of people like, um, it can also lead into like podcast show notes, which is a feature that we're working on, but it's pretty close to this and a meta description for your blog post type stuff. So here's the blog post. And sometimes it gets a little wiry with these code blocks, but one of our cool features here is like, you can add a screenshot, uh, drop it in directly from a specific point of the video. Right. And that also was done with Mux, which made that like a two second process before we, what would we do? We would get the video from Cloudflare R2. We would use FFmpeg to screenshot that section that would create an image locally on our server. And then we would upload that to R2 as well. All gone, thanks to Mux.

Chris: I'm not even trying to like hype you guys up. It's just amazing. So this one turned out pretty good. Right. And a lot of the stuff here, uh, the next step for our blog post feature is giving you options to like tweak SEO keywords, to rank across different, uh, things, kind of like the tools you'd find at Ahrefs or, uh, SEMrush type stuff. So that's another thing down the pipeline. Um, A lot of things that I want to do that I haven't been able to do. Cause I'm out busy, like fixing video bugs, but you know, Mux is able to like, give me more time because all that's all that's fixed now. And I guess our big feature, nice, good screenshot, our big feature at the end is clips. We give you a title, kind of what's good about this clip. And then the specific text that you'll show in the clip. And so I think this is kind of like one of the "wow" moments that people see. And we give you a score on it.

Chris: I think there's a lot of people doing clips nowadays, as far as like the AI world, because I think there's like a lot of value in it. Descript's doing it. Like a lot of these big players are doing it where I want to differentiate here is. Better styles. I think we can do some really cool stuff. And then, uh, overall workflow, like it would be amazing. Like one of our goals here is to have a publish button and then you click publish and you see like the four clips that you have, and you can just drag and drop to like Monday at 10, Tuesday at like 11, uh, Thursday at whatever. And then just publish all four of these to like TikTok, Twitter, uh, LinkedIn and YouTube shorts, Instagram Reels, wherever, but do all that from, a couple of button presses.

Chris: So as far as style changes go, we have a couple of different like styling options. Um, yeah, you can edit your clip text. We're trying to write social media posts for these types of things. I think this thing can be like editable in the future and tweakable. And another thing we're working on, uh, is, uh, like match your tone. So if you connect your Twitter account and your social media accounts, we should be able to like look at your previous posts and match your style. And that's something that, uh, we now have more time to work on again. One of the cool things right here is this is the main video at 4:21 on the duration here. Right. And if you scroll in, we added the video at like 12:50:24 and it came, it was ready at 52. Right. So like 25 seconds, the first time I saw that was like the big point where I said, Oh, this actually can change a lot of our user experience. Each of the specific clips, all of these correspond to one of these on this page, right? Each of those clips, like they were pretty much ready in like ready to stream in two seconds and then ready to download in 20 seconds, right?

Chris: I get the appeal of building out your own workflow for video. Like I had a server that was just doing downloads and FFmpeg type stuff. There's just so much overhead in a lot of different areas that. If you're trying to build something amazing and something really cool, if that stuff is not your differentiating factor, don't do it.

Dave: Folks like you in a situation where you're trying to build something great, but starting from kind of nothing, like starting from scratch, we need to be there along with you, uh, along in that journey. That we have a, some infrastructure in place that solves all those pain points, but doesn't break the entire budget because you cannot invest entirely into any software out there without having your business model proven, right? So like, yeah, we, we have to have options available for folks that are in the exact position that, that you're describing.

Chris: Yeah. And you did it. Like I looked at it and immediately thought "no way that's real." And I think that's a good thing when you look at pricing. Which, which part, can you, can you go into a little more detail there? Like what plan did you end up choosing that's, that's fitting this particular use case? I'm on that, I think it's what, it starts at $10 a month and then it's like usage based after that. Got it. Is that right?

Dave: Yeah. Yeah. Nailed it.

Chris: Yeah. So for me, a lot of my use cases, clipping and, just video processing encoding at this point and not really streaming right most most of our people that generate clips they're gonna download them and upload them to social wherever they go So, you know not having any anything where we're paying for things that we'd like like, "oh darn, I wish I didn't pay for that." It's all like perfectly placed

Dave: what you consider for this This product isn't just what a lot of other people consider for an AI feature, which is like, throw it to an LLM. Uh, that's really like, we kind of take off the mask and what's happening under it all is like, all the hard work is happening on an LLM and that's all that we do. Uh, but that's not what you, you all do that. You, you all do a lot more than that. And where, where do you foresee standing out? Um, not only with your AI integration and implementation, but in the way that you talk about it in public, uh, with all of the other AI noise that's, that's out there right now.

Chris: Yeah, yeah, you know, AI is everywhere now. Like everybody's either creating something new with AI or integrating AI into something old. Right? So at this point, I like our, our URL used to be videotap.ai videotap.ai. And I deliberately said, no, let's go get videotap.com videotap.com because in a year from now, everything's going to be AI. So what does it matter? Right? I don't even want to put that really in our messaging anymore, because it's kind of assumed at this point. Like I don't care if it's AI. I just care that it made like good content at this point.

Chris: I saw a great tweet from Paul Graham and he said that for AI tools, your biggest differentiation isn't how you use an LLM, your moat, like your differentiator is always going to be integrations. So that's where we're leaning. Now that we're, we've, we're done building the core and especially with Mux, I'm, this is the first time I feel the core is stable of our foundation of what we've built. So now we can build on those integrations. And I think that's where. A lot of people should be looking at for their AI tools. If I have a 10 different Zapier zaps that are integrated across like my Google sheets, my like calendar, all these things. I'm not leaving Zapier. It's going to take me a long time. Right. That's the flow here. So a lot of our clients are marketing teams that want to use this. And they're, they're like really want that publishing feature. If we can streamline that whole flow for them, like they don't care if it's AI generated or not. They care that it like saved them that workflow.

Dave: It seems like, Chris, you, you spent a lot of time and investment on in the community in some way, whether that's just like building in public or sharing what you know, through tutorials or what you just learned or your experience, what, what value do you see in that? Does it, does it help or I won't even put words in your mouth? What do you see in the contributions out in the community on, on the internet?

Chris: Video Tap as, as a SAAS, it grew pretty quickly. And we're at a point now where I think the skillset that I had as far as just coding and just being like a little, you know, in the cave coding and just getting things out there and getting things done, it grew us to where we are today. But I think that the level where we're at, that just won't do the job anymore. I have to like, get out there, talk to people, be a little bit more proactive. And I think every company comes through this, like, "you have to talk about what you built" phase. If, if you're like proud of what you built, then why wouldn't you go out and like tell people about it? Right? And I don't necessarily excel at that. And I always think of Twitter as like a distraction. So there's a lot of times where I think that I'm wasting time out there, but.

Chris: Like seeing what other people are doing, being able to talk to you, being able to, you know, chat with other people that are building the same thing, have the same problems. I think if anything, it's just good to have the water cooler and talk to other people that have your problems. I haven't really tracked metrics on it and like, and I don't know if that's a hundred percent the way to look at it. Like, "Oh, you know, 50 people came from X this week, none of them converted. It's, it was a failure." It's, it's top of funnel, right? Like you can't really track how those people convert, but brand sentiment, how they feel about you, how I feel about Mux, right? Like it goes a long way, uh, that dev loveability.

Dave: Uh, louder for the people in the back. Um, anything else on your mind?

Chris: Always shout out my wife. She's fantastic. She, uh, just started a new blog called Richest You. She does a lot of like personal finance. So if you want to check that out, she's also in DevRel actually, and is a Video Tap user, the most critical Video Tap user. Like she's over here at like her desk and she'll just say, "Hey, why isn't this working?" And I'll have to like go over and she's like clicking a button that isn't, but should work. So that's, that's a great way to get feedback. yeah, I don't know. This was fun. Thanks for having me. I enjoyed implementing Mux, using Mux, and I'm excited for being able to build stuff again.

Dave: Let me ask you one last thing. Where can people learn more about trying out Video Tap or just about you on the internet?

Chris: Yeah, so videotap.com is the spot. We had to go bid for that domain to get the dot com, but we got it. Uh, And on Twitter, X: @chris__sev, chrissev was taken. But, those are the two big spots that you can find me in. That's really where I, like, make the most noise.

Dave: Awesome. Thanks Chris.

Chris: Thanks.

Written By

Dave Kiss

Was: solo-developreneur. Now: developer community person. Happy to ride a bike, hike a hike, high-five a hand, and listen to spa music.

Staci DeGagne

When not making videos at Mux, she’s working on indie film projects, exploring the bay area with the fam, checking out live comedy and always staying versed in the Bravoverse (aka trash tv).

Leave your wallet where it is

No credit card required to get started.