I thought it would be first good to update ffmpeg to 4.0 full version. In the beginning I've took upon myself to assume that shipping the extra 50 Megabytes for everyone won't be acceptable, so I got into the making it optional route, which is what took most of the time. It would require only those who want to dump frames to manually download FFmpeg shared DLLs separately. However I thought that wouldn't be good enough for best UX so I started out with an integrated FFmpeg auto-download-installer to remedy the biggest possible blocker of this change.
Unfortunately it looks like doing a downloader isn't that easy as I thought, it might take me quite some time myself, and dealing with non-admin stuff, even if I took a look at the auto-updater code, it's quite different.
Instead, I added a detailed instructions when Framedumping wouldn't be able to be enabled because of the missing DLLs, but it also acts as a vital check to prevent the crash, at the end I was also thinking about hyperlink but it I just had to chose one thing of clipboard copy for now, the whole warning message has gone over like at least 30 variations and this isn't the only worded one I had in mind.
If an integrated dl-installer is a must for this, this thing would probably need to sit for months or more as I can't guarantee doing the integrated download-installer myself.
https://github.com/dolphin-emu/dolphin/pull/7110
Here's some more reasons why I took this approach:
It's just not possible to predict ahead what exactly is the feature set once the improvements are finished, it's a no-brainer that any improvement would be started from the full feature set and only then possibly lowering the footprint by removing unnecessary features, if integration would still be deisrable method, but the fullly featured build could be temporairly made available pretty much right now so that at least some could use other codecs of their liking. Any changes of the framedumping code, codecs, formats, won't affect the ffmpeg it self, so the users won't need to redownload anything, except if a higher version is required.
Secondly, this is only Windows, other OSes aren't affected by this change, and they already had to figure out FFmpeg on their own. Thirdly, framedumping isn't exactly something that the majority of users heavily rely on, right? The ones that want it would surely not have a problem installing a few DLLs seprately right.
Fourthly, this doesn't have to be a permanent change, after framedumping improvements (which ever codec/format or two would become default) and several codecs that make sense or are requested are identified, then someone could do their won custom build of FFmpeg with a custom feature set that would lower the size footprint and may be acceptable to add in as per standard, however I can't predict what the size would then be, then it's another dillema if it would really be that much lower to warrant all the extra effort, because you'd end up with more than 5 codecs give or take.
(05-30-2018, 07:33 PM)fintogive Wrote: [ -> ]The avi container is fine. i honestly dont care as long as i can use any codec preferably lagarith lossless codec at 4k resolutions.
Thank you for looking in to this btw! much appreciated!
Unfortunately lagarith is not supported by FFmpeg as an encoder, only decoder. No high chances special support would be added, AFAIK it's unmaintained since 2011 and may not even work on Win10.