Show HN: From Markdown to Video: 76
From a technology point of view, this is really cool.
From the view of someone that occasionally watches videos on YouTube, I am trying to figure out a nice way to say... I hate it. Or more specifically, I hate that it generates the voice, and basically enables video content spam.
What we don't need more of is cheap, easy to automatically generate videos that are basically spam and/or clickbait, trying to get views. The problem with auto-generated voices in videos like this is as a viewer I can't distinguish between work that someone put deliberate production time into, and something churned out by a content farm. The demo video even tricked me at first, I didn't realize it was a generated voice until a couple sentences in, at which point I had a visceral negative reaction, the same as when I accidently click on a content farm-generated video.
It seems a major feature is automatically syncing the narration to the slides. Perhaps a way to enhance this while avoiding spam generation is to use the generated voice only for internal timing, and generated a karaoke-like display for a narrator (human) to read? As a paid service, you could even provide professional voice-offers as an add-on. - gregmac 2 months ago
I haven't gotten the chance to try it out yet, but an alternative in this space is Komposition, which bills itself as "a video editor built for screencasters". I gather that mostly means that if you take certain liberties when recording your screen and voice (putting pauses in the right places), Komposition will take care of automatically splitting your input media based on when it determines a transition.
Slightly different aim compared to Video Puppet (the source being plain text is not the goal, which means you will likely have to edit and re-record a script multiple times) but still interesting, especially you'd rather avoid an auto-generated voice. - jez 2 months ago
Related: A very basic prototype I’ve been working on, but for video zines https://kickscondor.com/slaptrash
Seems you could do something along these lines to avoid the video generation part. - kickscondor 2 months ago
Getting a real kick out of using Video Puppet. The idea of creating a video from assets and a script is not a new one, I first saw it in the context of Real Estate at a Kaltura conference back in 2012:
The existing tools for doing this sort of thing seem to either require quite a bit of programming / video skills e.g. Media Lovin' Toolkit, ffmpeg, sox, jimp, ImageMagick etc or they are templated / opinionated tools like https://www.magisto.com/
What I love about Video Puppet is that it provides a simple and easy to use set of tools and an API that through GitHub actions allows you to put version control and early/often feedback loops at the heart of your projects.
I'm using it to document the development story and back story of an Indie Video Game I'm working on. Previously I was doing it as a Google doc which I was sharing with my collaborators.
With Video Puppet, it requires little more overhead - I was writing this stuff already - but when I see and hear the results played back I can immediately see whether the story makes sense or not. I can see if I am jumping into talking about something I haven't set up properly or if I am trying to say too much.
One thing that would help me is to get feedback on fails in the markdown script quicker, before even pushing to GitHub. For code, including things like Terraform, I'd use a linter, or CircleCI has a validator tool you can run locally.
The other place I'm going to start using it is for describing defects in a product I am coaching a team on. Previously I would do a screen cap and then upload that to frame.io. Now I can do the screen cap, describe the problem and stick the whole lot into version control with a bunch of github actions to point the team to the resulting video.
I will be following this product closely and actively using it.
Greak work Gojko! - worldofchris 2 months ago
I'm building the reverse, video to markdown. Paircast combines screen recording, voice transcriptions, and code changes into a markdown guide. http://paircast.io - tomatohs 2 months ago
Just completed full support for scripting videos as Markdown files using Video Puppet. Check out the post for some basic info. For more examples, see https://github.com/videopuppet/examples - adzicg 2 months ago
Looks really really cool, but to really show the power of this, they should share the full example from their Web site landing page. - tdalaa 2 months ago
Some feedback on landing page:
- Make the sample script response header "Content-Type: text/plain" so that it renders in the browser instead of downloading a file.
- Make the sample video demonstrate the three features it says it has, like image captions. - hombre_fatal 2 months ago
I love this. I've been messing around with Premiere Pro and Audacity for the past couple of days trying to get more into making video. Video puppet looks way easier to debug and collaborate on since scrolling back in forth in your video looking for stuff gets very tedious very quickly.
Is there any way I can add my own voice and then still write the words that I want my voice to say? - formalsystem 2 months ago
VideoPuppet is excellent. I am using it to create videos for the Five Minutes Serverless Youtube channel, and so far, results are outstanding. I can create a video from the markdown file really fast. - slobodan_ 2 months ago
If this type of application interests you, have a look at:
It is an application/shared library for Linux, released as free software. It has a GUI program for live narration and one, "Vox", for creating video from PDF or still images using speech synthesis (Festival).
The Kinetophone shared library could be used as a plug in for presentation software. Kinetophone's file format is XML. I haven't updated it for years, and it does require occasional patches to support the latest FFMPEG. It was originally a commercial application for OS X called Ishmael, back in about '07 which I ported to Linux after my company went out of business. - tir-kaval 2 months ago
I remember doing something similar for real estate a few years ago. Could be an interesting segment for you? - mauricesvay 2 months ago
I think this would be great for all the professors/teachers who suddenly have to teach courses online. If the lecture can be made beforehand, then the teacher can just focus on addressing questions or problems on zoom/skype(or whatever platform is used for teaching online) - peter1125 2 months ago
I'm trying to imagine all the useful things you could do with code generated videos.
I'm imagining a daily routine of airplaying the video to your TV with an annotated dashboard of quantified self metrics, weather forecast, plotted local Covid-19 cases, health advisories, etc. - fudged71 2 months ago
I am a tech writer and I write tasks and procedures using DITA-XML. I was thinking about transforming my .dita files to .mlt to use in shortcut/melt, but I think I'm going to use this instead. - simbas 2 months ago
Yes yes yes! I was literally thinking to implement this myself, but didn't have time. It's a shame doesn't appear to be open source though - I might still end up creating one. - bArray 2 months ago
I could see this being really useful for creating product onboarding video tutorials - wondering if there's an ability to preview and edit/adjust before exporting the final video? - npollock 2 months ago
This looks cool. Something I have looked for on and off without create success would be a fully scriptable NLE
Something like this that would support simple fades, transitions, and maybe animation. The kind of stuff you can do fairly easily in a video editor, but with lots of fiddly clicks and zooming in and out of timelines.
I'd like to have a script that let me specify when different source media start, when to apply effects, etc. All written as a basic text file.
Anything obvious out there I've missed? - aquark 2 months ago
Video Puppet + MDX Deck  would be a dream.
: https://github.com/jxnblk/mdx-deck - pomber 2 months ago
Wow, I may be biased because this fills a particular niche usecase for me, but this is truly incredible.
I can't stand hearing the sound of my own voice, but do a lot of tutorial content production in Markdown for guides for learning material.
This would allow me to re-use all of the existing material I have, which already includes detailed step-by-step screenshots and text instructions, to make voice-over videos with slides and publish to Youtube. Amazing! - gavinray 2 months ago
I created a single video from text using python (https://www.youtube.com/watch?v=7CIakJ8PMZs // https://github.com/sidpalas/devops-directive-hello-world), but this is next level!
I'm excited to try it out. - spalas 2 months ago
I'm not sure I see why you would want to base this on Markdown. Markdown is designed for a very specific niche, and this falls far outside that niche.
It seems it would make a lot more sense to just design the language from scratch, rather than try to bend Markdown to do something it was not at all meant for.
For instance, why would you WANT to have an example like this:
Welcome to London
Welcome to Berlin - DagAgren 2 months ago
Looks cool, love the idea of using version control for video content. No mention of pricing that I could find easily. - grantlmiller 2 months ago
Easier bulk upload / upload with curl / python requests is needed IMO. - stjo 2 months ago
Wow, really nice! I will try using this as an extra resource for teaching my coding classes. - cochne 2 months ago
Another way to make it seem more real would be to render a virtual webcam overlay of a talking head, using UE4 or something. Maybe with an office-style background. - mappu 2 months ago
Nice and simple but there are videos that are easily made with hand-writing effect using https://www.videoscribe.co/. For example, https://www.youtube.com/watch?v=MiybniIIvx0 is entirely made in software. These are conceptually similar, but obviously yours is more text-oriented and minimalistic. - alpb 2 months ago
please delete all those videos on the internet and just post the markdown. the only use case is spam. - 0x006A 2 months ago
Great - mitchtbaum 2 months ago