Putting Video on a Floppy Disk

  Рет қаралды 377,620

The Science Elf

The Science Elf

Күн бұрын

Пікірлер: 647
@KazyEXE
@KazyEXE 2 жыл бұрын
Could throw a MIDI version of Toxic in there and see if that syncs!
@DryPaperHammerBro
@DryPaperHammerBro 2 жыл бұрын
Exactly my suggestion!
@siimplysiibliings3723
@siimplysiibliings3723 2 жыл бұрын
Or, if your sound card supports it, an MP3.
@RealEpikCartfrenYT
@RealEpikCartfrenYT 2 жыл бұрын
@@siimplysiibliings3723 the mp3 would have to be very low quality to fit in the remaining space
@cs188creations
@cs188creations 2 жыл бұрын
@@RealEpikCartfrenYT Yeah at 16kbps or less (even in mono), MP3 does *not* make good use of the bits, and it sounds pretty awful.
@jackkraken3888
@jackkraken3888 2 жыл бұрын
Bonus points if it uses the PC Speaker!
@gluttonousmaximus9048
@gluttonousmaximus9048 2 жыл бұрын
When I thought you were transferring monochrome videos, even though I know nothing about tech, I instantly thought of a good type of video to make into 3-bit terminal text video: black-and-white cartoons from the early movie days. Like the 30s Looney Tunes and Popeye cartoons. They were made with less than ideal optics in mind and generally had great contrasts throughout. Also, you would likely find a public domain cartoon and thus just put the entire video on KZbin with audio. No demonitization nonsense to deal with.
@abso1utezer010
@abso1utezer010 2 жыл бұрын
Oswald the Lucky Rabbit by Walt Disney has been in the public domain for a while, so he could use that
@Wheagg
@Wheagg 2 жыл бұрын
@@abso1utezer010 a Disney film in public domain? What kind of divine intervention is this?
@brunocamposquenaoeoyoutuber
@brunocamposquenaoeoyoutuber 7 ай бұрын
Now there is Steamboat Willie, so a part 2 could be made
@VocalEnby
@VocalEnby 2 жыл бұрын
I really, really hope that porting Toxic becomes the new DOOM.
@CriticalTechReviews
@CriticalTechReviews 2 жыл бұрын
Me too! #FreeBritney (it's still a good tag, we need to continue to look after her now that she is actually free, so they don't somehow hurt her again)
@catsame5703
@catsame5703 2 жыл бұрын
Have you heard of something called bad apple?
@k.silverpoint
@k.silverpoint 2 жыл бұрын
@@catsame5703 Mhm. They also mentioned it in the video.
@Majima_Nowhere
@Majima_Nowhere 2 жыл бұрын
@@catsame5703 IDK if we can go much further than Bad Apple played on minecraft sheep. I wonder if we can do, like, Bad Apple on ARGB RAM sticks.
@F88689
@F88689 2 жыл бұрын
I don't hope, don't give more fame to that horrible song
@3moirai
@3moirai 2 жыл бұрын
Amazing! Very impressed with your analyses and the results were cool.
@engineering_georg8122
@engineering_georg8122 2 жыл бұрын
Could the compression be improved by looking at several frames at once? A "pixel" of a color should more or less stay the same in the next frame. (This would be the temporal equivalent to the spatial predictive coding you used ;D -- maybe it saves even more space)
@HappyBeezerStudios
@HappyBeezerStudios 2 жыл бұрын
Thought the same. Many video codecs do that to reduce file size. With only a handful of characters instead of 16 million colors that should be quite compact.
@achtsekundenfurz7876
@achtsekundenfurz7876 2 жыл бұрын
Also, much of the compression trouble comes from the "noise" introduced by dithering. Maybe you could store the raw data in 4 to 5 bit values (16 or 32 colors, roughtly one to 4 levels between the 7 exact values that lead to a solid "color" i.e. one character repeated over and over). That's more data but might compress just as well or even slightly better. Even more so if you only encode the differences to the last frame, and one "index" per frame (or maybe per block of 20x5 characters, since sometimes, there's a lot of static background behind the moving parts of the scene). The index could point to one of eight decoding tables, from #7 for a frame that's virtually unchanged where the "+0" value compresses very well, all the way down to table #0, which compresses only marginally but doesn't include a lot of overhead either if the values are completely different (maybe even make #0 mean "don't decode at all, just overwrite with those raw values." That #0 would come in handy after a hard cut, where there's no relation to the previous frame, or the first frame ever, which can't compare to any previous frame at all. That would impose the burden of dithering on the playback software, but that should be almost as easy as Huffman decoding.
@lordsiomai
@lordsiomai 2 жыл бұрын
Sounds like mp4 with their i frames and p frames. Good idea!
@dh2032
@dh2032 Жыл бұрын
yes only redrawing what's changed, look at what accomplished there a lot ...... ,,,, xxxxx, in large patches on the screen, ?
@rich1051414
@rich1051414 Жыл бұрын
It gets complicated, since you would then need to also keep track of pixel locations across frames, or increase the bit depth enough to be able to include a skip pixel length, which would bloat the overall frame overhead either way. It gets easier if you combine with zip compression. You can represent all pixels that don't change with the same value, and the zip compression will do the work squashing all the redundancies.
@Nunya58294
@Nunya58294 2 жыл бұрын
I didn't expect it to be text based... This really exceeded my expectations lol
@MK-lk7nc
@MK-lk7nc 2 жыл бұрын
image to text conversion was something I got really into in IRC days years ago, making fullest use of the IRC color formating was it's own fine art. One suggestion I could make is to take each cell of graphical pixels you're encoding as text, and further analyzing them to determine which ascii character most closely matches the flow of contrast within that cell. So if it's a vertical line, the algo wants to use a vertical pipe to display it, even if the brightness isn't as close, etc. This is something I always wanted to try but never got motivated enough to actually do - maybe you're the one. An impressive display of ascii Britney here, nice job. Lately I've been working on a music visualizer in Unity, some clips on my channel - maybe that would be a fun ascii project, since then there's no need ot store any video at all, just procedurally generate it off the musical input.
@redwinedrummer
@redwinedrummer 2 жыл бұрын
Amazing work! Another fine example of how hardware limitations push innovation. Paradoxically, limitations open up more opportunities to explore. Great job! 👍
@joe55514
@joe55514 Жыл бұрын
Or limitations create problems that motivates to solve and makes exploration cobined with creativity a necessity.
@ssf1389
@ssf1389 2 жыл бұрын
11:51 The Win32 API was also backported to Windows 3.1 and was available for download, so in theory, it should work on 16-bit (ish) systems.
@intel386DX
@intel386DX 2 жыл бұрын
Why not even in DOS? ☺️
@ssf1389
@ssf1389 2 жыл бұрын
@@intel386DX Put simply, MS DOS is 16-bit, Windows is 32bit. Thus, it needs a partial rewrite to be compatible.
@another3997
@another3997 2 жыл бұрын
Windows 3.x had 32 bit extensions for using features of the 386 and 486 processors, long before Windows 95 came around, despite the fact that it all ran on top of the ostensibly 16 bit MS DOS. There have also been several 32 bit versions of 'DOS' created over the years, which are broadly compatible with MS DOS. But that would probably be cheating. 😉
@ssf1389
@ssf1389 2 жыл бұрын
@@another3997 Nice! Maybe it could be ported to those extensions.
@greggv8
@greggv8 2 жыл бұрын
@@another3997 Win32s on Windows For Workgroups 3.11 with all the DOS drivers compatible with enabling both 32 bit disk access and 32 bit file access in Windows. That's how many programs circa 1995 were compatible with both Windows 3.1 and Windows 95. But since Windows 95 could run most Windows 3.1 software, many programs were just straight 16 bit but written to not run into any incompatibilities in Win 95. A problem with software written to work with Win32s is it will often run on 64 bit versions of Windows, but cannot be installed because the installer is 16 bit. Some programs can be extracted from their install files, dumped into a folder and work. Others that doesn't work for. The fix there is either to build a new 32 bit installer or use one of the open source ports of NTVDM to x64 to run 16 bit software in 64 bit Windows.
@philipmcdonagh1094
@philipmcdonagh1094 2 жыл бұрын
Glad to see there's so many people find this interesting. Never thought of putting video on a floppy disk, I was always trying to see how much audio i could squeeze onto one and still find it acceptable to listen to. I peaked with fitting the whole of Breaking Bad onto a 6 GB USB stick okay its not 4K UHD but its perfectly watchable. Glad to see good old XP there. Thanks.
@FinFET
@FinFET 2 жыл бұрын
Bet the next one will be "oops i did it again" 👀 Great video!
@ProjectPhysX
@ProjectPhysX 2 жыл бұрын
I wrote a C++ program to play full color video in the console, compatible with both Windows and Linux. Demo here: kzbin.info/www/bejne/qpbLeHSYh6dgqdk On Linux it is actually much faster, even through SSH in Windows Subsystem for Linux, because the ANSI escape codes work much faster than Windows color change commands. I only change ASCII color for contiguous stripes of the same color. For the video I also use the trick to compare the new ASCII frame with the last, and only draw the pixel (stripes) that have changed between frames by jumping the cursor around.
@DistrosProjects
@DistrosProjects 2 жыл бұрын
Awesome!
@Atamosk-bu7zt
@Atamosk-bu7zt 2 жыл бұрын
That is quite amazing!
@jan_harald
@jan_harald 2 жыл бұрын
in windows 10 (since some specific version), you can actually enable ansi escapes in terminal (and also utf8), which is a fun thing you could do
@oisiaa
@oisiaa 2 жыл бұрын
The nostalgia is STRONG with memories of me transferring old .avi files via floppy disk. I'm convinced that childhood in the 1990s was peak human experience.
@StrangelyIronic
@StrangelyIronic 2 жыл бұрын
I'll pass on going back to dialup ever again.
@mattizzle81
@mattizzle81 2 жыл бұрын
@@StrangelyIronic Yeah it was cool seeing the “beginning” of everything, when simple things were cutting edge, like “wow I just downloaded my first MP3!!” but those slow speeds of both the internet and the computers themselves were just hell on Earth. So many hours wasted. Never again.
@giantisopod
@giantisopod Жыл бұрын
Clever idea with the Markov chain. An easier approach would have been to encode only the difference between two consecutive frames. That way most of the pixels become 0 or very small numbers, unless there is a big scene transition. Good video!
@RadikAlice
@RadikAlice 2 жыл бұрын
Wasn't expecting a video again this soon, much less something this cool. It's even more of an accomplishment you made it work in Windows, because even Windows users will tell you. It's CLI is hilariously limited Without Powershell and later WSL, it would be worthless. Anyway, kinda funny you didn't think to sync it with a MIDI file as far as audio goes, but hey. Guess there's a thing for a future version 2. Also, I know it should be no surprise. But I was glad to see the code's open source, good on ya
@Stego27
@Stego27 2 жыл бұрын
I went down the colour route a while back and two things that greatly improved the quality were: - Using the lower half block character (▄) and setting foreground and background colour to double vertical resolution. - Using the rgb ANSI codes for full RGB playback. Not very compressible i'm sure...
@Roxor128
@Roxor128 2 жыл бұрын
Another way to increase "graphical" resolution in text-mode if you don't mind a bit of x86 assembler and not being portable: Use the 160*100 CGA text-mode hack. It sets the card to 80*25 text mode but tells the CGA card to use characters only 2 pixels tall and uses the horizontal half-block character and background/foreground colours to create makeshift pixels, giving a pseudo-graphics mode that can have all 16 CGA colours on screen at once (the actual graphics modes only allow 2 or 4 colours).
@HappyBeezerStudios
@HappyBeezerStudios 2 жыл бұрын
That should work under direct DOS, but I doubt that would run that nicely in the windowed command line on a more recent system.
@wesleymays1931
@wesleymays1931 2 жыл бұрын
At this point you're compressing a plain old video, just chunked down a bit. It's a lot harder, but still doable.
@wesleymays1931
@wesleymays1931 2 жыл бұрын
I mean, if the video's short enough, you could use something like the PL_MPEG decoder. Or roll your own format if you want longer videos.
@klimisioannidis
@klimisioannidis 2 жыл бұрын
What about PPMd compression, have you considered it?
@givezerofx
@givezerofx 2 жыл бұрын
I thought fitting 3 seasons of Aqua Teen Hunger force on a CD in 2005 was impressive damn that's pretty cool good job!
@MZZenyl
@MZZenyl 2 жыл бұрын
- There actually are ANSI escape sequences for full 24-bit RGB colors (the standard 16,777,216 different colors): "[38;2;RRR;GGG;BBBm" for foreground and "[48;2;RRR;GGG;BBBm" for background, with RRR, GGG, and BBB being the decimal color channel values (0-255). On Windows, if using ConHost (the "old" default console host application, as opposite to the new Windows Terminal UWP application), this is only supported as of Windows 10 (from around 2017 and going forward). - I've managed to get a 120x30 console buffer to update, with fully randomized RGB fore- and background colors for each character, around 60-100 times per second. The "framerate" with ConHost is tied to your CPU, with mine being a quadcore i5 from 2014. This was written in C#, however utilized P/Invoke to go around .NET's relatively slow "Console.Write" method, and instead utilize WinAPI's "WriteConsole" function, which dramatically increases performance.
@wolfrig2000
@wolfrig2000 2 жыл бұрын
I like that you started with the actual content. And then explained how it works. I hate how no one does this, they put the content at the very very end to try to get you to watch longer, and it just makes me not want to watch their video, or in a lot of cases, never watch their channel again.
@I.____.....__...__
@I.____.....__...__ 2 жыл бұрын
When the video looks like that, you don't need the audio to be "decent quality", you can crush that too. 🤷
@jan_harald
@jan_harald 2 жыл бұрын
pc-speaker beeps all the way, babyyy! (it can actually beep out surprisingly legible music)
@HappyBeezerStudios
@HappyBeezerStudios 2 жыл бұрын
@@jan_harald Oh yah, there is even a player (BaWaMi) that can send midi output to the speaker and a program for DOS that can do the same with wav files. Let's just say What Is Love has never been that chiptuny.
@NimhLabs
@NimhLabs 2 жыл бұрын
Fully embrace "The Toxic we have bad home"!
@technospyform1578
@technospyform1578 2 жыл бұрын
Put it through that one shit mic from a Logitech camera
@Stijn081
@Stijn081 2 жыл бұрын
You’ve very good at explaining complex concepts in simple terms. Great video!
@tomyyoung2624
@tomyyoung2624 2 жыл бұрын
Yes Good Right -!
@a_antw
@a_antw 2 жыл бұрын
Dude cool project , just as always , glad you're back
@AsciiWolf
@AsciiWolf 2 жыл бұрын
I remember playing the BB demo over and over around the year 2003 (using a live Knoppix Linux CD) and absolutely loving it. 🙂 I still find AAlib amazing.
@NoorquackerInd
@NoorquackerInd 2 жыл бұрын
When you talked about color limitations, I was expecting you to mention Bad Apple, and I'm very happy that you did :)
@kevwang0712
@kevwang0712 2 жыл бұрын
When there's a new Elf video you know it's going to be a good day
@NimhLabs
@NimhLabs 2 жыл бұрын
I love this sort of stuff... the Demo Scene is full of fun stuff like this
@Man-of-Steel674
@Man-of-Steel674 2 жыл бұрын
When the world needed him the most he returned. Hurrayyyyy..... Yes I am aware that this is his 3rd video since the long break he had.
@DistrosProjects
@DistrosProjects 2 жыл бұрын
Technically his fourth since he posted a short
@Man-of-Steel674
@Man-of-Steel674 2 жыл бұрын
@@DistrosProjects calling "shorts" an actual video is bit of stretch for me. 🤣
@AaronOfMpls
@AaronOfMpls 2 жыл бұрын
@@Man-of-Steel674 I'm counting the short! I view them on desktop anyway, as regular videos so they won't auto-loop. Basically, if you load them from your Subscriptions page or the creator's channel -> Videos page, they'll play as a normal video in KZbin's normal video player. (Not sure about the homepage, since I never visit it; I just jump straight to my subscriptions.)
@GameMaker3_5
@GameMaker3_5 2 жыл бұрын
Fun Fact: I actually have a few somewhat short videos that are small enough to fit on a floppy disk stored on my phone. Granted they aren't super long or high quality, but they are good enough to suit one's shitpost viewing pleasure
@windowsxpnt2347
@windowsxpnt2347 2 жыл бұрын
shitpost delivery service, for a monthly fee, you get sent a box of floppy disks containing nothing but shitposts every month
@Setupthemabomb
@Setupthemabomb 2 жыл бұрын
That's reminds me back in 2005 when we downloaded bunch of movie clip or MV from wap websites, they generally a 320x240 vids with size less than 500KB, they are so pixelated it almost like a Japanese hentai censorship
@belstar1128
@belstar1128 2 жыл бұрын
My old nokia could record 10 second avi clips the resolution was 96p at 10 fps the files where 128kb.
@GameMaker3_5
@GameMaker3_5 2 жыл бұрын
@@belstar1128 cool
@GameMaker3_5
@GameMaker3_5 2 жыл бұрын
@@windowsxpnt2347 You should sign me up...
@Eokoi
@Eokoi 6 ай бұрын
I thought about suggesting that you port bad apple, but it indeed was ported everywhere by everyone. Also, I realised that I am already so used to modern tech that I forgot how infinitely small files needed to be back then
@Reaver9021
@Reaver9021 2 жыл бұрын
You could have further compress file by using wavelet transformation + plus huffman coding at 15fps then run it at 30 fps by interlacing or black frame insertion. With this way there may had been enough room for audio as well in the floppy. Still though amazing stuff.
@abdelali9279
@abdelali9279 2 жыл бұрын
Yup, wasn't asking for this but I really enjoyed it, like you'd be the talk of the computer lab if you showed everyone the full Toxic video on those XP machines, totally cool if you ask me.
@pyotyrprepka6422
@pyotyrprepka6422 Жыл бұрын
Years ago I ripped an mp3 file of the Peanuts tune "Linus and Lucy" @56Kbs in stereo to fit on a floppy but sound quality wasn't all that good. Wouldn't have thought video was possible. Very clever if you ask me. BTW,you can reformat a 1.44MB disk to 2.0MB using RLL encoded formatting
@FiEctro
@FiEctro Жыл бұрын
A long time ago, we just split archive with video into several parts, and several times we went to a neighbor who had Internet access with one floppy disk.
@hojnikb
@hojnikb 2 жыл бұрын
There's something else that could be done and would yield an actual video clip on floppy disk. If we just limit ourself to floppy disk, but not floppy drives, you can actually fit 32MB onto a regular floppy media. What you need is a SuperDisk LS-240 drive, which has the ability to format and store regular floppy to 32MB, instead of the usual 1,44MB. So data is on the floppy media, it's just not compatabile with anything other than LS-240. Now that we have 32MB to play with, we need to store the video as efficiently as possible. VVC (or H.266) is the latest and most efficient codec out there. With toxic being a 3.31min video, we have about ~1200Kbit to play with. I think 1080p@30FPS would yield a pretty decent result.
@internationalchannel4life270
@internationalchannel4life270 10 ай бұрын
I like how this pop-upped on my recommendations the day Britney dropped her autobiography lol.
@cristianovoa
@cristianovoa 2 жыл бұрын
glad to see you're still around, thank you so much
@edman1357
@edman1357 Жыл бұрын
“Compression?” -Modern Game Developer
@tomysshadow
@tomysshadow 2 жыл бұрын
Since your goal was to distribute as an executable instead of ZIP, maybe you could've made use of an executable packer. UPX comes to mind, and there are probably a multitude of others.
@nik4790
@nik4790 2 жыл бұрын
I’d love to see a pc speaker single voice square wave version of Toxic playing along with it.
@DrYak
@DrYak 2 жыл бұрын
[Coder's evil grin:] With or without PWM?
@flicsmo6838
@flicsmo6838 2 жыл бұрын
Super cool! I wonder if you could use an edge detection algorithm of sorts to figure out where notable 'lines' are in the video, and use the appropriate character based on weighting of pixels (e.g. * would be top-heavy, , would be bottom heavy and so on) to increase perceived sharpness?
@achtsekundenfurz7876
@achtsekundenfurz7876 2 жыл бұрын
One issue is that you never know how those character look on the target platform. For example, * could be perfectly centered on some low-res platforms like C64 and IBM CGA. Another example: ~ could be centered or top-heavy. I'd suggest characters which are always top- or bottom-heavy, like °, " and _ .
@ihavetwofaces
@ihavetwofaces Жыл бұрын
Oh god, now all I can imagine is this playing as a keygen song with the asciitext video and I'm OBSESSED.
@robertmason9737
@robertmason9737 2 жыл бұрын
Kickin' Awesome, Man! I wonder what it'll be like to shove a compressed version of Shrek onto a floppy. I know there was a guy out there who was able to turn the entier movie into a gif.
@absalomdraconis
@absalomdraconis 2 жыл бұрын
Eh, maybe a floptical or something. Shrek would likely just be too long to compress well enough.
@HappyBeezerStudios
@HappyBeezerStudios 2 жыл бұрын
We're talking about 5400 seconds of video. that means a max of around 30 kbps combined for audio and video. Even with Opus at lowest setttings we have maybe 14 kbps for video left What I have done so far is rendering Shrek at 2.5 mbps 96x56 pixel mpeg-2 video on my mp3 player. Size is around 212 MB at 2.5 mbps And Never Gonna Give You Up at 160x90 in HEVC/Opus with a total bitrate of 55 kbps and a quality that is just adequate to rickroll people from floppy. So I don't think we get Shrek down to floppy like that.
@another3997
@another3997 2 жыл бұрын
Making full length movie files in to an animated GIF isn't difficult. People have been doing that for 20 years or more. Making it small enough to fit on a 1.44Mb floppy disk? Well, if you drop the resolution to 16 x 9 pixels and settle for 3 frames per second, then do some epic compression, you might fit it on a disk. It won't be watchable, but hey... that's not the point. 😁
@Jamato-sUn
@Jamato-sUn 2 жыл бұрын
Last year I worked on a pet project inspired by SUPER HOT shaders that transformed images into colored ASCII, but you have certainly gotten further. I'd love to know how exactly you picked those combinations of background and character colors to make great colored images.
@ikannunaplays
@ikannunaplays 2 жыл бұрын
The terminal frame rate would improve significantly by going full screen (alt + enter) and allowing the system to use the native text mode of the display.
@iitzfizz
@iitzfizz 2 жыл бұрын
I remember passing around copies of Doom on a 3.5 inch floppy in school and playing it in I.T.
@nicknorthcutt7680
@nicknorthcutt7680 7 ай бұрын
I never knew i needed this until now 😂
@Nulpickle
@Nulpickle Жыл бұрын
5:35 “every single port of this has been made by programmers far more talented then me” you are the most talented programmer on KZbin you put ray tracing on a graphing calculator and then went hmmm not enough so you put Minecraft on a graphing calculator
@Aphelia.
@Aphelia. 2 жыл бұрын
Yoo I swear you have the most underrated channel. It's so entertaining to watch even to me as I don't know anything about programming lol
@jamvan1000
@jamvan1000 2 жыл бұрын
The Toxic music video will turn into the video form of Doom and people will try to play it on everything imaginable
@parnikkapore
@parnikkapore 2 жыл бұрын
Bad Apple round 2 kickoff!
@NiHaoMike64
@NiHaoMike64 2 жыл бұрын
Last year, I was developing a wireless sensor system for a zero export solar inverter (a surprisingly complex task given the latency requirement is a few hundred microseconds or less, otherwise the inverter will not be able to follow the current waveform), I tried playing Toxic through it to see how it handled it. It came out slightly muffled, about the same as a cheap FM radio. Since the bandwidth requirement was quite modest - up to about 2kHz for the current waveform plus subcarriers at about 4kHz and 8kHz - that was good enough.
@msthalamus2172
@msthalamus2172 2 жыл бұрын
Video via text has been around since at least the 80s. We used to swap a few seconds of... mature... content on 360K disks that way. :)
@Michka1001
@Michka1001 2 жыл бұрын
This is amazing! I'd legit love to see all my favourite video clips like this 😅
@seanhaas6151
@seanhaas6151 2 жыл бұрын
I'd recommend looking at AMR encoding for tiny audio. It sounds awful, but has surprisingly widespread support.
@DrYak
@DrYak 2 жыл бұрын
...except that it is patent encumbered making the result slightly less portable. An alternative would be Codec-2: a similar one that is open-source (and thus one could make Linux builds of the same executable). Note that both these codecs are speech codec, geared specifically to compressing human voice. The lyrics might still be intelligible, but the music will probably sound very garbled.
@itsatomtech
@itsatomtech 2 жыл бұрын
I on the past, made a program that outputs asterisk representation of letters inputted by the user, well now I saw a video represented in text... Well yeah! ... it might be even be played on some old space probes for aliens, good good.
@AMDAthlonx64
@AMDAthlonx64 Жыл бұрын
The video was cool, and the idea was very interesting. But I've also tried the same thing, and it's perfectly possible to just compress an mp4 so it fits in a floppy. I've done so with ffmpeg, and I think I was able to keep the audio and color, with a 64p or 128p resolution
@QUANTUMJOKER
@QUANTUMJOKER 2 жыл бұрын
This was really fun and engaging to watch. Most of the techniques went over my head, but this is my "fault", as I have almost no experience in coding. Great job. :)
@HelgiWaag
@HelgiWaag 2 жыл бұрын
1.44MB was just marketing speak for 1440KB (twice the old 720 DD floppies) - mixing base 2 and base 10 data units. Thats why you'd see something like 1.38MB free.
@Ck87JF
@Ck87JF 2 жыл бұрын
Yeah, whenever I see people talk about 1.44MB of storage, I think "nah man, you've only got 1.38!" That I remember this YEARS later and can't remember what I did two days ago is kinda wild.
@codenamelambda
@codenamelambda 2 жыл бұрын
I think a better possible compression could've been something along these lines (using PNG compression as an inspiration): for each pixel select the closest match between the one above, left or temporally before, temporally before + left/right/up/down; but with some well chosen bias to make direction-difference pairs more similar on average. Store the direction-difference pairs for everything (except the first top left pixel) via Huffman coding You could get even better compression by modelling brightness as just a ring modulo [number of brightness levels] so that you can just wrap around from the highest to lowest with a low number, increasing compression rate for high contrast areas as well
@superdanilo2007
@superdanilo2007 10 ай бұрын
This kind of tecnology was used many times for game boy games
@CharlesVanNoland
@CharlesVanNoland Жыл бұрын
Also, instead of Huffman, you should've used Range/Arithmetic encoding (or Asymmetric Numeral Tables if you want the fastest decoding with the compression ratio of arithmetic coding) which will more closely approach the Shannon limit of the data being compressed, whereas Huffman only excels where the frequency of symbols is at powers of two. Then you could've increased the rez a little bit!
@RobloxGuestNews
@RobloxGuestNews 2 жыл бұрын
Nice to see people other than me doing this stuff
@OpreanMircea
@OpreanMircea 2 жыл бұрын
"but The Science Elf, why to Bad apple?" BECAUSE IT'S BEEN DONE TO DEATH!!!
@sylvainmichaud2262
@sylvainmichaud2262 2 жыл бұрын
I love it when "science" answers to questions that no one asks when there are so many relevant unanswered questions.
@Lelush228
@Lelush228 5 ай бұрын
Once i experimented with Wolfenstein 3d-like renderer in windows terminal. C# standard write was too slow even when i sacrificed color and wrote all the buffer in one call. Then i tried using p/invoke and was shocked by it's performance, hundreds of writes per second even when i maxed terminal window and used different colours.
@gardiner_bryant
@gardiner_bryant 2 жыл бұрын
Love your content, man. This is fantastic. Though you might consider using a logarithmic approach to your color values that's weighted towards the dark colors rather than having your color values spaced evenly. Your eyes are not as good distinguishing bright values from each other.
@aiden_3c
@aiden_3c 2 жыл бұрын
' "But" I pretend to hear you ask.' Big fan of that lol
@Palmtop_User
@Palmtop_User 2 жыл бұрын
There was a consumer camera called the mavica that used floppy disk. Later models allowed you to record short low res videos
@Mellun-P
@Mellun-P Жыл бұрын
5:14 I’ve seen Rickroll so many times that I swear I could see the colors of his hair and skin….that is such a weird illusion
@you_just
@you_just 2 жыл бұрын
that likelihood encoding was so smart!
@kookiespace
@kookiespace 2 жыл бұрын
Ayyy, glad to see you're back :)
@samo133
@samo133 5 ай бұрын
Ive literally put a 3 minute 3gp on a Floppy disk without a problem. IT had like 900kb
@alexrockey3730
@alexrockey3730 9 ай бұрын
Oh, hey! An HP TC1100! I still use mine for drawing.
@franci2a
@franci2a 2 жыл бұрын
The fact that you’ve chosen Toxic gets you an instant like from 00:00 from me
@Tore_Lund
@Tore_Lund Жыл бұрын
Back in the day, I used to send floppies to friends with Real player and around a minute of low res video for fun. That was when dialup was the norm and much too slow for video.
@kevinch3
@kevinch3 11 ай бұрын
Imagine instead of storing the file, use it to broadcast!
@jack8407
@jack8407 2 жыл бұрын
Its great seeing you upload regularly :)
@thedudely1
@thedudely1 2 жыл бұрын
I love representing formats like pictures or video in weird ways like through sound or text or whatever else.
@Roxor128
@Roxor128 2 жыл бұрын
Check out 8088 Corruption by Trixter/Hornet (kzbin.info/www/bejne/eZTFqp2Nn92lla8 (download link in the description)). Text-mode full-motion video on an XT with CGA and a Sound Blaster. He later followed it up with 8088 Domination, which does the same thing in graphics mode. If you want to run them on a real period machine (as opposed to an emulator), you will need an entire hard drive for just one of them as they're 10 and 30 MB, respectively.
@Vitaliuz
@Vitaliuz Жыл бұрын
*Demosceners:* _"Only one?.."_
@colinltube
@colinltube Ай бұрын
Neat! I'll try to play Toxic on my Apple II player to see if the result is satisfying.
@cristinaamaliamustatea2305
@cristinaamaliamustatea2305 2 жыл бұрын
Coolest thing I've come across lately
@lod4246
@lod4246 2 жыл бұрын
5:13 Woah, that looks so cool!
@verstraetenandre
@verstraetenandre 2 жыл бұрын
Reminds me of something i did for fun some years ago... On a fedora core 2 linux machine in runlevel 3 (textmode), i had a lynx text mode browser and youtube was working in it - i would use ctrl + O to launch a little script i made (simple bash), it downloaded the video (mp4) and then displayed it as ascii video! (a fun little thing to do for anyone who is bored out there) Oh, and i remember my goto test video was shakira's "wherever, whenever"... Just because it was HQ and popular...
@DoctorNemmo
@DoctorNemmo 2 жыл бұрын
Good to see the HP TC1100 up there. I still have mine.
@spazmaster6731
@spazmaster6731 2 жыл бұрын
Several months ago I actually did something similar using Bad Apple (of course) to display video on the terminal. My version of course was a lot more feature-lacking and barebones, I only used spaces, '*', and '#' to render the different "intensities" of white, and forced it to run at a 80x30 character resolution. I went ahead and cross-compiled it for MIPS el and ran it through the UART port on my wifi router, it ran at like 5 fps but honestly I'm surprised I could get it to run at all on that thing.
@lordbeermonster
@lordbeermonster 2 жыл бұрын
Have you tried zipping it? Yes, but it still wasn't small enough. Well Stuffit then? Yes, let's go to the pub.
@geraldyurekiii3089
@geraldyurekiii3089 2 жыл бұрын
I was asking for this, thankyou!
@travelwithoutmoving8842
@travelwithoutmoving8842 Жыл бұрын
This is so mind boggling lol. Its like being an artist you either have it or you dont , i dont have it i could never be able to do this no matter how hard i tried.
@kevinsiv3064
@kevinsiv3064 2 жыл бұрын
Oh man, that Zebra takes me back. First Demoscene thing I ever saw. Good ol' bb, shipped with Knoppix. You know, Mplayer can just play any video in text! -vo aa is the option. I wonder how good that would look these days on a 4k display with a small console font.
@SilverBullet93GT
@SilverBullet93GT Жыл бұрын
now i want to watch youtube in ascii
@StevenDoesEverything
@StevenDoesEverything Жыл бұрын
Ah yes, Bit-ney Spears...
@LavaCreeperPeople
@LavaCreeperPeople Жыл бұрын
kek
@AiOinc1
@AiOinc1 2 жыл бұрын
Ha, I remember back in the day we didn't have USB drives and CD burners were expensive, so my friend handed me a Diskette with a 10 second clip of AMV Hell on it Except it was an actual video file and I watched it in RealPlayer. Just a heads up, Linux is not the only option for color in the terminal. Windows and DOS have been able to do it since, well, the dawn of the color graphics adapter for the PC! Only 16 colors but that is still a level that Linux supports as well. The Windows console just does it in a much more convenient and speed oriented way. You should really look into the 8088 Corruption/ Domination music video. Get color, full motion, and audio out of it next! Since you are returning to home every frame, why didn't you also go the compression route of only storing the data that changed between frames? This could have saved you a bunch of data as well while retaining a bit more quality!
@loganiushere
@loganiushere 4 ай бұрын
I bet you could get 30FPS video working using some kind of temporal compression. My ideas is if most or the frame stays the same from the last frame, use some kind of RLE to compress the regions of the frame that stay the same, then use the compression you designed to encode the rest. Incidentally, I think you nearly reinvented LZMA. Come to think of it, LZMA might actually be just what you need, especially because the LZ77 component will efficiently encode any repeated data, such as data seen on a previous frame.
@Wheagg
@Wheagg 2 жыл бұрын
"let's choose this video because it has a lot of contrast" "Wait now this Huffman algorithm won't work because too much contrast" The duality of man
@W7WIL
@W7WIL 2 жыл бұрын
Alright, so I can't even begin to describe how awesome this is. As I type this comment, I am watching the movie Hackers in a MacOS terminal window! You rock.
@AnthonyKing-yk4tn
@AnthonyKing-yk4tn Жыл бұрын
I remember watching the original Spider-Man movie on a floppy disk when I was a kid. It was split into 5 different disks (may have been more, I was 9 at the time so who knows) and I'm pretty sure my father pirated the movie like he did many other things.
@catsame5703
@catsame5703 2 жыл бұрын
Nerds:we played a video from a floppy disk Weebs: got full motion video to run on 5155 portable
@Steve-jy1vd
@Steve-jy1vd 2 жыл бұрын
Welp, now I know what my startup script for my terminals will be doing from now on.... So many bash terminals in my life.... all the options!
@natelax1367
@natelax1367 2 жыл бұрын
Toxic came out at a time when I watched music videos every morning while getting ready for middle school. It was one of my favorites and it definitely wasn’t because of the diamond outfit
@SetoKaibaVd
@SetoKaibaVd 2 ай бұрын
I was asking for exactly this. Thanks
@maxmyzer9172
@maxmyzer9172 2 жыл бұрын
MC Hart - Don't Copy That Floppy -------------------------------- (Corey: Jenny, hold up. Look, I brought a disk and we could copy this, ok? We could play it on my brother computer. Jenny: Ok, no problem... All we gotta do is... Woah! Corey: Are you sure you know whatcha doing?) Did I hear you right, did I hear you sayin' That you're gonna make a copy of a game without payin'? Come on, guys, I thought you knew better don't copy that floppy! Don't don't don't don't... (Corey: Wait a minute. Who the heck are you, anyway? Jenny: Yeah. And what are you doing on my computer?) I'm your MC Double Def DP That's the Disk Protector for you and the posse That's your artists, writers, designers and programmers They pump up the images for games and gramma's that lets you learn, but also play The games you came here for today Now I know you love the game and that's alright to do Because the posse who make them, they love them too But if you start stealing, there's no more they can do (Corey: But I just wanted to make one copy!) You say 'I'll just make a copy, for me and a friend' Then he'll make one and she'll make one and where will it end? One leads to another then ten, then more, And no one buys anything from the store So no one gets paid and they can't make more The posse breaks up and they close the door Don't copy! Don't copy that floppy! So let me break this down for you: D-D-Do-Do-Don't No Carmen Sandiego, no more Oregon Trail Tetris and the others, they're all gonna fail Not because we want it but because you're just takin' it Dis-res-pec-tin' all the folks who are ma-kin' it The more you take, the less there will be The disks become fewer, the games fall away The screen starts to tweak, and then it will fade Programs fall through a black hole in space The computer world becomes bleak and stark Loses its life and the screen goes dark (Computer: Welcome to the end of the computer age... mwahahahaha...) But I'm much too strong and you're much too smart To let that happen to your chances to explore Parts of the new age just behind the door of your minds You're the posse of the future and you hold in your brains what's never thought before And in time, you'll see just so much more That's why I'm here and that's what I'm fighting for Don't copy! Don't copy that floppy! Now let me introduce you, to some of the teams That will explain a little more about what I mean! D-D-Do-Do-Don't... Don't copy that floppy! You see, on these disks we have frozen in time The creativity of someone's mind Do you think, that because, with a flick of a key You can copy that game, that the work is free This creativity, we protect it by law We value so highly, what the mind's eye saw Don't copy! Don't copy that floppy! D-D-Do-Do-Don't... Don't copy... Don't copy that floppy! To do the right thing, it's really simple for you The copyright law, it will tell you what to do Buy one, for every computer you use Anything else is like going to the store Taking the disk, and walking out the door It's called thiefin', stealin', taking what's not yours Is that really where you want your life to go? Think about it, I don't think so. Don't copy! Don't copy that floppy! Now you see a game you like and you really want to try it Don't copy that floppy, just go to the store and buy it Think of it this way, okay? When you're buy a disk, you're sayin' to the team You respect what you do and what you're workin' for We'll keep up our support so you can make up some more We'll do the right thing and the future will be clear There will be new programs here at the end Don't copy! Don't copy that floppy! Now you know how the games and the programs are made And what you do to make sure that they're not gonna fade The bottom line is it's all up to you There's nothing more that I can do The goals in your court, dribble, shoot, or pass I'm sure you'll make your decision with class Don't copy that floppy (MC Double Def DP: See ya, I'm outta here!)
@yaacov.7796
@yaacov.7796 2 жыл бұрын
Great video and explanation, now all I need is a time machine to go back to the late 90's and wow my friends 🙂
I Made an Internet Time Machine
13:42
The Science Elf
Рет қаралды 632 М.
How did Microsoft store 1.68 MB on Windows 95 Setup diskettes?
22:12
Bits und Bolts
Рет қаралды 217 М.
Teaching a Toddler Household Habits: Diaper Disposal & Potty Training #shorts
00:16
escape in roblox in real life
00:13
Kan Andrey
Рет қаралды 63 МЛН
Or is Harriet Quinn good? #cosplay#joker #Harriet Quinn
00:20
佐助与鸣人
Рет қаралды 53 МЛН
Building a Relay-Powered Pi Machine
17:35
The Science Elf
Рет қаралды 317 М.
The Floppy Disk Boombox
10:11
Techmoan
Рет қаралды 896 М.
Sony's Handheld PC from 2006
11:42
The Science Elf
Рет қаралды 3,2 МЛН
The Bizarre World of Microsoft Ads
9:21
The Science Elf
Рет қаралды 117 М.
Archival Floppy Disk Preservation and Use
24:50
Tech Tangents
Рет қаралды 75 М.
The Weirdest Disks Ever
5:27
Techquickie
Рет қаралды 373 М.
The Microsoft Monopoly
18:12
The Science Elf
Рет қаралды 381 М.
Remember Floppy Disks? This Camera Uses Them...
10:06
Psivewri
Рет қаралды 51 М.
Upgrading the Ugliest Computer I Own
9:30
The Science Elf
Рет қаралды 415 М.
Using a Floppy Disk Drive on a Smartphone
12:33
LGR
Рет қаралды 1,5 МЛН
Покупка бюджетного смартфона? 😤
1:00
Вэйми
Рет қаралды 1,2 МЛН
iPhone 15 Pro Max vs Pixel 9 🚀
0:18
serg1us
Рет қаралды 1,2 МЛН