patrickkfkan / patreon-dl

Patreon Downloader
53 stars 3 forks source link

What am I doing wrong here? #7

Closed tnmdynamiq closed 5 months ago

tnmdynamiq commented 6 months ago

I am encountering an issue where I can't seem to download audio content from Patreon posts, which seems to occur as if the cookie is incorrect. However, I have verified the cookie directly from my browser's developer tools, ensuring it's correct based on the directions in the Wiki. Can you help identify what I might be overlooking?

I'm using the .conf format for the config file as per the tool's documentation. The tool is downloading images alongside audio, which I don't require. Additionally, the audio files are not in a listenable format. Could there be a configuration or tool-related issue?

Command I am using in the terminal:

patreon-dl --config-file /Path/to/config_patreon-dl.conf --cookie "12345678-9abc-def0-1234-56789abcdef0" --out-dir "/Path/to" https://www.patreon.com/creatorname/posts

Path I am using to my config file (wasn't sure if I was supposed to use .conf or .json):

/Path/to/config_patreon-dl.conf

Config File Contents


cookie = 12345678-9abc-def0-1234-56789abcdef0
use.status.cache = 1
no.prompt = 1
path.to.ffmpeg = /opt/homebrew/opt/ffmpeg@4/bin/ffmpeg

[output]
out.dir = /Path/to/dir
campaign.dir.name.format = "{creator.vanity}[ - ]?{campaign.name}"
content.dir.name.format = "{content.id}[ - ]?{content.name}"
media.filename.format = "{media.filename}"

[include]
locked.content = 1
posts.with.media.type = audio
campaign.info = 1
content.info = 1
content.media = audio

[request]
max.retries = 3
max.concurrent = 10
min.time = 333

[logger.console]
enabled = 1
log.level = info
include.date.time = 1
include.level = 1
include.originator = 1
include.error.stack = 0
date.time.format = "mmm dd HH:MM:ss"
color = 1
patrickkfkan commented 6 months ago

Hi,

Cookie issue

Did you get PostDownloader: Post #<id> is not viewable by current user warning for posts that you should have access to? If so, then your cookie is not working. Verify that you are setting the cookie value to the full string copied from Developer Tools and not just the part given by patreon_device_id.

Images

Images are downloaded if they are part of campaign or post Info. This is not affected by content.media setting which applies to the content itself. You can only skip these images by disabling campaign info (campaign.info = 0) and post info (content.info = 0).

Audio format

The audio formats I've encountered so far are mp3, wav and m4a. All these are mainstream formats. Which format did you get that was not listenable?

TetsuyaMitsuru commented 6 months ago

Hi,

Cookie issue

Did you get PostDownloader: Post #<id> is not viewable by current user warning for posts that you should have access to? If so, then your cookie is not working. Verify that you are setting the cookie value to the full string copied from Developer Tools and not just the part given by patreon_device_id.

Images

Images are downloaded if they are part of campaign or post Info. This is not affected by content.media setting which applies to the content itself. You can only skip these images by disabling campaign info (campaign.info = 0) and post info (content.info = 0).

Audio format

The audio formats I've encountered so far are mp3, wav and m4a. All these are mainstream formats. Which format did you get that was not listenable?

Hi,

I'm having the same problem. I followed your guide on how to get the cookie, and copied the whole string, but it's not working.

This is the command line I entered:

patreon-dl https://www.patreon.com/DropoutsPod/posts -f F:\Documents\Programs\ffmpeg-6.1.1-full_build\bin\ffmpeg.exe -c patreon_device_id=REDACTED; patreon_location_country_code=GB; patreon_locale_code=en-GB; patreon_currency_pref=USD; a_csrf=REDACTED; __ssid=REDACTED; session_id=REDACTED; __cf_bm=REDACTED; analytics_session_id=REDACTED -o F:\Videos\DropoutsPodcast

The output I got was:

Error processing options: Unknown Command-Line Option '0'
 See usage with '-h' option.

I also tried it exclusively with the analytics_session_id, session_id, and patreon_device_id. None worked, I kept getting Post #<id> is not viewable by current user. I managed to get PatreonDownloader by AlexCSDev to work with the session_id, but his downloader doesn't organize the downloads into post folders, so it's really messy.

I hope you can help me out.

Regards

patrickkfkan commented 6 months ago

@TetsuyaMitsuru , use double-quotes for values with spaces.

patreon-dl -c "patreon_device_id=REDACTED; patreon_location_country_code=GB; patreon_locale_code=en-GB; patreon_currency_pref=USD; a_csrf=REDACTED; __ssid=REDACTED; session_id=REDACTED; __cf_bm=REDACTED; analytics_session_id=REDACTED" ...
TetsuyaMitsuru commented 6 months ago

@TetsuyaMitsuru , use double-quotes for values with spaces.

patreon-dl -c "patreon_device_id=REDACTED; patreon_location_country_code=GB; patreon_locale_code=en-GB; patreon_currency_pref=USD; a_csrf=REDACTED; __ssid=REDACTED; session_id=REDACTED; __cf_bm=REDACTED; analytics_session_id=REDACTED" ...

It's working now. Thanks for the help!

tnmdynamiq commented 6 months ago

@TetsuyaMitsuru @patrickkfkan Guys, thank you so much 🙏. Your dialogue helped me get the job done!

tnmdynamiq commented 6 months ago

Hi,

Cookie issue

Did you get PostDownloader: Post #<id> is not viewable by current user warning for posts that you should have access to? If so, then your cookie is not working. Verify that you are setting the cookie value to the full string copied from Developer Tools and not just the part given by patreon_device_id.

Images

Images are downloaded if they are part of campaign or post Info. This is not affected by content.media setting which applies to the content itself. You can only skip these images by disabling campaign info (campaign.info = 0) and post info (content.info = 0).

Audio format

The audio formats I've encountered so far are mp3, wav and m4a. All these are mainstream formats. Which format did you get that was not listenable?

For whatever reason my output audio is coming out in 'mpga' format. Rather strange. I would imagine it would be/should be 'mp3'

patrickkfkan commented 6 months ago

I have not come across 'mpga' in my tests, but it should still be playable?

tnmdynamiq commented 6 months ago

I have not come across 'mpga' in my tests, but it should still be playable?

While the mpga format can indeed be played, it's not as straightforward compared to more ubiquitous formats like mp3. This discrepancy in user experience, especially in terms of compatibility and playback smoothness, is notable. Interestingly, when downloading audio directly from Patreon, the provided format is mp3, which is widely recognized and generally doesn't present playback issues. I've observed some choppiness in the 'mpga' files, which I need to further investigate.

patrickkfkan commented 5 months ago

Possible to provide a link to such a post?

tnmdynamiq commented 5 months ago

Possible to provide a link to such a post?

Do you mean an overall link to all of the posts on a specific Patreon or do you mean a link to any of the mp3 links?

patrickkfkan commented 5 months ago

A link to a post that gave MPGA file when downloaded with patreon-dl , but MP3 when downloaded through the site.

tnmdynamiq commented 5 months ago

A link to a post that gave MPGA file when downloaded with patreon-dl , but MP3 when downloaded through the site.

I think that's where I am getting confused, is 'patreon-dl' just harvesting the links from the patreon page or is it converting the audio somehow like a video downloader would? I do not see that information when things are being downloaded. I might have to turn on the logs or something right? I will include some photos of the links as well as the links themselves.
So here is a link: https://c10.patreonusercontent.com/4/patreon-media/p/post/97606257/1999625663cc4d2b8776137bd154fd4f/eyJhIjoxLCJpc19hdWRpbyI6MSwicCI6MX0%3D/1.mp3?token-time=1706918400&token-hash=7pwha7xHAzkdTrZpGEx_9zTzWvikly7z1YtpAX_7FLY%3D

As well as a photo

Screenshot 2024-02-01 at 9 32 48 AM
patrickkfkan commented 5 months ago

OK, I am able to reproduce this. It turns out the correct download link was used - in this example the downloaded file has MIME type audio/mpeg, which should produce a file with .mp3 extension. However, the Node module which patreon-dl uses to determine extension from MIME type gives .mpga for audio/mpeg. Hence you get abcde.mpga instead of abcde.mp3, but the data is actually MP3.

I will patch this, but for now you can rename the .mpga files to .mp3.

tnmdynamiq commented 5 months ago

OK, I am able to reproduce this. It turns out the correct download link was used - in this example the downloaded file has MIME type audio/mpeg, which should produce a file with .mp3 extension. However, the Node module which patreon-dl uses to determine extension from MIME type gives .mpga for audio/mpeg. Hence you get abcde.mpga instead of abcde.mp3, but the data is actually MP3.

I will patch this, but for now you can rename the .mpga files to .mp3.

Oh that makes so much sense, I will put python to work! lol Thank you so much Patrick!