Giter Site home page Giter Site logo

Comments (10)

 avatar commented on May 20, 2024

Just to clarify, I don't see any CPU spike in task maanger that suggests any transcoding it taking place, pretty sure it's sending them as-is.

from gmusicapi.

fruel avatar fruel commented on May 20, 2024

I am pretty sure the files are transcoded on the Goolge servers.
Test scenario:

Uploading a FLAC file with Music Manager while monitoring the CPU usage.

FLAC File: http://www.eclassical.com/custom/eclassical/files/BIS1536-001-flac_16.flac
Mediainfo of FLAC: http://pastebin.com/tKMTeyc6

Uploading the file started immediately after I click the Upload button in Music Manager. CPU usage of the Music Manager is never higher than 6% (CPU: Intel Core 2 Duo T9900 @ 3GHz). Upload rate ~60kb/s

CPU usage statistic (Format: [Time] [Usage in %]): http://pastebin.com/EXM8Uciv

Uploaded file on Google Music: http://img189.imageshack.us/img189/5364/95410234.png

Mediainfo of MP3 downloaded from Google Music: http://pastebin.com/TNMmv26f

from gmusicapi.

simon-weber avatar simon-weber commented on May 20, 2024

Thanks for checking this out, fruel; this seems pretty conclusive.

from gmusicapi.

simon-weber avatar simon-weber commented on May 20, 2024

I just confirmed this.

Thanks for bringing this up; this is a huge simplification!

from gmusicapi.

simon-weber avatar simon-weber commented on May 20, 2024

It looks local transcoding is done - this is causing problems with my new uploading code. I'm sure m4a -> mp3 is done, and wma -> mp3 might be done. Notably, flac can be sent as-is, which explains the above results.

@fruel, do you mind trying to upload an m4a to see if you can recreate this?

from gmusicapi.

simon-weber avatar simon-weber commented on May 20, 2024

Actually, I just noticed that there are issues with my newly-uploaded flacs, too: I get a 400 when I try to stream, and a 404 when I try to download. I wonder if this is what #57 was referring to?

from gmusicapi.

simon-weber avatar simon-weber commented on May 20, 2024

It looks like a new Music Manager was pushed out recently. I'll spend the weekend looking for evidence that non-mp3s can be uploaded without transcoding.

I'm planning to publish a new release next week that gets uploading working again.

from gmusicapi.

simon-weber avatar simon-weber commented on May 20, 2024

Bad news: local transcoding is unavoidable right now. This is a bummer - especially for @mgillespie - but there's nothing I can do about it from my side. The current server software simply doesn't deal with non-mp3 uploads (note that I can actually get flacs and oggs up to the server, but they won't play. The Music Manager transcodes these same files to mp3 first).

There is some good news, at least: vbr mp3s are supported, and uploaded as-is (at least for <=320k. I haven't tried higher bitrates).

I'll use avconv like I used ffmpeg before, and I'll figure out some way for quality to be configured (likely just an int for -qscale). All of this will be explained thoroughly, and folks will always be able to transcode offline to mp3 if they don't want me to touch their music.

from gmusicapi.

simon-weber avatar simon-weber commented on May 20, 2024

Ok, all my tests pass for 076c04b. This should work for all formats, but non-mp3 formats are transcoded with avconv.

If you get a "permanent error" from the server, you might have to change the tags of the file you're uploading before it'll work (this is the server seeing that it had a problem before with a file of the same hash).

from gmusicapi.

simon-weber avatar simon-weber commented on May 20, 2024

Ok, transcode quality is now exposed when uploading: https://unofficial-google-music-api.readthedocs.org/en/develop/#gmusicapi.api.Api.upload.

from gmusicapi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.