-
Notifications
You must be signed in to change notification settings - Fork 6
Speed up distribution: Vorbis/Ogg instead of MP3 #9
Description
Using mfp.jillejr.tech is slow at the moment. Even with all the optimizations I've mentioned in the README.md. The biggest issue I think is that there are just so many IPFS objects from the 7 GB of audio files that the distribution kind of fails. Using less data will result in more hash tables storing the CIDs, which should result in better peer discovery. Then the fact that noone is using the dApp is also hurting the app, but reducing the size should be a first step.
MP3 format is old, proprietary, highly lossy, and takes up a lot of disk space by today's standards.
Vorbis is a royalty-free format, and from my testing using Vorbis/Ogg we can shrink the episode's filesizes down to 40% of their MP3 counterparts.
Using ffmpeg:
$ ffmpeg -i music_for_programming_33-uuav.mp3 music_for_programming_33-uuav.ogg
ffmpeg version 4.3.2-0+deb11u1ubuntu1 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10 (Ubuntu 10.2.1-20ubuntu1)
//...
Input #0, mp3, from 'music_for_programming_33-uuav.mp3':
Metadata:
title : Episode 33 (Compiled by uuav)
comment : http://musicforprogramming.net/
artist : Music For Programming
date : 2015
Duration: 01:00:47.43, start: 0.025057, bitrate: 251 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 251 kb/s
Metadata:
encoder : LAME3.99r
Stream mapping:
Stream #0:0 -> #0:0 (mp3 (mp3float) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
Output #0, ogg, to 'music_for_programming_33-uuav.ogg':
Metadata:
title : Episode 33 (Compiled by uuav)
comment : http://musicforprogramming.net/
artist : Music For Programming
date : 2015
encoder : Lavf58.45.100
Stream #0:0: Audio: vorbis (libvorbis), 44100 Hz, stereo, fltp
Metadata:
encoder : Lavc58.91.100 libvorbis
title : Episode 33 (Compiled by uuav)
DESCRIPTION : http://musicforprogramming.net/
artist : Music For Programming
date : 2015
size= 45906kB time=01:00:47.38 bitrate= 103.1kbits/s speed=63.9x
video:0kB audio:45495kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 0.903292%Converting from mp3 to ogg will not recover any data that was lost in the compression from when the episodes were first exported to mp3, but at least ogg is a more compact file format.
Vorbis/Ogg is not as widely supported, though (82.4% of all users according to https://caniuse.com/ogg-vorbis), but as we're talking about potentially shrinking 7 GB down to 2.8 GB then I'm all for skipping compatibility with older devices.
My uneducated guess is that about 100% of the user-base for this IPFS dApp has a newer device and are not using internet explorer. And as for OS X users, they apparently have to be on v11.3 or later which came out 2020, but the size improvements are just too good.