Skip to content
This repository has been archived by the owner on Feb 15, 2024. It is now read-only.

Speed up distribution: Vorbis/Ogg instead of MP3 #9

Closed
applejag opened this issue Oct 4, 2021 · 0 comments
Closed

Speed up distribution: Vorbis/Ogg instead of MP3 #9

applejag opened this issue Oct 4, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@applejag
Copy link
Owner

applejag commented Oct 4, 2021

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.

@applejag applejag added the enhancement New feature or request label Oct 4, 2021
@applejag applejag changed the title Distribute Vorbis/Ogg instead of MP3 Speed up distribution: Vorbis/Ogg instead of MP3 Oct 4, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant