Skip to content(if available)orjump to list(if available)

Show HN: I made a Bluesky video downloader that can download videos from Bluesky

Show HN: I made a Bluesky video downloader that can download videos from Bluesky

47 comments

·October 25, 2024

Hey HN,

Recently, a friend introduced me to the Bluesky platform, and I found it intriguing—especially its focus on decentralization. I believe it has the potential to become the next Twitter, and it already has over 13 million users.

Today, as I was browsing the platform, I came across a video in one of the posts that I found really interesting and wanted to download to my local drive. However, after searching for a while, I couldn’t find a suitable tool for this purpose.

So, I thought, why not create a tool to meet this need? All it should require is the link to a post, and it would allow users to download the embedded video directly to their local storage.

With Cursor’s help, I managed to complete this tool in just one day. It’s now fully functional and can download videos from Bluesky posts.

I'm thrilled to share this tool with everyone, and I hope you find it useful.

would love your feedback pls

Charles

Retr0id

Am I missing something, or are you just concatenating the MPEG-TS segments and slapping an .mp4 file extension on the end? This is not an MP4 file, and won't play in anything that expects .mp4 files to be MP4 files. (It'll still work in a surprising number of places because most players ignore the file extension and sniff the content anyway)

To make this work properly, you need to mux it into an mp4 container. e.g.

    ffmpeg -i video.ts -c copy video.mp4
(there are, hopefully, libraries for doing this that don't involve bundling the whole of ffmpeg)

Equal46

Clearly, he based it on the open-source code from GitHub, which simply concatenates the MPEG-TS segments and adds an .mp4 file extension at the end. You can check out my previous work on a download site for the Bluesky platform at https://blueskyvideodownload.com, which runs smoothly and returns the correct video.

Retr0id

Fascinating, your site looks so similar I wouldn't be surprised if one was a clone of the other.

But, I checked yours out and can confirm that it returns a correctly muxed MP4.

Maybe if you both open-sourced your codebases we could've avoided this duplication ;)

Equal46

[dead]

Equal46

[dead]

pmx

I strongly dislike this new trend of "SEO" spam titles for show HN posts. Show some respect to the community and quit using us as a link-building platform!

BugsJustFindMe

Well it certainly matches the way they've written the copy on the page.

dsab

How does this post brake rules?

notpushkin

Amusing title.

Maybe also make one of those bots that you can tag to get a video link?

dsab

It is a shame that "decentralized" social network does not allow you to download videos

facialwipe

Everyone connects to the Bluesky PDS (Personal Data Server) otherwise they won’t have anyone to interact with. Similar story on Mastodon.

Decentralized in protocol only. Not in practice.

reportgunner

On firefox you can click the lock icon in the address bar -> connection secure -> more information -> media tab -> sort by 'Type' to find 'Video' -> rightclick that entry and click 'Copy' -> paste in address bar of new tab -> rightclick video -> 'Save video As'

This works on most websites that serve you videos.

Retr0id

This does not work for sites that serve videos in a segmented format, such as bluesky

reportgunner

I downloaded a video off bluesky this way before posting, I didn't check if the whole video got downloaded though, just the extension.

You are right that some websites give you .m3u or some kind of .htm that is not the actual video this way.

Retr0id

You presumably downloaded the first TS segment (in MPEG-TS format, not MP4), which could plausibly have been the whole video if it was short enough.

zorked

Looks good, for some reason the MP4 file doesn't appear to work on my Android device. (It shows only Pocket Casts as an option, which is weird, and it's not able to open the file). (Edit: actually it can, the UI is confusing.).

There are definitely other downloaders like https://down.blue, which is also a bot on the platform (if you tag @down.blue it will post a download link). For files I download there they do show the Photos app, which is how I'd watch such videos.

gregoriol

Why not use yt-dlp?

bluetidepro

Off topic but related… With so many ways to get around downloading videos/media like this for example, I will never understand why companies don’t just allow videos to be saved like a picture. Add a simple download button to make it obvious and simple for users to download a video. For example, Tiktok has this, and just adds their watermark to the downloaded video.

It’s just a false sense of security to users when they think people “can’t” download their content. Even apps like Snapchat that are marketed to be “save proof” are def not. I think it’s a betrayal to the user for any company to pretend a user’s media is “safe” from downloads/screenshots/etc.

drexlspivey

Pretty obvious isn’t it? If you download the video from youtube/twitter/whatever and you watch it from your hard drive next time, they can’t serve you an ad.

reportgunner

They want to spy on what you are doing when browsing their website, giving you a video without hoops to jump through stops them from doing that.

They don't really care if you have a good time or if you really watch the video, it's just a bait.

null

[deleted]

RobotToaster

If they used standard HTML video elements it would be just as easy, but everyone wants to use their own non-standard players.

egeozcan

Actually most use the HTML video element but use JS to download blobs and add them as src, and/or bury the elements like this:

https://imgur.com/C8AP7y0 (random video I found on threads as an example)

Just to break native download functionality and/or add own silly controls on top.

fallingknife

It keeps 95% of people from downloading it.

null

[deleted]

Retr0id

fwiw cobalt.tools already has support for downloading bluesky videos

https://github.com/imputnet/cobalt

Equal46

[dead]

BugsJustFindMe

> https://imgur.com/a/2Lt4Xln

Remind me what this does again? :\

I suggest eliminating that spammish repetition. Body text like this gives a strong impression that the site is going to try to install a virus on my computer. It drips with a swampy kind of SEO desperation only seen on pages that embed malware and crosslink to bot farms.

nullandvoid

What's with the title? Doesn't "Show HN: I made a Bluesky video downloader" provide just as much context as the current version in half the words?

That aside congrats on releasing and thanks for making it a free tool, also impressive turnaround time.

GaryNumanVevo

Neat project! cobalt.tools already supports bluesky video downloads FYI.

uncharted9

Thanks for mentioning Cobalt. Looks really neat and supports all the places I might need to download videos from.

GaryNumanVevo

No problem, I self host a Cobalt instance on my NAS for caching youtube videos for my kids.