jellyfin / jellyfin-mpv-shim

MPV Cast Client for Jellyfin
Other
1.62k stars 93 forks source link

Auto-name screenshots to the video title instead of "mpv-shot####" #214

Closed maru801 closed 3 years ago

maru801 commented 3 years ago

Is your feature request related to a problem? Please describe. When I'm watching a show with subtitles that contains a typo, mistranslation, or other reason, I usually make a note of it either through notepad, or a screenshot so I can fix it later. Considering that mpv-shim contains a key shortcut to take a screenshot with the subs included in the picture, it's not really helpful for this purpose unless I go rename the file to the exact title, episode, and/or timestamp. This isn't a big problem for me (since it doesn't take much time/effort to rename the screenshot), but it would be nice to just use the shortcut for this purpose without opening a window to the desktop and taking yourself out of watching your show.

Describe the solution you'd like The point of this feature request is to say if it's possible to have mpv-shim auto-name your screenshots? It's not really helpful taking screenshots (if you're doing so to remember a scene, etc.) when they all come out named as "mpv-shot####" and you have long forgot which episode and timestamp it came from. The most important thing would be naming the screenshot by the file name from which it was taken. You would then only have a single file to search for the scene instead of searching through all the files of a series. A timestamp in the name would be nice too, but I don't know if that would be possible or how hard it would be.

SaraSmiseth commented 3 years ago

Change your mpv config. See:

maru801 commented 3 years ago

Thank you for the links. I didn't know you could edit the config file to do that. However, I only managed to get the timestamp working. The filename of the currently played video is what I'm having an issue with.

According the the first link you posted, I could either use %f, %F, %x, or %X{fallback} to accomplish my goal of identifying which show & episode the screenshot came from. However, using %f or %F outputs what I'm guessing to be a url (in this form: "stream_static=true&MediaSourceId=<###>&api_key=<###>") that is used by jellyfin and not the actual file name (which are named "show_name episode #.mkv").

The link also states that %x and %X{fallback} wont display the directory path to the file "if the video is not on the filesystem (but e.g. http://), this expand to an empty string." I tried these two options and got nothing to work except the fallback string. The files are on a nas, so that's probably why this wont work.

fixator10 commented 3 years ago

You can use %{media-title} to show title (or filename if title is missing) in screenshot's filename https://mpv.io/manual/master/#command-interface-media-title

maru801 commented 3 years ago

Thank you, that was what I needed.

For those interested, I fixed my issue by adding this to the "mpv.conf" file: --screenshot-template="%{media-title} (%whH %wMM %wS.%wTS)"

This results in screenshots named: "media_name (xH xxM xx.xxxS).jpg"