Jump to content

Launch vudu external player with movie content ID


Keo

Recommended Posts

It would be awesome if in addition to an online stub ( which was requested in another FR ) to have a place for a vudu content ID.

Then using the content ID meta data to launch the Vudu client to directly to the location of the movie.

 

example:

 

The movie 47 Ronin has a content ID of 497053

 

By posting this to a Roku I can launch the Roku app directly to the movie:

http://xx.xx.xx.xx:8060/launch/13842?contentId=497053

(where 13842 is the vudu app ID and 467053 is the movie ID on Vudu)

Edited by Keo
  • Like 1
Link to comment
Share on other sites

funwithmedia

It would be awesome if in addition to an online stub ( which was requested in another FR ) to have a place for a vudu content ID.

 

Then using the content ID meta data to launch the Vudu client to directly to the location of the movie.

 

example:

 

The movie 47 Ronin has a content ID of 497053

 

By posting this to a Roku I can launch the Roku app directly to the movie:

http://xx.xx.xx.xx:8060/launch/13842?contentId=497053

 

(where 13842 is the vudu app ID and 467053 is the movie ID on Vudu)

That's VERY cool! I wonder if you can do that for MoviesAnywhere too?

 

Also, for other's benefit, this is the other FR Keo was referring too:

https://emby.media/community/index.php?/topic/44012-emby-server-and-emby-theater-support-for-custom-media-stubs-andor-an-online-media-stubs-andor-filename-string-matching-for-external-player/

 

@@Luke, regarding your question: What if we followed the Kodi spec for Media Stub content ( https://kodi.wiki/view/Media_stubs ) for these custom Media Stubs, but added a tag/field for the external service ID? Something like the following:

<discstub>
  <external_service_id>123456</external_service_id>
</discstub>
Link to comment
Share on other sites

Would this be supported on any platform other than Roku?

 

If so, wouldn't whatever these service IDs are be different on each of them?

 

Also, in the specific instance of Roku, this will not provide a good user experience because Roku only runs one app at a time.  Therefore, once you leave Vudu, it will be impossible to return to where you came from in our app (it was shut down).  This is why we do not try to play YouTube trailers on this platform.

Link to comment
Share on other sites

 

That's VERY cool! I wonder if you can do that for MoviesAnywhere too?

I am not sure if you can or not.  Full disclosure, I don't have a Roku anymore, I have a fire TV cube.  I am trying to find a way to do the same thing using movies anywhere and fire tv cube.  Theoretically I it would be something like this for movies anywhere.

 

http://xx.xx.xx.xx:8060/launch/{app ID}/movie/venom-2018

When you browse to a movie using movies anywhere they show the actual movie name not a content ID like on vudu.  I found getting the movie information for vudu to be much easier because of this chrome plug in:

 

https://chrome.google.com/webstore/detail/vudu-catalog/bnlpiockcfehbfbdcegahemgmjfkdopc?hl=en

Edited by Keo
Link to comment
Share on other sites

Would this be supported on any platform other than Roku?

 

I am trying to figure out how to launch an app directly on Fire TV Cube, but I haven't had any luck with my Google-fu.  Theoretically it would be.

 

 

If so, wouldn't whatever these service IDs are be different on each of them?

 

They are different, but there is a way to scrape the data with a chrome plugin.  It works best with Vudu because movies anywhere only returns movie name.  Not to mention the url for a movie isn't a content ID on Movies Anywhere.

 

 

 

Also, in the specific instance of Roku, this will not provide a good user experience because Roku only runs one app at a time.  Therefore, once you leave Vudu, it will be impossible to return to where you came from in our app (it was shut down).  This is why we do not try to play YouTube trailers on this platform.

 

I understand the user experience wouldn't be great for all, but it would be awesome to have that option.  In my use my remote has a button to jump people back to emby.  The family is fine with that, they just want a single interface to see where a movie resides.  I wanted to make it easier for them by actually taking them to the app.

Link to comment
Share on other sites

funwithmedia

While I would love it if someday Emby could integrate with something like MoviesAnywhere, I think that without the provider (MoviesAnywhere, Vudu, etc.) having some sort of supported, published spec for interfacing with their service it'll end up being a royal pain over time trying to support the integration (because the service could make a breaking change at any point, since there's no spec or API they're consciously supporting).

 

I think the easier route is to just have a way to indicate in Emby what services a given Movie Stub (or TV Stub) exists on, and then the user can open that app themselves and launch the movie (or tv show). Granted that requires a few steps by the user, but then the user knows exactly how to get back (in theory) to Emby, since they manually navigated to a different app.

 

Here's some of the ways that I've thought of that this could be accomplished:

:)

  • Like 1
Link to comment
Share on other sites

While I would love it if someday Emby could integrate with something like MoviesAnywhere, I think that without the provider (MoviesAnywhere, Vudu, etc.) having some sort of supported, published spec for interfacing with their service it'll end up being a royal pain over time trying to support the integration (because the service could make a breaking change at any point, since there's no spec or API they're consciously supporting).

 

I think the easier route is to just have a way to indicate in Emby what services a given Movie Stub (or TV Stub) exists on, and then the user can open that app themselves and launch the movie (or tv show). Granted that requires a few steps by the user, but then the user knows exactly how to get back (in theory) to Emby, since they manually navigated to a different app.

 

While I appreciate your input on this, I do not agree that the easiest route is with the examples you give.  All that really needs to be done is to allow emby to launch an external URL when a cover art is selected.  They wouldn't even need to code for a content ID, just have a field in meta data that would contain the URL so the app knew what to execute.

 

Further more when you use stubs in the fire TV app it doesn't even give you a play option so there is no way to even notify the user where to find the movie. 

Personally, having a user log into emby to search for a movie, and then have them find out the movie is on Vudu, movies anywhere, itunes, or google, then having them log into the next app and search all over again is worse than just launching them to the movie location.

Edited by Keo
Link to comment
Share on other sites

funwithmedia

I hear you, and I agree it would be easier for the user if things could work that way. I'd personally love it!

But functionality like this that only works in one platform, and/or is difficult to implement consistently across all platforms is unlikely to get implemented in Emby unless there is super-high demand/interest (which personally I don't see happening for a while yet, though I would love and regularly use the functionality you describe). So what I've laid out is (in my opinion) a more realistic path to achieving the spirit of our shared goal, which would at least be an improvement over what is currently possible. In essence, some of the options I've described are easier to implement consistently across all platforms, and thus more likely to happen, though I agree with you that they require more effort by the user than either of us wishes.

 

Having said all that, I'm totally cool with being wrong on my read of things! I've got over 200 movies in MoviesAnywhere, so I'd love for there to be some sort of integration between Emby and MoviesAnywhere (or Vudu, or Amazon, or iTunes)! :)

 

I'll throw out one more idea which I had a few years ago: iTunes has the ability to be remotely controlled by other software. So it would be possible for someone to write an Emby plugin that could send a command to iTunes to play a particular movie (ie, you hit Play in Emby Theater and it automatically plays the appropriate movie in iTunes). Obviously, this would only work for Emby Theater, and iTunes would have to be installed on the same machine. But MoviesAnywhere fully syncs with iTunes (and Amazon, Vudu, and Google Play) so this would give one access to their entire library of online movies (except for the few studios that are still only with Vudu, but it seems pretty likely they will become a part of MoviesAnywhere eventually, and then all movies will all sync between every platform, which will be pretty nifty). Here's more details on the iTunes Remote option: https://emby.media/community/index.php?/topic/44013-emby-server-and-emby-theater-itunes-movies-and-tv-support/

Link to comment
Share on other sites

But functionality like this that only works in one platform, and/or is difficult to implement consistently across all platforms is unlikely to get implemented in Emby unless there is super-high demand/interest (which personally I don't see happening for a while yet, though I would love and regularly use the functionality you describe). So what I've laid out is (in my opinion) a more realistic path to achieving the spirit of our shared goal, which would at least be an improvement over what is currently possible. In essence, some of the options I've described are easier to implement consistently across all platforms, and thus more likely to happen, though I agree with you that they require more effort by the user than either of us wishes.

 

You see, by allowing emby to launch external URLs you are giving the users a way to send calls to other APIs when a cover art is selected.  This means you can send an http call to any web server and then have your web server do what ever you want with that call.  Your example of iTunes is a perfect candidate.  Lets say your http call has a path that ends with a movie name.  You would click the cover art which would send a call to something like hammerspoon or HAM Bridge on your mac and then that application would translate your call to do what ever you want.

 

By allowing emby to send http calls you are giving the users more power to be creative.  This also means that emby doesn't need to support anything but the http functionality and anything else is up to the user community.

Edited by Keo
Link to comment
Share on other sites

You see, by allowing emby to launch external URLs you are giving the users a way to send calls to other APIs when a cover art is selected.  This means you can send an http call to any web server and then have your web server do what ever you want with that call.  Your example of iTunes is a perfect candidate.  Lets say your http call has a path that ends with a movie name.  You would click the cover art which would send a call to something like hammerspoon or HAM Bridge on your mac and then that application would translate your call to do what ever you want.

 

By allowing emby to send http calls you are giving the users more power to be creative.  This also means that emby doesn't need to support anything but the http functionality and anything else is up to the user community.

 

But where is that http call going to end up and how is that going to get back to the device on which the poster was selected?

 

I'm not aware of anything that would make that work like you are envisioning it.

Link to comment
Share on other sites

But where is that http call going to end up and how is that going to get back to the device on which the poster was selected?

 

I'm not aware of anything that would make that work like you are envisioning it.

 

Here is what my friend does on plex.  First of all, he had to create his own library frontend for cover art.  Then for every movie on Vudu he has a 5 second video in plex that plays.  When he selects the movie he calls the plex api using event ghost to see what every client is watching.  This gives him the IP of the device watching the video.  He then sends the following post to the device to launch the vudu app directly to the video.

http://xx.xx.xx.xx:8060/launch/13842?contentId=497053

What I would like to acheive is to have emby be my front end so my family doesn't have to use a secondary screen (like a tablet) to find the movies they want.

 

What I am proposing is that when you click on a cover art, it could send a http call to an external app like event ghost, hammerspoon, or HAM Bridge and then those apps could call the emby api to pull back any information needed to automate the rest.  Each Cover art would need to have it's own URL parameter to make this work. 

 

Further more, the web server could grab the ip making the call to it so you could use that in the above example if the call is being made from the device and not the server.

 

Also some people may have Theater PCs attached to their TV.  If that is the case, they wouldn't need an IP at all.  Instead each cover art would have a URL directly to the web page of the movie they want to watch.

 

Really all emby needs to do is offer a way to send http calls to an external source and the community can automate the rest.

Edited by Keo
Link to comment
Share on other sites

I'm struggling to understand the need for this?  Sorry, not trying to be stubborn but trying to understand.

 

What advantage is there to having Vudu libs in Emby?  You play something so Emby needs to fire up the VUDU client to play it.  Would it not be easier to just use Vudu front end?

 

Without a "stub" file or path on the disc, how would you get these entries into Emby in the first place?

 

Is the basic idea that you could have 100 movies locally of your own while being able to mix VUDUs 18,000 movies for a library with 19K movies?  Same with TV Shows?

 

I'd think something like this would be cool to have for completely free services like Tubi TV which has around 10K movies.

 

If Emby could playback certain files using an external player we could modify the STRM format to support something like:

vudu://launch/13842?contentId=497053

tubitv://launch/contentID

tubitv://movies/464155/lawless

youtube://watch?v=0LVMg6XNOB8

etc

 

Then an external program/script could create the strm files (or an Emby plugin).  Emby already support playing back files from the internet via strm so this would just be an upgrade of sorts to the playback method.

 

That would be pretty interesting especially for some of the free sites with decent content.  You could have a rather big library without having much stored locally.

Link to comment
Share on other sites

funwithmedia

I'm struggling to understand the need for this?  Sorry, not trying to be stubborn but trying to understand.

 

What advantage is there to having Vudu libs in Emby?  ...

 

Without a "stub" file or path on the disc, how would you get these entries into Emby in the first place?

 

Is the basic idea that you could have 100 movies locally of your own while being able to mix VUDUs 18,000 movies for a library with 19K movies?  Same with TV Shows?

...

I have a growing number (>200) of movies online in services like MoviesAnywhere, Vudu, iTunes, Amazon. I create Media Stubs for each movie so that I can view my entire library of DVDs, Blu-rays and Online-Only content all in one place. Otherwise, I forget what I have online and then don't know I have it available to watch. :rolleyes: 

 

Regarding your other thoughts, I'm hoping that ReelGood integration (or a plugin) could eventually be an avenue to achieving those sorts of things! https://emby.media/community/index.php?/topic/59309-amazon-netflix-support/?hl=reelgood&do=findComment&comment=588734 Being able to have a Library in Emby for all the online content I have free access to through various providers (eg, Netflix, Amazon Prime, etc.), and which updates itself automatically so that the listed titles are accurate/current, would be very cool. :D

Link to comment
Share on other sites

I'm struggling to understand the need for this?  Sorry, not trying to be stubborn but trying to understand.

 

What advantage is there to having Vudu libs in Emby?  You play something so Emby needs to fire up the VUDU client to play it.  Would it not be easier to just use Vudu front end?

 

Without a "stub" file or path on the disc, how would you get these entries into Emby in the first place?

 

Is the basic idea that you could have 100 movies locally of your own while being able to mix VUDUs 18,000 movies for a library with 19K movies?  Same with TV Shows?

 

What advantage is there to having Vudu libs in Emby?  You play something so Emby needs to fire up the VUDU client to play it.  Would it not be easier to just use Vudu front end?

For me it's to make it easier for my family to find the video they want without needing to remember which player and without needing to search 2 times just to launch 1 movie.

Step 1. Search emby to find which player to use.

Step 2. Launch 2nd player and search for the movie again.

While this works, it seems like it's unnecessary.

 

Without a "stub" file or path on the disc, how would you get these entries into Emby in the first place?

My vision still needs a stub file.  The stub file meta data would actually have information on where to find the movie.  This is where the URL would be stored.
 
Is the basic idea that you could have 100 movies locally of your own while being able to mix VUDUs 18,000 movies for a library with 19K movies?  Same with TV Shows?
Yes and no.  I don't want all of their movies, only the movies I own.
 
You see.  I am a bargain shopper so I buy the movie where it is the cheapest.  This means I have movies on iTunes, amazon, and Vudu, which has made it increasingly more difficult for my family to remember what we own and where to find it.  Movies anywhere doesn't currently have all of the movies I own, so I can't just tell the Family to use that.  I also don't want to grow my own movie storage at this time because I don't want to worry about copy right infringement when I remove DRM.
 
 
Side note:
 
I've been reading up on webhooks and I see there is a plugin developed for webhooks with emby.  If what I am reading is correct, the webhook broadcasts an event and the other end just listens for an event.  If this is the case, then all I should need to do is play a movie and then emby sends broadcasts that it did something.  The listener app ( most likely some web end then grabs that and consumes the data.

 

Does this sound feasible?  If not I completely do not understand webhooks.  The only other thing that needs to be address is making a stub file actually send the webhook broadcast.

Edited by Keo
Link to comment
Share on other sites

@@Keo, one thing I question however, is that YOU may own 200 movies in VUDU but what happens when I play one of these movies from your server (assuming I had a share to your server)?

 

Since my VUDU and your VUDU is different how would I or anyone else be able to play it?

 

With Tubi TV or normal netflix, amazon movies we'd all have access to the same movies assuming we have a login to said service.  That's why I like Tubi TV since it's free for the signup so essentially anyone can use it.

 

Carlo

Link to comment
Share on other sites

@@Keo, one thing I question however, is that YOU may own 200 movies in VUDU but what happens when I play one of these movies from your server (assuming I had a share to your server)?

 

Since my VUDU and your VUDU is different how would I or anyone else be able to play it?

 

With Tubi TV or normal netflix, amazon movies we'd all have access to the same movies assuming we have a login to said service.  That's why I like Tubi TV since it's free for the signup so essentially anyone can use it.

 

Carlo

 

I don't understand why there is such a debate over this, all I am asking for is a stub that will send a url when I select play.  Stubs are already supported so this should be a small enhancement.  Obviously there are going to be limitations, but you're not supposed to be sharing the Vudu movie collection.  Even with iTunes and Google, the sharing is limited to family and/or a number of devices.

 

I've been looking at the webhook plugin and I believe this is going to do what I need.  I will send a play event to my own webserver and use that to trigger what I need to do.  Unfortunately I am going to have to create a stupid 5 second video and link to it with every vudu movie so emby thinks I have all of these videos in my library.

 

It sure would be nice if a streaming stub was put in place so emby could send a play event when the cover art is selected.

Link to comment
Share on other sites

Not a debate as it's not a bad idea at all.  BUT if you are going to add this type of functionality it's good to think ahead and not build it for just Vudu when there are other services that could benefit from it as much or more like the free Tubi TV that anyone can use for just a signup.

 

So for me, it's about getting the functionality for YOU but also keep it generic so it can be used with many other apps as well.

 

Make sense?

Link to comment
Share on other sites

So for me, it's about getting the functionality for YOU but also keep it generic so it can be used with many other apps as well.

Make sense?

So is there a way for me to change the request topic in this forum.  I used Vudu as an example.  All I really need is a way to send a URL when a stub is selected.  Kind of like the webhook but for stubs.  The webhook plugin seems to support play, pause, stop, and (something else which I can't remember).  However, stubs don't seem to send play events because the fireTV client doesn't even have a play button for stubs.

I am fine with broadcasting a play event to my own webserver and then allowing my webserver to query back to emby to get information about the movie.

Link to comment
Share on other sites

funwithmedia
So for me, it's about getting the functionality for YOU but also keep it generic so it can be used with many other apps as well.

Make sense?

So is there a way for me to change the request topic in this forum.  I used Vudu as an example.  All I really need is a way to send a URL when a stub is selected.  Kind of like the webhook but for stubs.  The webhook plugin seems to support play, pause, stop, and (something else which I can't remember).  However, stubs don't seem to send play events because the fireTV client doesn't even have a play button for stubs.

I am fine with broadcasting a play event to my own webserver and then allowing my webserver to query back to emby to get information about the movie.

 

 

Emby Theater and Emby Web (ie, browsing your library via web browser) both will give you a Play button for stubs, so perhaps you could start testing/experimenting with those just to see what sort of events fire. It might be an oversight that the Play button was omitted from the fireTV app for stubs.

Link to comment
Share on other sites

  • 1 month later...

Have you tried to do it a simple way like this:

5c57f11ba39cd_tg1.png

5c57f133aebcc_tg2.png

 

I don't think you could get anything easier than that.

ALSO if you happen to share your server with other people outside your family you could add a "Vudo" tag to the movie and then in parental settings filter out anything with the "Vudu" tag.  This way only your family can see the movies you have this way.

 

These picture are from the web interface which does have a PLAY button.  If I view the same movie on Android TV I do not see the play button or the version choice.  Hence the "Vudu" in the title as well.

Edited by cayars
  • Like 1
Link to comment
Share on other sites

funwithmedia

@@cayars, what did you do to get "Version: Vudu"? And, would there be a way to achieve that if Vudu is the only version one has for something (ie, if something is only available in one service, and not available locally at all)?

Link to comment
Share on other sites

Deathsquirrel

@@cayars, what did you do to get "Version: Vudu"? And, would there be a way to achieve that if Vudu is the only version one has for something (ie, if something is only available in one service, and not available locally at all)?

 

I don't know that it's what he did, but you can create a stub file or just rename a .txt file to Top Gun (1986) - VUDU Edition.mkv.

  • Like 1
Link to comment
Share on other sites

@@cayars, what did you do to get "Version: Vudu"? And, would there be a way to achieve that if Vudu is the only version one has for something (ie, if something is only available in one service, and not available locally at all)?

I made use of two features:

Multi versions  https://github.com/MediaBrowser/Wiki/wiki/Movie-naming

Stub files  https://github.com/MediaBrowser/Wiki/wiki/Media-stubs

 

In order to get the multi versions I used two stub files.  One with - vudu  one with - zzz

V comes before z so I see Vudu as the default.  I could have done something more creative but I just wanted to show you could do it this way.

 

Now interestingly, if you share with people outside your home/family and don't want them to see your Vudu listing add a Tag such as Vudu.  :)  Then in parental access set a filter for the Vudu tag for anyone who doesn't have access to your account.

 

The title of course is just edited in meta-data editor.

 

That should work for you.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...