11 ms·
Show HN: A video editing SDK that runs in the browser
Hello HN,
Video content is more popular than ever, but the toolkit for creating such content is a bit behind. You usually have to rely on a server for rendering whenever you want to create a video editing project in the browser. This means uploading content to a server, coding complex filters and effects, and more.
My friend and I spent a year developing an SDK that handles all these complexities and offers an easy-to-use interface for developers. The SDK works entirely in the browser, manages memory efficiently so it can run even on a 7-year-old Android device, supports GLSL effects and transitions, handles captions, and much more.
We also created a custom video editor UI interface using the SDK to showcase its speed and flexibility. You can see the video editor embedded on our landing page: https://rendley.com https://rendley.com.
As for the tech stack, the SDK was built using TypeScript, Pixi.js, C++, FFmpeg WASM, and WebCodecs. The UI interface was created using Stencil.js and MobX.
The SDK is called Rendley SDK and it is live on npm: https://www.npmjs.com/package/@rendley/sdk https://www.npmjs.com/package/@rendley/sdk
To get started, follow this guide: https://docs.rendley.com/installation https://docs.rendley.com/installation
If you want to embed the pre-made interface, follow this guide, it’s literally a few lines of code: https://docs.rendley.com/video-editor https://docs.rendley.com/video-editor
If you have any questions about the product or any feedback, feel free to write them below, and I’ll be more than happy to answer them.
- ComputerGuru 2y agoI’ve been using the ffmpeg wasm library directly for a couple of years now and it’s working OK in production though it has a number of critical issues that don’t show up except in heavy testing with a wide variety of inputs and outputs. Note that a lot of the ffmpeg code is not memory safe and some of the file/codec plugins contain memory errors. An out-of-bounds read or write will bring down the entire wasm subsystem (and does). You have to manually figure out which codecs are actually safe to use in the browser, vs which ones are merely exposed by the ffmpeg wasm builds.
- bgrigore 2y agoYes, you are absolutely correct. It’s not sufficient to only use ffmpeg.wasm and pass string arguments. There have been many use cases where we needed to use libav to implement workarounds.
- jonplackett 2y agoAre there any patent issues with mp4 you had to worry about?
- bgrigore 2y agoYes, we have used a free and open-source alternative to h264 to avoid it
- jonplackett 2y agoWhat is it you have used?
- jitl 2y agoWhat is the pricing? I scrolled to the pricing section, but it doesn’t actually say the price for any of the plans. I’m using an iPhone 15 Pro Max. I’m not going to fork over my email address to see a price.
- shreddit 2y ago[flagged]
- duped 2y agoIt's a strategy for avoiding signups from users that are unlikely to convert to sales. In the early stages of finding product-market-fit flexibility in pricing and limiting users to people that are strongly aligned with what you're doing can be pretty effective at figuring out how the product should look and be priced once you're ready to scale out to any users.
- bgrigore 2y agoThe pricing isn’t displayed on the website because there isn’t a one-size-fits-all model. However, you can still try it for free, and the website allows you to create a free license.
- burnte 2y ago> The pricing isn’t displayed on the website because there isn’t a one-size-fits-all model So how about listing the different sizes for people to see?
- jahewson 2y agoThis is really something you only do if you have a sales team. If you’re doing sales-led growth then you’re probably not going to benefit from Show HN and Product Hunt, unfortunately (with those being product-led growth). If you’ve not decided which of those two growth models you’re using I’d recommend choosing - you can only do one well. You need a sales team or a price.
- jonplackett 2y ago
- elintknower 2y agoIs this using ffmpeg wasm?
- bgrigore 2y agoYes, it's ffmpeg.wasm with some modifications. We also implemented some of the functionality using libav directly.
- samradelie 2y agodid you use WORKER_FS to get around the 4GB limit? Years ago I was playing with this and encountered issues with large files.
- jonplackett 2y agoHow are you dealing with mp4 encode patents. Is there any issue with those? I remember that being a problem at some point. Someone correct me if this is no longer an issue.
- FireInsight 2y agoCan't log in; user already exists.
- bgrigore 2y agoI have responded to your support ticket. Please let us know if you would like any further actions to be taken.
- sberder 2y agoI'm wondering about the claim of open source when there are no public repositories in your github account...
- bgrigore 2y agoYes, there are none at the moment, however, we plan on open-sourcing filters, effects, transitions, and components needed to build UI interfaces faster.
- strongpigeon 2y agoThe product looks pretty good, but it feels a bit "bait-and-switch"-y to put "Open Source" on the landing page when it really isn't.
- sberder 2y agoYour website says that the client is open source which is patently false, maybe update that claimed there. Edit: it was updated and now mentions forking modules but still no public repositories.
- efilife 2y agoThis is ridiculous
- efilife 2y agoSo why are you lying?
- deleted 2y ago[deleted]
- truckerbill 2y agoWhat are you using Pixi.js for in this case? Good luck with the launch!
- bgrigore 2y agoThanks! We are using Pixi.js to create the composition on the WebGL canvas
- justusm 2y agoThis is really cool - I'm currently building something similar (open source) with Revideo (https://github.com/redotvideo/revideo https://github.com/redotvideo/revideo) - we also build on top of the webcodecs API, the only part of the export that is still done on the server is audio processing. It seems pretty unconventional to offer an sdk where people have to enter a license key, but I understand that it's hard to monetize differently when one of your key features is that you want to enable client-side rendering (not saying that this is bad - I relate to the challenge since we are offering a cloud rendering service and at some point when webcodecs is supported in all browsers, it might make sense to run revideo purely on a client device as well).
- bgrigore 2y agoThanks! I checked out revideo a while ago, and you guys are doing a fantastic job! I don’t think it’s unconventional for SDKs to require a license key. It's a common practice for many products. To address the use case where WebCodecs is not available, we’ve implemented a rendering mechanism based on FFmpeg. Although it’s slower, it does the job (It's not enabled in the current version of the package) Cloud rendering is a great approach for certain scenarios, and we also plan to support that option in the future.
- justusm 2y agoThanks a lot, really appreciate it! Re pricing: this might be my own ignorance then. I will definitely follow you guys, I'm curious how rendley will develop :) Good luck!
- deleted 2y ago[deleted]
- nikshepsvn 2y agohow does revideo compare/differ to remotion?
- justusm 2y agoHey! I'm pasting a slightly modified comment from our previous Show HN (https://news.ycombinator.com/item?id=40646741 https://news.ycombinator.com/item?id=40646741), where I explained this in detail: Revideo is different to Remotion.dev in a couple of ways: First, we use generator functions to describe the flow of animations - every yield within the generator function corresponds to a frame in the video. As a result, our API is very imperative (animations described at the start of the function appear in the start of the video, animations described at the end appear at the end). Remotion's React-based approach is rather declarative - it gives you a frame number and lets you describe what your video should look like as a function of the frame number. Personally, we find our "procedural" API a bit more intuitive and easier to write than the declarative approach, but we might obviously be biased here. Secondly, we render to the HTML canvas instead of the DOM. Both have advantages and disadvantages: Rendering to the DOM lets you define animations using CSS, which most programmers are already familiar with. On the other hand, an advantage of using the HTML canvas is that it should allow you to render entirely in the browser rather than using server-side rendering, as you can simply capture the current canvas using canvas.toBlob(). We have not yet implemented this for Revideo, but people in our Discord server have made good progress towards it. Also, capturing the frame for videos is a bit faster than screenshotting it (as Remotion does), so our rendering speeds are faster than Remotion's. Thirdly, we're MIT licensed while Remotion is not FOSS (if your company has more than three employees, you need to purchase a company license to use Remotion). This was one of our original motivations to build our own video editing framework while we were building video products.
- jonplackett 2y agoPricing page… with no bloody pricing? Now I’ve also logged in to see if I get pricing. Still no pricing. Seriously guys. This is just silly.
- nikshepsvn 2y agoplease take this as feedback and add pricing, this is silly
- thih9 2y agoSame. In my case - I will not log in ("By continuing, you agree to our Terms of Service and Privacy Policy.") unless I can check the price.
- jonplackett 2y agoUpdate: Thank you for your interest in Rendley SDK! We don't have a one-size-fits-all price that applies to all companies, but if we were to average the costs, our pricing would be around $5,000 per year for the SDK, Video Editor interface, and a growing package of filters, effects, and transitions.
- nikshepsvn 2y agosame, extremely disappointed. they are losing out on so much traffic with that pricing. I hope we get more competition in this space as AI makes producing code easier. I don't want to implement an editor from scratch but I also don't wanna fork over $5k/yr minimum
- deleted 2y ago[deleted]
- nikshepsvn 2y agoplease make pricing transparent, you are killing growth by having users email you to use your product
- deleted 2y ago[deleted]
- Andrews54757 2y agoThe "get in touch" button on blog.rendley.com leads to a 404 page: https://rendley.com/try-for-free https://rendley.com/try-for-free
- bgrigore 2y agoFixed, thanks for pointing it out
- deleted 2y ago[deleted]
- kevingadd 2y agoIs your license compatible with FFmpeg's LGPL? The license on the NPM package looks weird so I'm curious whether it's compatible.
- dtonon 2y agoForced to sign up with GitHub or Google? No, thanks.
- bjano 2y agoThe site claims "versatile codec support" but I couldn't get it work with anything except the most vanilla h264 files. (though as I am working on a similar product I am aware that handling all the codecs is quite a bit more painful than it first seems)
- bgrigore 2y agoHere is the list of all the formats we support: https://docs.rendley.com/video-clip https://docs.rendley.com/video-clip Which codec have you had problems with?
- bjano 2y ago.avi file just shows a spinner in place of the preview, never finishes loading .mkv files are not enabled in the file picker, if I select one anyway it loads, but the export hangs hevc .mp4 loads, but the exported video is all black
- bgrigore 2y agoWe have identified the issues related to AVI and HEVC and will fix them as soon as possible. Regarding the MKV file, the rendering process hangs a little bit until the demuxing is complete. However, it should continue smoothly once demuxing is finished. Would be amazing if you could share the mp4 files you're having problems with. Thanks!
- lukaqq 2y agohttps://chillin.online https://chillin.online, another online video editor, editing video in browser is in trend now.
- msnkarthik 2y agoHow is it different than Biteable or any linear editor app based on the browser? I mean, for a non techie video editor, they would only understand if its easily accessible on the browser - What difference would it make for them if the render happens on the backfround or on the client side? trying to understand the added benefits here.
- bgrigore 2y agoThe difference is that we provide the tools needed to create video editors like Biteable. The video editor you saw on our landing page is a showcase of what can be built with our SDK, and it serves as a starting point for companies looking to embed or create their own video editing software.
- msnkarthik 2y agounderstood. What kind of companies are your target ICP? With innumerable video editing companies out there, do you still feel that there would be more companies building business around the same? If not, then won't your TAM be very small?
- aitchnyu 2y agoSaaS which exist just because you needed a server to run pdf generation, video editing, syncing data across users etc are all doomed.
- efilife 2y agoNone of this is open source contrary to your claims. Blatant false advertising
- efilife 2y agoCan't stress it enough: THIS IS NOT OPEN SOURCE. They are lying on their page.