stashapp / stash

An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc
https://stashapp.cc/
GNU Affero General Public License v3.0
8.5k stars 760 forks source link

Jellyfin-like external remote player support #2747

Open YurikaL opened 2 years ago

YurikaL commented 2 years ago

Is your feature request related to a problem? Please describe. Playing video in a browser is very inconvenient and often requires server-side transcoding, which is extremely inefficient. So native player is preferable for video playback in any case. But currently Stash provides only raw stream links that could be played in an external player. It's better than nothing, but still not enough.

Describe the solution you'd like API that would allow external players connect to Stash and wait for play command. See Jellyfin and it's remote client jellyfin-mpv-shim for reference.

Describe alternatives you've considered

Additional context This feature has been requested quite a few times already, there is just no clear separate issue for it!

And some screenshots:

Open With context menu. Requires manual intervention for each scene: open File info tab, right click on the stream link, move cursor to the player context menu item... Open With context menu

Jellyfin Play On menu. Once switched, redirects all playing media to the selected external player. Jellyfin Play On menu

philpw99 commented 1 year ago

The Stash's API is the graphql interface, from there you can get all the info and links for the scene. I made a helper with external player and playlist support. It's not exactly the thing you want, but at least the customized playlist feature is there. You can save the list as a .m3u file then load it next time. If your external player supports m3u, the helper can send the whole list to the player. https://github.com/philpw99/Stash_Helper

YurikaL commented 1 year ago

The Stash's API is the graphql interface, from there you can get all the info and links for the scene.

Sure, but rather than a full-featured remote UI, this issue is only about a remote player shim that doesn't request info and links by itself, but only waits for a play command from Stash instance. But a native remote UI without any kind of web stuff would be nice too! The remote UI is even worth an another issue.

I made a helper with external player and playlist support.

Windows only? Complete unusable for me!

miltuss commented 3 months ago

Hello, this feature is very important for many users. I myself am a user of MPV-shime with Jellyfin under Linux, and I am very happy with this use. I would like to use the external mpv player with stash, the same way I use mpv with jellyfin. It would be much simpler and faster to launch videos with the native player than with the browser. Please prioritize this much-needed feature!

stashTX commented 1 month ago

Another vote for this feature.

Often a dedicated / native player app can provide a better user experience than a web page.

For example on AppleTV, or iPad the Infuse app is a stellar media player that can basically play any format without transcoding and provides a fast native interface for browsing and playing content.

The Infuse player supports Plex, Emby and Jellyfin out of the box. I would propose an api layer for stash that for example makes it appear as a Jellyfin server. Then one could use any client that supports this api for basic browsing and playback.

Y2K350 commented 1 month ago

I would also love this feature. Lots of browsers are extremely difficult to get hardware encoding on, or to use codecs that are on the newer side like AV1 or HEVC/H265. MPV has consistently provided me good support for all of those issues.

feederbox826 commented 3 days ago

https://github.com/feederbox826/stashopen non-windows alternative