GithubHelp home page GithubHelp logo

Comments (14)

miraclx avatar miraclx commented on May 13, 2024

This seems to be an issue with youtube-dl being in the System32 folder

Does this help? ytdl-org/youtube-dl#10053 (comment)

consequentially, because youtube-dl is packaged with freyr, you have to install freyr in a folder other than System32

from freyr-js.

steamgirl2020 avatar steamgirl2020 commented on May 13, 2024
freyr v0.1.0 - (c) Miraculous Owonubi <[email protected]>
-------------------------------------------------------------
Checking directory permissions...[done]
[https://music.apple.com/us/album/im-sorry-im-not-sorry-ep/1491795443]
 [•] Identifying service...[Apple Music]
 [•] Checking authentication...[authenticated]
 Detected [album]
 Obtaining album metadata...[done]
  ➤ Album Name: I'm Sorry, I'm Not Sorry
  ➤ Artist: Sody
  ➤ Tracks: 4
  ➤ Type: Album
  ➤ Year: 2020
  ➤ Genres: Singer/Songwriter, Music
 [•] Collating [I'm Sorry, I'm Not Sorry]...
  [•] Inquiring tracks...[done]
   • [01 What We Had]
      | ➤ Collating sources...
      |  ➤ [•] YouTube Music...[success, found 5 sources]
      | ➤ Awaiting audiofeeds...[done]
      | [✓] Got album art
      | [✓] Got raw track file
      | [•] Post Processing...
   • [02 Reason To Stay]
      | ➤ Collating sources...
      |  ➤ [•] YouTube Music...[success, found 6 sources]
      | ➤ Awaiting audiofeeds...[done]
      | [✓] Got album art
      | [✓] Got raw track file
      | [•] Post Processing...
   • [03 Nothing Ever Changes]
      | ➤ Collating sources...
      |  ➤ [•] YouTube Music...[success, found 5 sources]
      | ➤ Awaiting audiofeeds...[done]
      | [✓] Got album art
      | [✓] Got raw track file
      | [•] Post Processing...
   • [04 Love's a Waste]
      | ➤ Collating sources...
      |  ➤ [•] YouTube Music...[success, found 4 sources]
      | ➤ Awaiting audiofeeds...[done]
      | [✓] Got album art
      | [✓] Got raw track file
      | [•] Post Processing...
 [•] Download Complete
 [•] Embedding Metadata...
  • [✕] 01 What We Had [apple_music:track:1491795452] (failed: Failed while embedding metadata [1])
  • [✕] 02 Reason To Stay [apple_music:track:1491795455] (failed: Failed while embedding metadata [1])
  • [✕] 03 Nothing Ever Changes [apple_music:track:1491795607] (failed: Failed while embedding metadata [1])
  • [✕] 04 Love's a Waste [apple_music:track:1491795614] (failed: Failed while embedding metadata [1])
[•] Collation Complete
========== Stats ==========
 [•] Runtime: [47.6s]
 [•] Total queries: [01]
 [•] Total tracks: [04]
     » Skipped: [00]
     ✓ Passed:  [00]
     ✕ Failed:  [04]
 [•] Output directory: [.]
 [•] Cover Art: cover.png (640x640)
 [•] Total Output size: 0.00 B
 [•] Total Network Usage: 13.18 MB
     ♫ Media: 12.56 MB
     ➤ Album Art: 619.43 KB
 [•] Output bitrate: 320k
===========================

Thank you for your help, the download was successful, but Failed while embedding metadata

from freyr-js.

miraclx avatar miraclx commented on May 13, 2024

Please confirm that you have AtomicParsley installed.

See https://github.com/miraclx/freyr-js#requirements

Download here https://github.com/wez/atomicparsley/releases/latest

from freyr-js.

steamgirl2020 avatar steamgirl2020 commented on May 13, 2024

G:\freyr-js\bins\windows\AtomicParsley.exe
I have downloaded it, and the location is like this, but still wrong

from freyr-js.

miraclx avatar miraclx commented on May 13, 2024

Can you execute that path manually?

from freyr-js.

steamgirl2020 avatar steamgirl2020 commented on May 13, 2024
G:\>freyr-js\bins\windows\AtomicParsley.exe

AtomicParsley sets metadata into MPEG-4 files & derivatives supporting 3 tag
 schemes: iTunes-style, 3GPP assets & ISO defined copyright notifications.

AtomicParsley quick help for setting iTunes-style metadata into MPEG-4 files.

General usage examples:
  AtomicParsley /path/to.mp4 -T 1
  AtomicParsley /path/to.mp4 -t +
  AtomicParsley /path/to.mp4 --artist "Me" --artwork /path/to/art.jpg
  Atomicparsley /path/to.mp4 --albumArtist "You" --podcastFlag true
  Atomicparsley /path/to.mp4 --stik "TV Show" --advisory explicit

Getting information about the file & tags:
  -T  --test        Test file for mpeg4-ishness & print atom tree
  -t  --textdata    Prints tags embedded within the file
  -E  --extractPix  Extracts pix to the same folder as the mpeg-4 file

Setting iTunes-style metadata tags
  --artist       (string)     Set the artist tag
  --title        (string)     Set the title tag
  --album        (string)     Set the album tag
  --genre        (string)     Genre tag (see --longhelp for more info)
  --tracknum     (num)[/tot]  Track number (or track number/total tracks)
  --disk         (num)[/tot]  Disk number (or disk number/total disks)
  --comment      (string)     Set the comment tag
  --year         (num|UTC)    Year tag (see --longhelp for "Release Date")
  --lyrics       (string)     Set lyrics (not subject to 256 byte limit)
  --lyricsFile   (/path)      Set lyrics to the content of a file
  --composer     (string)     Set the composer tag
  --copyright    (string)     Set the copyright tag
  --grouping     (string)     Set the grouping tag
  --artwork      (/path)      Set a piece of artwork (jpeg or png only)
  --bpm          (number)     Set the tempo/bpm
  --albumArtist  (string)     Set the album artist tag
  --compilation  (boolean)    Set the compilation flag (true or false)
  --hdvideo      (number)     Set the hdvideo flag to one of:
                              false or 0 for standard definition
                              true or 1 for 720p
                              2 for 1080p
  --advisory     (string*)    Content advisory (*values: 'clean', 'explicit')
  --stik         (string*)    Sets the iTunes "stik" atom (see --longhelp)
  --description  (string)     Set the description tag
  --longdesc     (string)     Set the long description tag
  --storedesc    (string)     Set the store description tag
  --TVNetwork    (string)     Set the TV Network name
  --TVShowName   (string)     Set the TV Show name
  --TVEpisode    (string)     Set the TV episode/production code
  --TVSeasonNum  (number)     Set the TV Season number
  --TVEpisodeNum (number)     Set the TV Episode number
  --podcastFlag  (boolean)    Set the podcast flag (true or false)
  --category     (string)     Sets the podcast category
  --keyword      (string)     Sets the podcast keyword
  --podcastURL   (URL)        Set the podcast feed URL
  --podcastGUID  (URL)        Set the episode's URL tag
  --purchaseDate (UTC)        Set time of purchase
  --encodingTool (string)     Set the name of the encoder
  --encodedBy    (string)     Set the name of the Person/company who encoded the file
  --apID         (string)     Set the Account Name
  --cnID         (number)     Set the iTunes Catalog ID (see --longhelp)
  --geID         (number)     Set the iTunes Genre ID (see --longhelp)
  --xID          (string)     Set the vendor-supplied iTunes xID (see --longhelp)
  --gapless      (boolean)    Set the gapless playback flag
  --contentRating (string*)   Set tv/mpaa rating (see -rDNS-help)

Deleting tags
  Set the value to "":        --artist "" --stik "" --bpm ""
  To delete (all) artwork:    --artwork REMOVE_ALL
  manually removal:           --manualAtomRemove "moov.udta.meta.ilst.ATOM"

More detailed iTunes help is available with AtomicParsley --longhelp
Setting reverse DNS forms for iTunes files: see --reverseDNS-help
Setting 3gp assets into 3GPP & derivative files: see --3gp-help
Setting copyright notices for all files: see --ISO-help
For file-level options & padding info: see --file-help
Setting custom private tag extensions: see --uuid-help
Setting ID3 tags onto mpeg-4 files: see --ID3-help

----------------------------------------------------------------------
AtomicParsley version: 20210124.204813.0 840499fd8bb4c76c43889fe6ac7d54d3f5b28c27 (utf16)

Submit bug fixes to https://github.com/wez/atomicparsley

G:\>

from freyr-js.

miraclx avatar miraclx commented on May 13, 2024

So, looking at the earlier output, Failed while embedding metadata [1] shows that the exit code of executing the AtomicParsley command was 1, indicating a runtime error.

So, we'll have to investigate this to see what's going wrong.

Here:

if (typeof file === 'string') spawn(binaryPath, [file, ...parseMeta(args)], {env: extendPathOnEnv(path)}).on('close', cb);

Add stdio: 'inherit' to the child process options

-    if (typeof file === 'string') spawn(binaryPath, [file, ...parseMeta(args)], {env: extendPathOnEnv(path)}).on('close', cb);
+    if (typeof file === 'string') spawn(binaryPath, [file, ...parseMeta(args)], {env: extendPathOnEnv(path), stdio: 'inherit'}).on('close', cb);

This would enable us to see the output of the AtomicParsley command on execution

from freyr-js.

miraclx avatar miraclx commented on May 13, 2024

A search into AtomicParsley's source shows it exits with 1 on image-related errors. So, I'm guessing that's the case here too.

https://github.com/wez/atomicparsley/blob/1dbe1be78f0c260d89ab4a9cf2f0de5d0982bf0e/src/parsley.cpp#L173
https://github.com/wez/atomicparsley/blob/1dbe1be78f0c260d89ab4a9cf2f0de5d0982bf0e/src/parsley.cpp#L181
https://github.com/wez/atomicparsley/blob/1dbe1be78f0c260d89ab4a9cf2f0de5d0982bf0e/src/nsimage.mm#L122

My guess is, it rejects the intermediate file format .x4i that freyr saves cover art as.
(it actually checks the cover art headers, so the file extension is not an issue)

It's likely the file is corrupt, trying to isolate the problem further, could you try download something with Spotify instead of Apple Music?

Here's the spotify URI for the album you're testing with:
spotify:album:2D23kwwoy2JpZVuJwzE42B https://open.spotify.com/album/2D23kwwoy2JpZVuJwzE42B

from freyr-js.

steamgirl2020 avatar steamgirl2020 commented on May 13, 2024
freyr v0.1.0 - (c) Miraculous Owonubi <[email protected]>
-------------------------------------------------------------
Checking directory permissions...[done]
[spotify:album:2D23kwwoy2JpZVuJwzE42B]
 [•] Identifying service...[Spotify]
 [•] Checking authentication...[authenticated]
 Detected [album]
 Obtaining album metadata...[done]
  ➤ Album Name: I'm Sorry, I'm Not Sorry
  ➤ Artist: Sody
  ➤ Tracks: 4
  ➤ Type: Album
  ➤ Year: 2020
 [•] Collating [I'm Sorry, I'm Not Sorry]...
  [•] Inquiring tracks...[done]
   • [01 What We Had]
      | ➤ Collating sources...
      |  ➤ [•] YouTube Music...[success, found 6 sources]
      | ➤ Awaiting audiofeeds...[done]
      | [✓] Got album art
      | [✓] Got raw track file
      | [•] Post Processing...
   • [02 Reason To Stay]
      | ➤ Collating sources...
      |  ➤ [•] YouTube Music...[success, found 5 sources]
      | ➤ Awaiting audiofeeds...[done]
      | [✓] Got album art
      | [✓] Got raw track file
      | [•] Post Processing...
   • [03 Nothing Ever Changes]
      | ➤ Collating sources...
      |  ➤ [•] YouTube Music...[success, found 5 sources]
      | ➤ Awaiting audiofeeds...[done]
      | [✓] Got album art
      | [✓] Got raw track file
      | [•] Post Processing...
   • [04 Love's a Waste]
      | ➤ Collating sources...
      |  ➤ [•] YouTube Music...[success, found 4 sources]
      | ➤ Awaiting audiofeeds...[done]
      | [✓] Got album art
      | [✓] Got raw track file
      | [•] Post Processing...
 [•] Download Complete
 [•] Embedding Metadata...
  • [✕] 01 What We Had [spotify:track:7HVmwjRRWYH40tm9EG1sQb] (failed: Failed while embedding metadata [1])
  • [✕] 02 Reason To Stay [spotify:track:7wEXKF8ltyhpiGlUfa3RGh] (failed: Failed while embedding metadata [1])
  • [✕] 03 Nothing Ever Changes [spotify:track:4tmJrNTWwPE4rk4qZd1ONu] (failed: Failed while embedding metadata [1])
  • [✕] 04 Love's a Waste [spotify:track:0rwTYerBtc7DC80aVOx71t] (failed: Failed while embedding metadata [1])
[•] Collation Complete
[https://open.spotify.com/album/2D23kwwoy2JpZVuJwzE42B]
 [•] Identifying service...[Spotify]
 [•] Checking authentication...[authenticated]
 Detected [album]
 Obtaining album metadata...[done]
  ➤ Album Name: I'm Sorry, I'm Not Sorry
  ➤ Artist: Sody
  ➤ Tracks: 4
  ➤ Type: Album
  ➤ Year: 2020
 [•] Collating [I'm Sorry, I'm Not Sorry]...
  [•] Inquiring tracks...[done]
   • [01 What We Had]
      | [»] Track exists. Skipping...
   • [02 Reason To Stay]
      | [»] Track exists. Skipping...
   • [03 Nothing Ever Changes]
      | [»] Track exists. Skipping...
   • [04 Love's a Waste]
      | [»] Track exists. Skipping...
 [•] Download Complete
 [•] Embedding Metadata...
  • [»] 01 What We Had (skipped: [Error: Exists])
  • [»] 02 Reason To Stay (skipped: [Error: Exists])
  • [»] 03 Nothing Ever Changes (skipped: [Error: Exists])
  • [»] 04 Love's a Waste (skipped: [Error: Exists])
[•] Collation Complete
========== Stats ==========
 [•] Runtime: [29.5s]
 [•] Total queries: [02]
 [•] Total tracks: [08]
     » Skipped: [04]
     ✓ Passed:  [00]
     ✕ Failed:  [04]
 [•] Output directory: [.]
 [•] Cover Art: cover.png (640x640)
 [•] Total Output size: 0.00 B
 [•] Total Network Usage: 13.28 MB
     ♫ Media: 12.58 MB
     ➤ Album Art: 696.74 KB
 [•] Output bitrate: 320k
===========================

from freyr-js.

miraclx avatar miraclx commented on May 13, 2024

From the final results, the tracks seem to already exist, can you confirm the state of these files?

from freyr-js.

steamgirl2020 avatar steamgirl2020 commented on May 13, 2024

from freyr-js.

miraclx avatar miraclx commented on May 13, 2024

I see, I'll try to reproduce this issue and fix it

from freyr-js.

miraclx avatar miraclx commented on May 13, 2024

Everything seems to be working at my end, I tested Spotify, YouTube Music, and Deezer, everything checks out.

Please check that you have a compatible version of atomicparsley installed. Or simply reinstall it with the latest version and check if that fixes things.

Closing from not being an issue of freyr.

from freyr-js.

miraclx avatar miraclx commented on May 13, 2024

For clarity, here's the analysis

$ freyr spotify:album:4OaTrPkuAYkelxCnm92njS # Sigrid's Sucker Punch
 ...
$ freyr apple_music:album:1491795443 # Sody's I'm Sorry, I'm Not Sorry
 ...
$ freyr deezer:album:215280552 # Tate McRae's TOO YOUNG TO BE SAD
 ...
$ tree -sh
.
├── [4.0K]  Sigrid
│   └── [4.0K]  Sucker Punch
│       ├── [7.4M]  01 Sucker Punch.m4a
│       ├── [7.8M]  02 Mine Right Now.m4a
│       ├── [8.3M]  03 Basic.m4a
│       ├── [9.0M]  04 Strangers.m4a
│       ├── [6.0M]  05 Don’t Feel Like Crying.m4a
│       ├── [5.3M]  06 Level Up.m4a
│       ├── [9.2M]  07 Sight Of You.m4a
│       ├── [9.6M]  08 In Vain.m4a
│       ├── [7.1M]  09 Don't Kill My Vibe.m4a
│       ├── [6.5M]  10 Business Dinners.m4a
│       ├── [8.2M]  11 Never Mine.m4a
│       ├── [8.9M]  12 Dynamite.m4a
│       └── [ 87K]  cover.png
├── [4.0K]  Sody
│   └── [4.0K]  I'm Sorry, I'm Not Sorry
│       ├── [7.0M]  01 What We Had.m4a
│       ├── [7.3M]  02 Reason To Stay.m4a
│       ├── [7.1M]  03 Nothing Ever Changes.m4a
│       ├── [7.0M]  04 Love's a Waste.m4a
│       └── [151K]  cover.png
└── [4.0K]  Tate McRae
    └── [4.0K]  TOO YOUNG TO BE SAD
        ├── [7.0M]  01 bad ones.m4a
        ├── [5.7M]  02 rubberband.m4a
        ├── [7.1M]  03 slower.m4a
        ├── [7.2M]  04 r u ok.m4a
        ├── [6.5M]  05 you broke me first.m4a
        ├── [6.8M]  06 wish i loved you in the 90s.m4a
        └── [ 76K]  cover.png

6 directories, 25 files

checking a track

$ file "Sigrid/Sucker Punch/11 Never Mine.m4a"
Sigrid/Sucker Punch/11 Never Mine.m4a: ISO Media, Apple iTunes ALAC/AAC-LC (.M4A) Audio

checking a cover art

$ file "Sody/I'm Sorry, I'm Not Sorry/cover.png"
Sody/I'm Sorry, I'm Not Sorry/cover.png: JPEG image data, JFIF standard 1.01, aspect ratio, density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=1], baseline, precision 8, 640x640, components 3

from freyr-js.

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.