Effective libopus support #114

Open
H41L33 wants to merge 1 commit from H41L33/opus-support into main
H41L33 commented 2024-04-10 05:49:16 -04:00 (Migrated from github.com)

Changes to how bitrates and file formats are handled in the program to allow for an appropriate bitrate in the Opus codec, 192K is equal to MP3 320K so loads of space savings. An Opus file is about half the size of the default OGG.

It struck me after digging through the code for a bit that chances are it is in fact using the libopus codec, however with how bitrates are handled it's encoded at 320K. As I previously mentioned, 320K can be reduced to 192K with Opus without noticeable quality degradation. This bitrate reduction resolves into a final file size reduction of almost 50%.

I also included an extra printout just to inform the user as to the codec being used, it would've saved me some time when making this PR so I take that as meaning it's a useful feature to have.

Regarding the changes to zotify/utils.py, I'm not 100% sure if that's necessary but for the sake of one line...

Fixes Issue: #113

This is my first time contributing to a project, so forgive me if I've missed important details. I'm happy to have my first contribute to a tool I use!

Changes to how bitrates and file formats are handled in the program to allow for an appropriate bitrate in the Opus codec, 192K is equal to MP3 320K so loads of space savings. An Opus file is about half the size of the default OGG. It struck me after digging through the code for a bit that chances are it is in fact using the libopus codec, however with how bitrates are handled it's encoded at 320K. As I previously mentioned, 320K can be reduced to 192K with Opus without noticeable quality degradation. This bitrate reduction resolves into a final file size reduction of almost 50%. I also included an extra printout just to inform the user as to the codec being used, it would've saved me some time when making this PR so I take that as meaning it's a useful feature to have. Regarding the changes to `zotify/utils.py`, I'm not 100% sure if that's necessary but for the sake of one line... Fixes Issue: #113 _This is my first time contributing to a project, so forgive me if I've missed important details. I'm happy to have my first contribute to a tool I use!_
NicoWeio commented 2024-07-08 15:21:38 -04:00 (Migrated from github.com)

I can't really comment on the content of this PR, but I wanted to say that this is an excellent example of a first contribution! Keep it up!

I can't really comment on the content of this PR, but I wanted to say that this is an excellent example of a first contribution! Keep it up!
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin H41L33/opus-support:H41L33/opus-support
git switch H41L33/opus-support

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff H41L33/opus-support
git switch H41L33/opus-support
git rebase main
git switch main
git merge --ff-only H41L33/opus-support
git switch H41L33/opus-support
git rebase main
git switch main
git merge --no-ff H41L33/opus-support
git switch main
git merge --squash H41L33/opus-support
git switch main
git merge --ff-only H41L33/opus-support
git switch main
git merge H41L33/opus-support
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
zotify-dev/zotify!114
No description provided.