Experimental: TV/Movie deep-links via imported .strmlnk files

This would be awesome for TV shows if you could somehow implement a way to include new episodes from the other sources in Up Next. Having so many options to watch shows from, sometimes I'll forget to check Prime or HBO or whatever for a show I watch. It was easier in the cable tv days where I could include all the networks in their DVR. Now with all the non-cable options, they get lost in the mix, and the AppleTV app hasn't done it for me, though it tries.

3 Likes

The biggest issue with shows is that we won't be able to know if you've watched them or not. We could be optimistic and just mark the episode as watched if you click the Watch button to be taken to another app...but we wouldn't know if you watched the next one and so on.

So it gets a little messy. A lot of how Channels works is because we know when you've watched things. None of the content brought in via these links would be able to do that. This is why we only did movies first.

We still might do it, again, there's a TON of caveats with this, so it'll be up to you if if it's worth it or not.

As far as NEW episodes popping up, that wouldn't happen. At least not by Channels. These links are all manual and you'd have to add them yourself.

OK. I created a repo that's full of stream links for Netflix and Disney Plus. This should serve as an example of how we can share these things as well as collaborate by adding new ones.

6 Likes

Don’t you sleep :joy:
it will be interesting how this goes, lots of maintenance. iTunes is ok but Netflix etc change their libraries.

2 Likes

Yeah it’s not the most reliable for Netflix. Disney Plus is a little more reliable.

Dont we need a scraper to get a periodic dump. Not sure if that is allowed. Prime would be good.

A scraper would be helpful but that will be up to the community. That’s not something we’ll be doing in Channels.

Besides the point of this is for the ability to add a couple things directly in Channels, not have the whole Netflix library in Channels.

Yeah I am not sure how it will develop, perhaps customised by each.
Content fragmented across streaming services is a problem, something which the Apple TV app is trying to address.

Channels>TVE + M3U goes a way to address the live component of fragmentation
Channels>Strmlnk potentially does that for VOD

I haven't had much luck with Netflix and amazon strmlnks opening the movie, the application launches but then I have to manually search for it.

I've tried the nflx:// and aiv:// format suggested in the links at the beginning of this chat, as well as the normal https:// url

Has anyone else had any success?

This is really pretty cool. I like having this as an option and am building up the library. We have Disney+ so that's a great addition for us for our grandkids.

One thing that would help manage this better would be to be able to select the Library or Kids filter on the Recordings screen in the web browse and have it persist over a refresh or pressing the back button.

The use case is this. I've imported the Disney+ links. Some of those are of interest to us (ie; Marvel, Star Wars) but the bulk I want to move to the Kids section. Since they're is no bulk move/edit I need to manually do each one. If the Library or Kids filter was persistent it would save having to reselect that each time I change one and go back to do the next.

Any chance this could be added?

We’re working on making browsing your library a lot better in the web admin, and filtering on visibility is part of it. And it will be retained via the url.

A good way to go through your library to make edits like this is just opening the movies in new tabs and editing them there. Then your list is retained.

For me, I’ll just open a ton of tabs, then go there to edit them and close the tab. Then repeat that as I go through the list of movies to curate them.

3 Likes

Netflix links seem to work on iOS but not tvOS (just opens the app).

I think apps like ReelGood/JustWatch/WatchAid/Streamio can open Netflix to a specific show though? Anyone here use those apps and can confirm? cc @hrhnick

I no longer have an active subscription to Netflix to test, however I do recall WatchAid opening up directly to the episode. Netflix is still listed as an option when I go to one of the older shows I track there.

1 Like

What movie and tv databases are being used ? Thetvdb and tmdb or something else ?

Neither. They are manually generated and linked to third-party apps. The sources are the external apps themselves.

I see thank you.

No I mean if I create a strmlnk file and name it The Dark Knight (2008) and put in an iTunes link to the movie Terminator, I actually see The Dark Knight displayed in my library. Therefore Channels must be scraping the names from a db, assuming the one it scrapes for actual library files.

You know when I imported your entire repo, a couple of them were tv shows and they actually showed up as all seasons and episodes like you would expect for native library files. I didn't make a note of which ones they were but the point is that if tv shows was implemented, Channels isn't just throwing you to the tv show page on the app but you can select (hopefully) the episode which makes it much more useable.

Another thing I ran into was regional content differences, quite a few Netflix items weren't available in my region:> just the caveats

1 Like

The files are scraped the same way local files are, by their file name.

I think this has been posted before but I can’t find it. How do insert metadata when no match is found. For example, Frozen II & Ghettysburg.

After some playing around I found that the following format also works for Itunes movies, albeit it opens the Itunes Movie App rather than the Apple TV app. Not a big issue for me.

https://itunes.apple.com/us/movie/about-a-boy/id280781993?uo=4

Apple provides a web service, which if queried with a movie name returns a JSON file that includes the above URL. i.e.

https://itunes.apple.com/search?term="About a Boy"&entity=movie&releaseYearTerm=2003&limit=1

I'm not a programmer, but I'm OK with spreadsheets so I was able to create a Google Sheet which, using a custom JSON Import script I found online, was able to call the web service for a movie within my collection and return the iTunes URL. I then had a column within the Google Sheets which populated the echo script to add the .strmlnk file. In all, it took me around 30 minutes to import my 500 iTunes movies into Channels.

It's probably quite crude, but it worked for me as a one-off exercise. I've provided my GSheet below, which you can take a copy of, if you want to try it out - there are some caveats which are listed below.

Resources:

Apple Documentation on web service
https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/
Custom ImportJSON.gs
https://github.com/bradjasper/ImportJSON

First, export your iTunes collection by navigating to Films in Itunes, switching view to grid and selecting the Name and Release Year column. Paste into GSheet.

Column E URL from JSON will populate with Itunes Links

If #Error is shown, I found this means that the process took too long. If you delete the formula, wait a second then drag the formula down from the cell above it will find it ok.
If #Ref is shown, this means that no results were returned. This was generally the case where the film name contained (Unrated) or (Extended Edition) etc. If you alter the name it usually finds it, the only movie I couldnt find was Holiday Inn for some reason.

Other words of warning, remove special characters like "?" from file names as this causes the echo script to fail. I think the US store URL is returned as default, you may need to update the Query URL formula to include the Store attribute if you have movies elsewhere (see Apples documentation)

Hope it helps some of you.

Link to Google Sheet
https://docs.google.com/spreadsheets/d/1Kcj3T05FWlMnnoRAXGMu5s4BeyXgjyaXDQqVJkJZ-nc/edit?usp=sharing

4 Likes