Launch HN: Tella (YC S20) – Collaborative video editing in the browser

Tella (https://www.tella.tv/) is a collaborative online video editor for screen and camera recordings. We're making video creation accessible to people who have no prior editing experience.

Sharing screen and camera recordings is a rapidly growing way for people to communicate at work, especially in technology where the subject matter is often on screens (new features, code, designs). But while people are creating more video for work, it's usually for the convenience of the creator and not the viewer. One-take screen recordings can be long, boring, and difficult to watch. We're trying to change this by letting people produce and edit their recordings so that it's a better experience for viewers.

Michiel and I used to work at a large remote company and this was where we saw the potential of edited video content in the workplace. One of the biggest challenges was keeping business teams up-to-date with product teams. The most effective solution was product teams sharing videos about their work over Slack, which the rest of the organisation watched in their own time. Product teams made videos about new projects, progress updates, launches, user research, and so on.

The most interesting aspect of the approach was that the videos weren't just screen recordings, they were edited and often well-produced videos. The better the production, the better the engagement was. Teams approached the production of these videos in the same way as preparing a slide deck for a presentation.

We loved the format and saw its potential, especially in a remote workplace, but it had some problems. Video editing is time consuming, and working on a video with a teammate takes even longer. Video editing also has a high barrier to entry. Purchasing Screenflow or Final Cut (or other long-format editors) and then learning how to use it prohibits people from trying video as a form of sharing information.

So we set out to build a video editor that focuses on screen and camera recording (where most of the subject matter comes from at work), allows for collaboration (many people work in teams and expect the tools they use to support this), and makes editing straightforward (putting together a video should be as simple as putting together a slide deck).

Our implementation takes a different approach to most editors. We wanted something that was fast, lightweight, and could run in a web browser—appealing to people completely new to video editing. We also wanted to support real-time collaboration. Instead of transcoding all content to a video format, we created our own video player that controls the timing and display of HTML elements. Let's say your video consists of a couple recordings, some text, and some images. Tella plots these different bits of content on a timeline and then plays them back in sequence on a webpage.

The benefit of this is that we can use anything that you can do with HTML, CSS and JS to create a video. We're not bound to ffmpeg or other transcoders to generate our video for us. We take the document the user created and display that in the same way to the viewer (no converting step in between). This means we can stay lightweight and let you update the video whenever you like. There are no “snapshots” stored and the link always shows the source of truth.

The challenge with this is keeping all the content in sync. Using our earlier example: the first recording should play after the text and then the second recording exactly after the first ends. A more complex scenario would be where two videos need to play back at the same time: a screen recording and a camera recording—these need to start and stop at the same moments. This is called “Media Synchronization”, or MediaSync for short (https://www.springer.com/gp/book/9783319658391). At the moment browsers don’t have a lot of stable APIs that can help us, but they are in the works! One notable example is the Timing Object (https://webtiming.github.io/timingobject/) which outlines how you can sync multiple media elements to the same clock. Right now Tella mostly works by manually syncing all video elements on actions like “play” or “seek”. Eventually we want to implement more of the techniques outlined in MediaSync, like slightly changing the speed of out of sync videos to let them catch up.

So far, people have been using Tella to create product demos, team updates, company announcements, sales pitches, investor pitches, and tutorial videos, as well as making video content for blogs and newsletters.

We'd love to hear what you think and answer any questions you might have. Thanks!

221 points | by 9ranty 1322 days ago

26 comments

  • cmehdy 1322 days ago
    This looks really nice, and I do think it fits an increasing need in a field where typically only major universities or brilliant individuals (putting in a ton of time) on youtube usually find a place.

    I have a couple questions for you:

    - It looks like one can record a screen or a video and make "static" slides, but do you have plans to have an in-browser annotating tool ? Something where one can annotate the slides along with their recording, and edit/cut/redo parts of that whenever they make a mistake (I'm thinking of videos like eigeinchris[0] where slides are annotated as he speaks - being able to edit mistakes is something youtube just doesn't really offer so far and that would have benefited him)

    - What about exports? Can a teacher export a set of static slides from that presentation into a format they can later distribute/share? Can they generate a video from the whole presentation which can also be shared as a file and uploaded elsewhere (vimeo, youtube, etc)?

    - And just out of curiosity (and if it's not asking for too much), what's the tech stack you use for testing purposes? I've got experience with that sort of thing and I can imagine a bunch of interesting issues you must be running into!

    Lastly: good luck with this product and all the best!

    [0] https://www.youtube.com/user/eigenchris/videos?view=0&sort=d...

    • 9ranty 1322 days ago
      - We don't have this. But we have been thinking about a more dedicated recording "mode". However, because we're in the browser we have some limits on what you could annotate. Inside of Tella would probably be fine, but outside of Tella would be tricky (e.g. you're recording another window).

      - We support exporting to mp4. So you'll get version of the video that you can distribute (beyond just sharing the link to Tella). We don't have plans on a slides-only export though.

      - We use ReasonML, Mux (for video), and Roomservice.dev (for the real-time component).

      Thanks for the kind words!

      • mleonard 1321 days ago
        Just curious about how you technically do the export to MP4. Can you share any details? Do you play it back in real time and record it, or do you have a way of exporting it quicker than real time?? What technical approach do you use if you don't mind me asking? Thanks!
        • happylinks 1321 days ago
          Quickly summarized we use puppeteer headfull with docker to do a recording of the video. So you’re right, it’s playing it back, not faster than real time. I might write more about the specifics in the future. It’s mostly open source code, you can start here: https://github.com/Ventricule/html2screen
          • mleonard 1321 days ago
            Thanks for the reply. I was wondering if you were using the headfull chrome approach! I for one would definitely love to read some more specifics on this in the future when you have time! (And if there's anything you can open source please do!). I did a quick side project proof of concept of automating recording a webpage with video and other elements a few months ago. It's a shame there's not a way of just using headless chrome but my research let me to the headfull docker approach, so I'm happy to hear I landed on the same approach you did! Did you discover any novel tricks beyond what's been written about/open sourced already? What was the trickiest part for you?
            • happylinks 1321 days ago
              No worries! Html2screen was a very good start, I modified it to support audio recording and got it to a pretty good state in a couple of days. After that the hard thing was just to run it automated on AWS. I used AWS Batch and Step Functions for that. When it’s a bit more stable I’ll definitely write about it and might open source it later. If you want to discuss more, feel free to email me at michiel@tella.tv
      • rememberlenny 1321 days ago
        +1 for roomservice to add multiplayer to any React app with a few lines of code
    • happylinks 1322 days ago
      Not sure if you were asking about testing purposes specifically. To be honest, we don't have a testing stack yet. I am planning to use https://www.checklyhq.com/ for end to end tests.
      • tnolet 1322 days ago
        Checkly CTO here: We have a cool discount for early startups. Would love to help out there. Also: very cool product!
        • happylinks 1322 days ago
          That's great! I've made an account already a while ago, but didn't have a lot of time to set it up right yet. Would be cool to talk! (michiel@tella.tv)
        • hmcamp 1321 days ago
          Hi, do you roll your own visualizations or are you using an off-the-shelf product to measure your own business metrics?

          I’ve always been curious how companies like your monitor their business metrics?

          • happylinks 1321 days ago
            Not sure if it was a question for us, but we use Segment and Amplitude mostly for business metrics
        • godzillabrennus 1321 days ago
          How should a startup reach out to learn about the discount?
  • john-tells-all 1322 days ago
    I'm producing lots of screencasts, and this service is perfect for me and my team!

    Our workflow is:

    - I record "A roll" of me doing things with terminals

    - I record audio at the same time

    - We edit to shrink the overall runtime, focusing on the audio, eliminating restatements and flubs.

    - I record "B roll" of hand-drawn diagrams, illustrating certain points, and again record audio.

    - We shrink the B roll, generally cutting the audio down to as small as possible then adjusting the video to fit.

    - Splice A+B, add header (title card, spicy theme music) and footer, upload to interwebs, dance a jig.

    To be honest it's ... a lot! I want to have a simpler and more direct way for my ideas to be published, so my friends and others can use the ideas to make everyone's lives better. Our current workflow isn't the best. A service like Tella might take a chunk of our drudgery away, which would be great!

    • 9ranty 1322 days ago
      It sounds like Tella could help with at least some of that already. We definitely don't have everything you'd find in a desktop editor yet, but it's the plan to have more!
  • orliesaurus 1321 days ago
    Signed up! Will use this 100% for sure for my YouTube channel, called Landing Page feedback on the tube - because I need a more robust way to highlight things and this looks like it has the editing capabilities i need without the overhead
  • filleokus 1322 days ago
    Looks awesome! Nowadays real time collaboration and single source of truth has become the singel most important feature when I'm looking for some tool to use. E.g I prefer Google Slides over Keynote whenever working with someone else (even though I love Keynote for solo stuff). I think this have huge potential!

    One thing I never thought I would ask: What about an ≈Electron desktop app? As you've written in some replies here, there are inherent limitations on what JS running in the browser can do. I think there are a lot of potential in stuff like only recording part of the screen (a specific window), or "upsampling" webpages for recording by rendering them at higher DPI in your custom browser view etc

    • happylinks 1322 days ago
      Thanks for the compliment! We agree that tools like Google Slides, Figma, etc have definitely set the standard for having a "single source of truth". Currently we like being in the browser because everybody can use it, but indeed that has some limitations in terms of recording. Eventually we'll definitely have a native app (maybe Electron) for improved recording, but right now with a 2 person team we're trying to keep it lean :)
  • oskarahl 1321 days ago
    Well done! I like how you handle multiple scenes, it's easier this way vs e.g. how clipchamp does it.

    I'm the creator of Glitterly - https://glitterly.app/ a similar video editor but more focused on pure feature videos with zooming and transitions. Initially for exporting videos I tried a similar approach but with canvas. By recording the canvas with captureStream and exporting the video, but I wasn't able to get a satisfactory non-laggy output.

    What upcoming new features are on your roadmap for Tella?

    • 9ranty 1321 days ago
      What approach did you settle with for your exports?

      The next main thing will be improvements to the timeline. We want editing on Tella's timeline to feel much more approachable than "traditional" timelines.

      • oskarahl 1321 days ago
        Interesting, ended up using FFmpeg. It's heavy to run and it takes time to write all the code for overlaying elements on top of each other and drawing text etc - but the quality is great.
        • hellofunk 1320 days ago
          Are you running FFmpeg in the browser?! Like with the web assembly? If so that’s pretty amazing.
  • andygcook 1322 days ago
    After seeing the success of Figma, Miro, and other real-time collaboration tools, I was wondering how long it would before an enterprising team developed the same experience for video editing. A simple-but-powerful enough video editor is a need I've regularly experienced over the years at my startup. Adding on collaboration workflows and cloud-native files (instead of storing actual file versions in Dropbox) makes this even more interesting. Will check it out. Good luck with the launch and the rest of YC!
    • andygcook 1322 days ago
      Quick follow up: Do you have any details on plans for pricing or a terms of service I can read?
      • 9ranty 1322 days ago
        Not yet, I'm afraid... we'll be free while we're in beta (which could easily be a couple more months). From there we'll keep a free tier, and introduce paid individual plans and a team plan.
        • gingerlime 1321 days ago
          I personally find lack of pricing a big barrier of entry for products I'm even willing to evaluate. Even if there's a good chance they'll be free for my use case.

          I definitely understand how hard pricing is, but I think you'd be much better off taking a stab at something than leaving it completely empty.

          The most fair/honest strategy in my opinion is to set some pricing in there, and grandfathering people at this price point. It gives you plenty of room to change pricing later without upsetting your early adopters (who can also be your best marketing channel).

          Just my 2 cents as a co-founder of a company that introduced paid plans pretty much from day one.

  • xrd 1322 days ago
    Subtle typo: "compliment" should be "complement."

    Exciting project! With so many companies thrust into remote only, the potential for sharing information via video is huge. I always say, if a picture is worth a thousand words, video is worth a million. (But, you have to consider that 1M words then is a processing problem for the viewers.)

    The promise you wrote up really speaks to me. But the demo video doesn't look like much beyond a web based PPT tool. I'm struggling to see why I would use that over a generic tool like Google Docs.

    When I was at a large fortune 500 company I saw others struggling to understand deep technical discussions without the video. I built an internal video sharing tool and would hound people to record their presentations so I could host them. It wasn't YouTube scale but thousands of people watched these videos, especially less technical team members that probably wouldn't have been invited to those meetings or wouldn't have felt safe to ask questions in those meetings. It was a big success in my opinion as a way to share tribal knowledge.

    Good luck, very exciting space, especially because of Covid-19.

    • 9ranty 1322 days ago
      Ugh, good catch on the typo. Fixed.

      "But the demo video doesn't look like much beyond a web based PPT tool. I'm struggling to see why I would use that over a generic tool like Google Docs."

      Appreciate this observation. For people who've not done much video editing before we want Tella to feel as familiar as possible (e.g. editing a slide deck). Equally, we'd eventually like people who do know their way around a video editor to feel like they can create what they want in Tella.

      • xrd 1322 days ago
        Yes, and I definitely got that from your write up. It's a huge opportunity.

        I'm not sure how easily you can add the things I'm excited about into a demo video, namely the idea that you can post process video in a browser. The things you describe, synchronization, etc are really time sinks even when you know what you are doing and have the right tools. If you capture 10% of the functionality and make it automated and simple, you'll have a winner. Maybe you already have this, I haven't played with it, sorry if I'm ignorant about the true offering!

        • 9ranty 1322 days ago
          Yeah the demo doesn't illustrate the MediaSync aspect very well. But if you give the product a go you ought to get a sense of what we described in the implementation part of the write-up.
  • sidcool 1322 days ago
    Questions:

    1. What's the tech stack you used?

    2. What was the biggest technical challenge you faced? (No need to mention the solution)

    3. What new features are in pipeline?

    4. Who do you see as your competitors?

    • 9ranty 1322 days ago
      1. ReasonML, ReasonReact, Mux, roomservice.dev.

      2. Exporting our web "video" to .mp4, and keeping media in sync.

      3. Better timeline & canvas editing features (plus some organisation features, for people with lots of videos)

      4. Loom, mmhmm (at least for the non-live aspect), and slide decks.

      • rememberlenny 1322 days ago
        Roomservice is incredible for adding multiplayer mode to any app. Very cool to see you using them.
        • Johnyma22 1322 days ago
          Etherpad maintainer here, thanks for pointing Room Service at me. Gonna give them a go :)
      • applecrazy 1322 days ago
        What was the reason why you picked Reason over something like TypeScript (both of which transpile down to JS AFAIK)?

        Just curious.

        • happylinks 1322 days ago
          I've been using Reason for a couple of years in personal projects and I really like its fast compiler, type system, things like variants, modules. I didn't have OCaml experience before but to me it feels like being able to program in a very mature programming language while still being able to target JS. The community is great as well. Also refactoring code has never been easier in my opinion. That's why I also decided to use it for Tella.

          I've used TypeScript a lot in the past as well, and I'm not against it at all. You can do a lot of the things you can do with Reason in TypeScript. But I do have the feeling Reason makes me a lot faster than when I worked with TypeScript.

  • james_impliu 1322 days ago
    We've started filming vlogs and have found this problem painful. Specifically, the person filming isn't the person editing, and we have a separate designer - all based in different physical locations. Since video files are so big and slow to upload, it tends to be a once a day thing, versus being able to iterate more quickly. It just feels dated! Going to try this out :)
  • arkits 1321 days ago
    I recently was wrestling with MediaSync on my side project to make a direct link generator for reddit videos. For those who don't know, reddit videos (https://v.redd.it/8ac6uk4bbxg51) play in reddit's custom video player. After some digging, it turns out that reddit hosts the audio and video streams separately and syncs them together on the client side. I eventually was able to implement media sync (though it doesn't cover all cases), and have tremendous respect for those trying to solve the same problem.

    Here is a demo of my media sync implementation - https://vreddit.vercel.app/?vid=8ac6uk4bbxg51&q=2

    • happylinks 1321 days ago
      Ohhh I didn’t know that! Your project looks cool! I saw you used popcorn.js, that’s definitely a good way to go. It’s an interesting problem to solve for sure :)
  • laktek 1321 days ago
    Hey Michiel & Grant, congrats on the launch! This looks amazing (you guys have iterated pretty fast since I checked out the alpha)

    How you guys found your first couple of beta customers? Also, curious how was your experience doing YC remotely (I guess you are still in Netherlands, right?)

    • happylinks 1321 days ago
      Hey Lakshan! Thanks a lot :) The first beta customers were people in our network from old companies we worked at, we have 2 sales teams which tried us really early on who we knew and also a big remote company tried us because we knew some people there. Besides that we’ve had some YC companies try us, and after that the ProductHunt launch was the first moment we got a lot of new users.

      YC for me has been great! We can’t really compare it to “in person” YC but we got a lot of value out of it, they seem to have adapted quite well to the remote world and in some ways I think it’s more practical than before; no 2 hour drive to mountain view for an office hour with a partner. Since we worked at InVision for 2 years we are used to the remote meetings so for us this was kind of a normal way to work I guess. I would definitely recommend YC to people wanting to start their own startup, the amount of information you get in 3 months is crazy.

  • jessmartin 1322 days ago
    Since you guys are digging into the MediaSync work, you should look into Croquet (https://www.croquet.io). It's a novel synchronization framework for ensuring connected clients stay perfectly in sync and that it scales up appropriately.

    I think it might make sense for the "multiplayer" aspects of what you're trying to build.

    Check out the demos: https://www.croquet.io/demos . They have demos of synchronizing video playback, text editing, object manipulation, etc.

    • happylinks 1322 days ago
      Hey! Thanks for that info, I think I saw some cool demo's of croquet before but will digg into it more. Right now we use roomservice.dev for our real-time video updates which has been great.
  • kirillzubovsky 1320 days ago
    My first impression after watching your preview is "Powerpoint which can take in screencast and live video." Not entirely if this is what it does, but is the closest thin in my mind.

    The major difference from just recording via a tool like Loom or Soapbox is that video sits on top of Slides, and can be played back every time one moves up/down the slides.

    Basically, unlike a typical screencast, this one has chapters, so you can give a presentation without physically being in the room. Interesting.

  • santiagobasulto 1322 days ago
    This looks great! We're building a platform for programmers to create their own programming courses using different tools (like quizzes, programming assignments, jupyter notebooks) and it'd be great if we could integrate with something like this to simplify the process for them.

    Do you see education as part of your market? If you think that could be of interest, my email is santiago.basulto at gmail.

    • 9ranty 1322 days ago
      We'd love to help educators more, and we've had a few make mini-lessons and tutorials already. I'll send you an email.
  • hichkaker 1321 days ago
    We've been using Tella for product demos. A huge upgrade from hacking together QuickTime recordings!
  • buzzwordninja 1319 days ago
    Small UX bug report: when I click Sign Up in the top right corner on the home page I get to a form which isn't the signup form, it's the login form.

    So I enter a new email/pw and it doesn't work. Only then I notice there's another link to click to sign up.

    • happylinks 1318 days ago
      Thanks for reporting that! Fixed it :)
  • wtracy 1322 days ago
    Since I'm on mobile and can't test it right now: Do you support export to other platforms/formats? Is there an easy way to get the finished video onto, say, YouTube?
    • happylinks 1322 days ago
      We released Exporting in Beta last week. This will export to mp4 and send you an email with the link. Still early but results are looking pretty good if I may say so :) In the future we might add a direct integration with YouTube if enough people request it.
  • jonahbenton 1322 days ago
    Cool- was looking for exactly this a few months back for my teen daughter who needed to work on a video preso with her friends, and found nothing. Q- do you work on Chromebooks?
    • 9ranty 1322 days ago
      Awesome. Tella should be fine on Chromebooks, but we have an issue with the performance of recording in the past. If anything comes up drop us a line on livechat.
      • wtracy 1322 days ago
        If it's worth anything, my impression is that the CPU (and probably GPU) performance of chromebooks varies widely between models. It seems to be particularly dramatic when comparing ARM models against Intel and AMD models.

        I don't doubt that low-end CPUs could cause dropped frames during video recording.

        If I had to offer any advice, it would be to test as many models as you can and then decide which ones to officially support.

        • happylinks 1322 days ago
          Yeah we have had reports from one other user that his Chromebook sometimes has issues recording both webcam and screen at the same time. I definitely intent to test as many devices as possible and put up a more official page about that.
  • sarfata 1322 days ago
    Do you support GoPro videos (h265)? I have played around on the same concept but the lack of .mov support (iPhone) and mp4+h265 (gopro) is kind of a bummer for Chrome users.
    • happylinks 1322 days ago
      Hey! Right now we don't allow upload of mov files yet, but we will add that soon. Our infrastructure supports it but we can't immediately show a preview (have to wait for it to be converted). Will probably have that within a week. Mp4 files are definitely supported though, let me know if that works for you!
      • saddlerustle 1322 days ago
        That doesn't really make sense, these days mov files are exactly the same as mp4 files - the same ISO/IEC 14496-12 container.
        • happylinks 1322 days ago
          Ah I may have spoken too soon then :) We use mux.com for our converting, and they should support (almost) all video files. We currently preview the file while it's uploading. So like I mentioned before, some file formats won't do that initial preview. We will improve this soon so all video files will work equally.
      • sidcool 1322 days ago
        I came across this issue, had to convert it with VLC.
    • michaelaubry 1322 days ago
      Hey you can upload .mov to https://storycreatorapp.com
      • etewiah 1321 days ago
        I immediately thought of storycreatorapp when I saw this, hope you're able to take them on and show them the power of a smart, hardworking individual!!!
  • jdamon96 1322 days ago
    Cool product and nice landing page - clean and to the point.

    Heads up: the format in which you've included links results in broken links when clicked

    • happylinks 1322 days ago
      Thanks! We just fixed the links, let me know if it doesn't work :)
  • triyambakam 1321 days ago
    What are you using to synchronize state across users? Operational transformation, conflict free replicated data types?
    • happylinks 1321 days ago
      We use roomservice.dev which indeed uses JSON CRDT types.
    • markcipolla 1321 days ago
      Ya, I'm tinkering on some collaborative apps of my own, so I'd love to hear about this... I'm _assuming_ CRDT with json types?
      • triyambakam 1320 days ago
        My research has led me to the JS library "automerge" which uses JSON CRDTs and is actually one of Martin Kleppmann's projects. I was watching one of his talks when I realized he was talking about the library automerge which I'd already come across but hadn't strongly considered. I know it's a little bit of a fallacy (appeal to authority) but seeing that he built it really sold it for me.
  • ingend88 1322 days ago
    Can this be used for courses ? Or is there a reason why it should not be used for building training courses ?
    • 9ranty 1322 days ago
      We've seen people make tutorials and how-tos already, so you should be able to put together a course.
  • bealuga 1321 days ago
    how long can a video be without crashing? I think one of the biggest risks towards something like this is spending two hours maybe recording a video only to have it fail halfway through with no data saved
    • happylinks 1321 days ago
      We have had users make very long recordings with Tella that worked just fine, however we do recommend working in smaller parts. We have a feature called scenes where you can structure your story/video into parts and also record into parts. All of the recording works on the client, so it also depends on your device sometimes; if you have a slow device it can sometimes have issues recording. So to recap, yes there are exceptions where long recordings cause trouble, but overall we’ve seen good results!
  • krmmalik 1322 days ago
    Great idea. Do you have an example of a video produced by your app?
  • anthonysarkis 1321 days ago
    cool starting screenshare does infinite loop of current screen suggest a 3 second delay / visual countdown or something
    • happylinks 1321 days ago
      Ah yes, this can be a bit confusing. We show you a preview of the screen you are recording, which if it’s the same screen you’re on will cause the looping effect. You can just switch to a different tab and do your video, come back and stop the recording. The 3 second countdown is there to prepare you for the recording starting. We will try to make this less confusing though!
  • pryelluw 1322 days ago
    What's the pricing?
    • 9ranty 1322 days ago
      Tella is free during beta (which will likely be for a few more months). We'll introduce paid individual and team plans after that (and keep a free tier). However, we don't have figures on the pricing we can share yet.