Putting Video on a Floppy Disk

Поділитися
Вставка
  • Опубліковано 1 чер 2024
  • I put the Toxic video onto a floppy disk in probably the worst way possible.
    Check out the code here:
    github.com/TheScienceElf/Vide...
    Music Used:
    Rank and File - Silent Partner (0:00)
    No Good Right - Freedom Trail Studio (1:54)
    Shawl Paul - Norma Rockwell (5:01)
    Church of 8 Wheels - Otis McDonald(10:51)
    Clips in Order of Appearance:
    Toxic - • Britney Spears - Toxic... (0:00)
    Playing the LGR Floppy Disks Video FROM a floppy disk! - • Playing the LGR Floppy... (1:13)
    Take On Me - • a-ha - Take On Me (Off... (5:07, 5:18)
    Never Gonna Give You Up - • Rick Astley - Never Go... (5:13)
    Bad Apple!! - • Bad Apple!! - Full Ver... (5:26)
  • Наука та технологія

КОМЕНТАРІ • 648

  • @KazyEXE
    @KazyEXE 2 роки тому +1698

    Could throw a MIDI version of Toxic in there and see if that syncs!

    • @DryPaperHammerBro
      @DryPaperHammerBro 2 роки тому +31

      Exactly my suggestion!

    • @siimplysiibliings3723
      @siimplysiibliings3723 2 роки тому +17

      Or, if your sound card supports it, an MP3.

    • @RealEpikCartfrenYT
      @RealEpikCartfrenYT 2 роки тому +93

      @@siimplysiibliings3723 the mp3 would have to be very low quality to fit in the remaining space

    • @cs188creations
      @cs188creations 2 роки тому +45

      @@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 роки тому +45

      Bonus points if it uses the PC Speaker!

  • @gluttonousmaximus9048
    @gluttonousmaximus9048 2 роки тому +553

    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 UA-cam with audio. No demonitization nonsense to deal with.

    • @abso1utezer010
      @abso1utezer010 2 роки тому +31

      Oswald the Lucky Rabbit by Walt Disney has been in the public domain for a while, so he could use that

    • @Wheagg
      @Wheagg Рік тому +21

      @@abso1utezer010 a Disney film in public domain? What kind of divine intervention is this?

    • @brunocamposquenaoeoyoutuber
      @brunocamposquenaoeoyoutuber 4 місяці тому +3

      Now there is Steamboat Willie, so a part 2 could be made

  • @VocalEnby
    @VocalEnby 2 роки тому +839

    I really, really hope that porting Toxic becomes the new DOOM.

    • @CriticalTechReviews
      @CriticalTechReviews 2 роки тому +33

      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 роки тому +47

      Have you heard of something called bad apple?

    • @k.silverpoint
      @k.silverpoint 2 роки тому +15

      @@catsame5703 Mhm. They also mentioned it in the video.

    • @Majima_Nowhere
      @Majima_Nowhere 2 роки тому +16

      @@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.

    • @danx9194
      @danx9194 Рік тому +2

      I don't hope, don't give more fame to that horrible song

  • @ProjectPhysX
    @ProjectPhysX 2 роки тому +83

    I wrote a C++ program to play full color video in the console, compatible with both Windows and Linux. Demo here: ua-cam.com/video/tehGAbRB-sw/v-deo.html
    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 роки тому +2

      Awesome!

    • @Atamosk-bu7zt
      @Atamosk-bu7zt 2 роки тому +2

      That is quite amazing!

    • @jan_harald
      @jan_harald 2 роки тому +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

  • @engineering_georg8122
    @engineering_georg8122 2 роки тому +133

    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 роки тому +23

      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 Рік тому +16

      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 Рік тому +5

      Sounds like mp4 with their i frames and p frames. Good idea!

    • @dh2032
      @dh2032 9 місяців тому +1

      yes only redrawing what's changed, look at what accomplished there a lot ...... ,,,, xxxxx, in large patches on the screen, ?

    • @rich1051414
      @rich1051414 9 місяців тому +2

      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.

  • @3moirai
    @3moirai 2 роки тому +74

    Amazing! Very impressed with your analyses and the results were cool.

  • @MK-lk7nc
    @MK-lk7nc 2 роки тому +8

    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.

  • @FinFET
    @FinFET 2 роки тому +15

    Bet the next one will be "oops i did it again" 👀
    Great video!

  • @Nunya58294
    @Nunya58294 2 роки тому +24

    I didn't expect it to be text based... This really exceeded my expectations lol

  • @MZZenyl
    @MZZenyl 2 роки тому +4

    - 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.

  • @ssf1389
    @ssf1389 2 роки тому +25

    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 роки тому +1

      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 Рік тому

      @@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 роки тому +8

    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.

  • @RadikAlice
    @RadikAlice 2 роки тому +7

    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

  • @georgeanto07
    @georgeanto07 2 роки тому +2

    Dude cool project , just as always , glad you're back

  • @redwinedrummer
    @redwinedrummer 2 роки тому +77

    Amazing work! Another fine example of how hardware limitations push innovation. Paradoxically, limitations open up more opportunities to explore. Great job! 👍

    • @joe55514
      @joe55514 Рік тому +1

      Or limitations create problems that motivates to solve and makes exploration cobined with creativity a necessity.

  • @Michka1001
    @Michka1001 Рік тому

    This is amazing! I'd legit love to see all my favourite video clips like this 😅

  • @Stijn081
    @Stijn081 2 роки тому +4

    You’ve very good at explaining complex concepts in simple terms. Great video!

  • @givezerofx
    @givezerofx 2 роки тому +7

    I thought fitting 3 seasons of Aqua Teen Hunger force on a CD in 2005 was impressive damn that's pretty cool good job!

  • @I.____.....__...__
    @I.____.....__...__ 2 роки тому +81

    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 роки тому +5

      pc-speaker beeps all the way, babyyy! (it can actually beep out surprisingly legible music)

    • @HappyBeezerStudios
      @HappyBeezerStudios 2 роки тому +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 роки тому +1

      Fully embrace "The Toxic we have bad home"!

    • @technospyform1578
      @technospyform1578 Рік тому +2

      Put it through that one shit mic from a Logitech camera

  • @wolfrig2000
    @wolfrig2000 2 роки тому +1

    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.

  • @giantisopod
    @giantisopod Рік тому +7

    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!

  • @Eok6
    @Eok6 2 місяці тому +1

    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

  • @jack8407
    @jack8407 2 роки тому

    Its great seeing you upload regularly :)

  • @Stego27
    @Stego27 2 роки тому +18

    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 роки тому +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 роки тому +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 роки тому +1

      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 Рік тому

      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 Рік тому

      What about PPMd compression, have you considered it?

  • @geraldyurekiii3089
    @geraldyurekiii3089 2 роки тому

    I was asking for this, thankyou!

  • @NoorquackerInd
    @NoorquackerInd 2 роки тому +1

    When you talked about color limitations, I was expecting you to mention Bad Apple, and I'm very happy that you did :)

  • @NimhLabs
    @NimhLabs 2 роки тому +4

    I love this sort of stuff... the Demo Scene is full of fun stuff like this

  • @abdelali9279
    @abdelali9279 2 роки тому +1

    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.

  • @AsciiWolf
    @AsciiWolf Рік тому +9

    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.

  • @nicknorthcutt7680
    @nicknorthcutt7680 3 місяці тому +2

    I never knew i needed this until now 😂

  • @kookiespace
    @kookiespace 2 роки тому

    Ayyy, glad to see you're back :)

  • @GameMaker3_5
    @GameMaker3_5 2 роки тому +77

    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 роки тому +25

      shitpost delivery service, for a monthly fee, you get sent a box of floppy disks containing nothing but shitposts every month

    • @Setupthemabomb
      @Setupthemabomb 2 роки тому +15

      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 роки тому +8

      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 роки тому +1

      @@belstar1128 cool

    • @GameMaker3_5
      @GameMaker3_5 2 роки тому +1

      @@windowsxpnt2347 You should sign me up...

  • @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

  • @oisiaa
    @oisiaa 2 роки тому +14

    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.

    • @ClearComplexity
      @ClearComplexity 2 роки тому +2

      I'll pass on going back to dialup ever again.

    • @mattizzle81
      @mattizzle81 2 роки тому +1

      @@ClearComplexity 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.

  • @kevwang0712
    @kevwang0712 2 роки тому +7

    When there's a new Elf video you know it's going to be a good day

  • @QUANTUMJOKER
    @QUANTUMJOKER Рік тому

    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. :)

  • @nerdsrejects-productions2563
    @nerdsrejects-productions2563 2 роки тому

    looks like alot of work. Congrats!

  • @cristianovoa
    @cristianovoa 2 роки тому

    glad to see you're still around, thank you so much

  • @FiEctro
    @FiEctro 9 місяців тому +1

    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.

  • @flicsmo6838
    @flicsmo6838 2 роки тому +9

    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 Рік тому +1

      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 _ .

  • @ricardos.6198
    @ricardos.6198 8 місяців тому

    Excelent Bro!! Good strategic for solution of macro problems!

  • @Seriouskai
    @Seriouskai 2 роки тому

    Really cool stuff man!

  • @talkinghat88
    @talkinghat88 Рік тому

    Amazing work. Great case for small displays.

  • @pyotyrprepka6422
    @pyotyrprepka6422 Рік тому +1

    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

  • @RobloxGuestNews
    @RobloxGuestNews 2 роки тому

    Nice to see people other than me doing this stuff

  • @edman1357
    @edman1357 Рік тому +2

    “Compression?” -Modern Game Developer

  • @Reaver9021
    @Reaver9021 2 роки тому +12

    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.

  • @Catt0
    @Catt0 2 роки тому

    I love your channel :D

  • @tomysshadow
    @tomysshadow 2 роки тому +4

    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.

  • @internationalchannel4life270
    @internationalchannel4life270 7 місяців тому +1

    I like how this pop-upped on my recommendations the day Britney dropped her autobiography lol.

  • @Jamato-sUn
    @Jamato-sUn 2 роки тому +16

    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.

  • @cristinaamaliamustatea2305
    @cristinaamaliamustatea2305 2 роки тому

    Coolest thing I've come across lately

  • @pabloagsutinnavavieyra2308
    @pabloagsutinnavavieyra2308 2 роки тому

    I love this channel x)

  • @oxybrightdark8765
    @oxybrightdark8765 2 роки тому

    Thank you for subtitling this!

  • @TSL73
    @TSL73 2 роки тому +1

    Thanks for the videos!

  • @MrLuigiBean1
    @MrLuigiBean1 2 роки тому

    Holy cow, this is super cool!

  • @ihavetwofaces
    @ihavetwofaces 9 місяців тому

    Oh god, now all I can imagine is this playing as a keygen song with the asciitext video and I'm OBSESSED.

  • @yaknow5252
    @yaknow5252 Рік тому

    He just makes crazy cool stuff. You sir are worth a sub from me

  • @ikannunaplays
    @ikannunaplays Рік тому +3

    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.

  • @hojnikb
    @hojnikb 2 роки тому +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.

  • @BenLindelof
    @BenLindelof 2 роки тому

    Looks great!

  • @AdrielDoesGaming
    @AdrielDoesGaming 8 місяців тому

    That's pretty cool to see!

  • @you_just
    @you_just 2 роки тому

    that likelihood encoding was so smart!

  • @techshowyt
    @techshowyt 2 роки тому

    I've watched that BB Demo so many times. Always thought it was so cool

  • @israelb.7796
    @israelb.7796 Рік тому

    Great video and explanation, now all I need is a time machine to go back to the late 90's and wow my friends 🙂

  • @nik4790
    @nik4790 2 роки тому +5

    I’d love to see a pc speaker single voice square wave version of Toxic playing along with it.

    • @DrYak
      @DrYak Рік тому +1

      [Coder's evil grin:] With or without PWM?

  • @DoctorNemmo
    @DoctorNemmo 2 роки тому

    Good to see the HP TC1100 up there. I still have mine.

  • @NVAfilm
    @NVAfilm 2 роки тому

    Thank you this was awesome

  • @robertmason9737
    @robertmason9737 2 роки тому +9

    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 роки тому +1

      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 роки тому +1

      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. 😁

  • @Man-of-Steel674
    @Man-of-Steel674 2 роки тому +11

    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 роки тому +1

      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 UA-cam's normal video player. (Not sure about the homepage, since I never visit it; I just jump straight to my subscriptions.)

  • @iitzfizz
    @iitzfizz Рік тому +1

    I remember passing around copies of Doom on a 3.5 inch floppy in school and playing it in I.T.

  • @Lelush228
    @Lelush228 2 місяці тому +1

    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.

  • @spazmaster6731
    @spazmaster6731 2 роки тому +1

    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.

  • @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.

  • @seanhaas6151
    @seanhaas6151 2 роки тому +4

    I'd recommend looking at AMR encoding for tiny audio. It sounds awful, but has surprisingly widespread support.

    • @DrYak
      @DrYak Рік тому

      ...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.

  • @franci2a
    @franci2a 2 роки тому

    The fact that you’ve chosen Toxic gets you an instant like from 00:00 from me

  • @codenamelambda
    @codenamelambda 2 роки тому +1

    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

  • @Nulpickle
    @Nulpickle 9 місяців тому

    5:35 “every single port of this has been made by programmers far more talented then me” you are the most talented programmer on UA-cam you put ray tracing on a graphing calculator and then went hmmm not enough so you put Minecraft on a graphing calculator

  • @maurice2vd6
    @maurice2vd6 Рік тому

    Great vid and great thinking how to compress. About the audio. Was thinking about how Video Laserdisks used to decode audio. As video is at the level of MHz and audio in level of kHz they modulate the audio signal onto the video. That slight change in frequency of audio on top of video has no effect on image.Think similar you can think of a way how to use the high frequency and see if you somehow through modulation can put audio in the stream of data. Then also cut out most of audio signal as from 15kHz and above mostly inaudible.

  • @holygod8440
    @holygod8440 Рік тому

    This video is a masterpiece

  • @superdanilo2007
    @superdanilo2007 7 місяців тому +1

    This kind of tecnology was used many times for game boy games

  • @maestro-zq8gu
    @maestro-zq8gu Рік тому

    I remember really good video clips on single floppies on my old Amiga, which used double density disks, even less space than the high density PC disks granted they were only several seconds long. But at something like 24 fps it was still very impressive at the time.

  • @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 (ua-cam.com/video/CcbyjWjxr_M/v-deo.html (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.

  • @lod4246
    @lod4246 2 роки тому

    5:13 Woah, that looks so cool!

  • @sylvainmichaud2262
    @sylvainmichaud2262 2 роки тому

    I love it when "science" answers to questions that no one asks when there are so many relevant unanswered questions.

  • @UCs6ktlulE5BEeb3vBBOu6DQ
    @UCs6ktlulE5BEeb3vBBOu6DQ 2 роки тому

    that was a great rabbit hole

  • @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.

  • @samo133
    @samo133 2 місяці тому +2

    Ive literally put a 3 minute 3gp on a Floppy disk without a problem. IT had like 900kb

  • @Alex_192.
    @Alex_192. 3 місяці тому +3

    Port it to the TI-84

  • @Erpty05
    @Erpty05 Рік тому

    this is AWESOME

  • @glsOOOgls
    @glsOOOgls Рік тому

    Very nice. I had the honor to give you the 8192 like.

  • @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

  • @temmie-shop
    @temmie-shop Рік тому

    I loved it!

  • @MontieMongoose
    @MontieMongoose 2 роки тому +1

    This is pretty cool.

  • @kevinch3
    @kevinch3 7 місяців тому +1

    Imagine instead of storing the file, use it to broadcast!

  • @AMDAthlonx64
    @AMDAthlonx64 8 місяців тому +1

    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

  • @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 Рік тому +2

    now i want to watch youtube in ascii

  • @rustymixer2886
    @rustymixer2886 2 роки тому +1

    Great video.

  • @benclayton6166
    @benclayton6166 Рік тому

    Cool. Had you considered using frame-differential encoding (plus occasional key frames) to store only changed pixels?