kieraneglin / pinchflat

Your next YouTube media manager
GNU Affero General Public License v3.0
880 stars 17 forks source link

[FR] Suggestions from a longtime Tartube user #252

Closed Austinzveare closed 4 months ago

Austinzveare commented 4 months ago

I've been trying out Pinchflat for about a week now after using Tartube for quite some time and really like how fast I was able to get pretty much everything set how I had it in Tartube (but now automated better), but I have a few specific notes on what needs to be added to make this a full replacement for me.

All in all this is a great app that's close to being great, thanks for making it!

kieraneglin commented 4 months ago

Hey there! Thank you for the feedback - I genuinely appreciate it (:

Keep in mind that I edited your commend to break the MKV/working folder point into two distinct points. In order:


On whole, these are some great suggestions! I don't mean to sound too dismissive in some of them, but it's important for me to keep a tight focus on the vision I had for Pinchflat in the first place. Many other apps end up becoming unmaintainable or near-unusable because enthusiastic and well-meaning maintainers added too many features/customizations/knobs to tweak. Not pointing fingers, just speaking generally since I've been programming for a hot minute and I've seen it MANY times.

I always need to remember that I am but one man working on a passion project in an obscure programming language - I need to be pretty critical of features I take on so that my maintenance burden doesn't become too large to handle.

Anyway, I'm going to work through at least a few of these throughout the week and I'll let you know when/if I add in your suggestions!

parasiteoflife commented 4 months ago

I want to add to this request since opening another one to basically ask for the same is pointless.

I would also like to have an option to choose for MKV, I don't think it would be a problem to add the option keeping MP4 the default.

Also for the other points I would prefer to have an option to add custom arguments, if I go by asking for each argument I use daily I would have to open 20 FR and even then it's too much work for you, would be much better to just have a text area where we can enter additional arguments, for this it would be great to have a checkbox alongside the currently available options so we can set the options to be overriden by the custom args, that way when building the full command pinchflat skips the option we marked because they will be set in the custom args.

You could hide all these configs on the advanced section.

kieraneglin commented 4 months ago

EDIT: marking our comments as duplicate to keep the original thread on-track


I would also like to have an option to choose for MKV

I'm interested in hearing the use case and why MP4 isn't sufficient! Like I said, I'm totally open to adding it if there is a good reason but all the responses I've gotten so far boil down to personal preference rather than MP4 providing some sort of technical limitation (or a misunderstanding codecs vs. containers)

Also for the other points I would prefer to have an option to add custom arguments

Custom yt-dlp options should do what you need! (link)

for this it would be great to have a checkbox alongside the currently available options so we can set the options to be overriden by the custom args

This would imply that the app provides support for custom options when it doesn't and, indeed, cannot. The app is very resilient but yt-dlp arguments could absolutely be used in such a way that breaks the app's internal representation of media. That doesn't even mention the yt-dlp bugs I've added workarounds for which the average user could not be expected to accommodate.

The approach for custom yt-dlp options I linked above is very likely the most I'll ever do to support that functionality.

I don't think it would be a problem to add the option keeping MP4 the default

I mean this with all due respect, but deciding whether or not it's a "problem" to add a feature is up to my discretion.

To expand on what I mentioned in my last comment, I am one guy working on a passion project in an obscure programming language (read: intimidating for outside contributors if they don't know Elixir/Erlang). Every time I add a feature, no matter how seemingly inconsequential, I now have to worry about one more thing providing compatibility concerns or impeding refactoring (relevant XKCD). It doesn't matter much in a case-by-case basis, but when you multiply that by all the various functions of an app, it can quickly becomes a support burden unless I carefully weigh each request against a few points:

If I don't do this the app could easily become bloated, hard to refactor, lose its goal of ease-of-use, and overall inhibit me from continuing to improve it. This isn't a hypothetical - it happens all the time!


I know that was a wall of text and I wanted to truly thank you for your suggestions! I don't mean to be harsh but it's important for me to highlight why I'm hesitant to add new features that don't have a clearly articulated benefit

kieraneglin commented 4 months ago

@Austinzveare I've added 8k support and the ability to set codec preferences in #254 and #255 respectively. The latter will also allow you to use OPUS audio. I'll need to do quite a bit of testing around these changes but that should be going up in a release sometime this week!

I'm still curious about the issue you saw with fast indexing - can you confirm it's still happening and also confirm your current app version? Thank you!

kieraneglin commented 4 months ago

254 and #255 are included in the latest release and will be available in ~30 mins 🤙

Austinzveare commented 4 months ago

@kieraneglin Sorry for the late response. Thank you so much for implementing these changes, I just updated and set things how I like and so far so good. Also, I was on the 5.16 build, but I started using this on the 16th and didn't seem to have index issues after the first day, either way It's been doing things correctly since.

kieraneglin commented 4 months ago

Closing this issue since this is as far as I'm going to take these comments for now. Thank you again for your feedback (:

If I missed something please open a new issue!

kieraneglin commented 3 months ago

@Austinzveare heads up that I've had to partially revert the codec selection changes I've added here (see #279). That changed caused a regression that, after checking with the yt-dlp team, would involve a very complicated fix.

The impact is that instead of choosing a list of preferred codecs, you will only be able to choose one

Austinzveare commented 3 months ago

Thanks for letting me know. Ultimately not a huge issue since I only ever get AV1 days after the videos's been uploaded, and by that time I've already watched the VP9 version, so VP9 only is fine with me. What would happen if I selected AV1? Would it just not download anything at all until said AV1 version became available?

kieraneglin commented 3 months ago

Good question! Codec selection is a soft preference, so it'll grab the codec if it's available but it'll fall back to other codecs if yours cannot be found at a given resolution.

If it takes a few days to get the codec you want, you can probably do something with a Media Profile's Redownload Delay

Austinzveare commented 3 months ago

I actually have the redownload delay set to 1 day, it just takes YouTube a few days to get to processing the AV1 version after the VP9 version is live. This is something I hope they improve in the future as AV1 becomes more mainstream.