Hello, I'm still getting used to using this very helpful code, and was wondering if I could get some help.
According to the main page, FFMPEG can be used to convert Pixiv Ugoira submissions into either gifs of WebM (I've seen people say either), and was wondering how I can do this.
I've downloaded the latest version of ffmpeg and it is in the same folder as my gallery-dl folder. I've even put a copy of it inside of gallery-dl.
But when I've tried to put "$ gallery-dl (URL) --ugoria-conv" into the cmd (without the quote marks, obviously), I get this error:
[gallery-dl][error] No suitable extractor found for 'https://www.pixiv.net/member_illust.php?mode=medium'
'illust_id' is not recognized as an internal or external command,
operable program or batch file.
Is there something that I need to add to my .conf to get this to work? Is there a way for the conversion to happen without needing to add --ugoria-conv in the command line to begin with?
Sorry for the bother!
You need to somehow escape special characters like ampersands & in your URLs. That's usually done by putting the whole URL in double quotes:
gallery-dl "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=75034550"
If you want ugoira conversions to happen without --ugoira-conv, you need to use a config file, and setup an ugoira postprocessor. --ugoira-conv, for example, uses the following as settings:
{
"postprocessors": [{
"name": "ugoira",
"ffmpeg-args": ["-c:v", "libvpx", "-crf", "4", "-b:v", "5000k", "-an"]
}]
}
So would it look like this? (From the top)
{
"extractor":
{
"base-directory": "./gallery-dl/output/",
"postprocessors":[{
"name": "ugoira",
"ffmpeg-args": ["-c:v", "libvpx", "-crf", "4", "-b:v", "5000k", "-an"]
}],
"archive": null,
"cookies": null,
"proxy": null,
"skip": true,
"sleep": 0,
"user-agent": "Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0",
```
Or would it be under the pixiv section?
"pixiv":
{
"username": "biznizz",
"password": "PasswordExample",
"ugoira": true
{
"postprocessors": [{
"name": "ugoira",
"ffmpeg-args": ["-c:v", "libvpx", "-crf", "4", "-b:v", "5000k", "-an"]
}]
}
},
From the top, so you can use white-/ or blacklist. But you need at least to set the ffmpeg-location.
For example, from my config:
{
"extractor":
{
"base-directory": "F:\\Collection",
"postprocessors": [
{
"name": "ugoira",
"whitelist": ["pixiv", "danbooru"],
"extension": "webm",
"keep-files": false,
"ffmpeg-twopass": true,
"ffmpeg-args": ["-c:v", "libvpx-vp9", "-an", "-b:v", "4M"],
"ffmpeg-location": "ffmpeg"
}
],
"archive": "D:\\Home\\gallery-dl\\archives\\gldl-archive-global.db",
"cookies": null,
"........."
[and so on]
If you have ffmpeg in your PATH, like me, you can just use "ffmpeg-location": "ffmpeg"
Otherwise, just point it to the correct directory containing the ffmpeg binaries, like so:
"ffmpeg-location": "D:\\MyPrograms\\ffmpeg-extraction-dir"
That worked like a charm! Thank you so much for the assistance!
It's so much more convenient now that the process automatically knows where FFMPEG is.