Roku Direct Publisher

The easiest way to create a great TV experience.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mitchstein
Level 10

Help with formatting json file second set of eyes for syntax or missing field PLZ..

I need a second set of eyes to check out this clip from my json file. I can not for he life of me figure out why roku returns "1 item has an error: No valid items were found in the feed: validateAnyOf".

The full json file has 32 episodes in it..

{"providerName":"TVByDemand Productions",
"lastUpdated":"2020-04-15T3:47:52+00:00",
"language":"en",
"Series":[{
"id": "1",
		"title": "Bonanza",
		"seasons": [{
			"seasonNumber": 1,
			"thumbnail": "http://www.tvbydemand.com/images/bonanza.jpg",
			"episodes": [
				{
},
{"id":"2086",
"title":"S1E13 Vendetta",
"content":{
"dateAdded":"2016-03-03T12:35:14+00:00",
"videos":[
{
"url":"http://www.tvbydemand.com/........../finished.ism/manifest",
"quality":"SD",
"videoType":"SMOOTH"}],
"duration":2969},
"genres":[
"comedy"
],
"tags":[
"comedy",
"vintage tv",
"S1",
"S1E",
"Bonanza"
],
"thumbnail":"http://www.tvbydemand.com/images/bonanza.JPG",
    "episodeNumber": 13,
"releaseDate":"2016-03-03T12:35:14+00:00",
"shortDescription":"S1E13 Vendetta",
"longDescription":"S1E13 Vendetta - When one of the Morgan brothers is shot and killed by Ben during a bank holdup, they vow revenge. The friends he thought he had in town decide to hide away while a wounded Ben lays up waiting for them to ride into town...LD.."
},
http://www.TVByDemand.com
0 Kudos
7 REPLIES 7\
37mediagroup
Level 12

Re: Help with formatting json file second set of eyes for syntax or missing field PLZ..

Is the comma at the end supposed to be there?  (due to only pasting part of the json file?)

0 Kudos
Baradanikto
Level 13

Re: Help with formatting json file second set of eyes for syntax or missing field PLZ..

I think you have some coding errors for sure:

2020-04-15 16:12:54.3984 ERROR IsValidReleaseDate: Internal error - Value cannot be null.
Parameter name: input.
2020-04-15 16:12:54.3984 ERROR IsValidReleaseDate: Internal error - Value cannot be null.
Parameter name: input.
2020-04-15 16:12:54.3984 ERROR Unexpected end when deserializing array. Path 'Series[0].seasons[0].episodes[1]', line 38, position 1.
2020-04-15 16:12:54.3984 ERROR Unexpected end when deserializing object. Path 'Series[0].seasons[0].episodes[1]', line 38, position 1.
2020-04-15 16:12:54.3984 ERROR Unexpected end when deserializing array. Path 'Series[0].seasons[0].episodes[1]', line 38, position 1.
2020-04-15 16:12:54.3984 ERROR Unexpected end when deserializing object. Path 'Series[0].seasons[0].episodes[1]', line 38, position 1.
2020-04-15 16:12:54.3984 ERROR Unexpected end when deserializing array. Path 'Series[0].seasons[0].episodes[1]', line 38, position 1.
2020-04-15 16:12:54.3984 ERROR Unexpected end when deserializing object. Path 'Series[0].seasons[0].episodes[1]', line 38, position 1.
2020-04-15 16:12:54.3984 ERROR 'lastUpdated' field is incorrectly formatted.  Assigning today's date.
2020-04-15 16:12:54.4140 ERROR '1' contains an incorrectly formatted 'ReleaseDate'.  Setting date to ''.
2020-04-15 16:12:54.4140 ERROR '' contains an incorrectly formatted 'ReleaseDate'.  Setting date to ''.
2020-04-15 16:12:54.4140 ERROR '' contains an incorrectly formatted 'dateAddded'.  Setting date to today's date.
2020-04-15 16:12:54.4140 ERROR '1' is missing one or more video objects. 
2020-04-15 16:12:54.4140 ERROR '2086' contains an incorrectly formatted 'ReleaseDate'.  Setting date to '2016-03-03'.

Looks like you coded this by hand.  Probably a misplaced comma, }, or ].

FREE Windows desktop software for creating BIF (Trick Play), Direct Publisher (MRSS, JSON), and FireTV feeds @ GitHub/rrirower. No programming knowledge required.
0 Kudos
mitchstein
Level 10

Re: Help with formatting json file second set of eyes for syntax or missing field PLZ..

yup, the release date is defnitely wrong... Kinda funny though , that was opied from a working json file.. guess it didn't get picked up on that channel..

line 38 is the long description?

Based on the errors, it appears that is all thats wrong? and the post just repeats the same error?

No it's an asp script, there is no way I could code over 3500 videos into a json file by hand.. lol, well I could, but in no way would I..

Each video file sits in it's own directory. In that directory is txt file called desc.txt I run another script I wrote many years ago in classic asp that after I fill out a short form goes through the directories and adds the videos to an access database...

Then a newer asp script pulls from the access database and creates the xml/json files..

Working on changing it from "movies" to Series... This is my third attempt. lol Roku pulled down my channels because of them being listed as movies... Because of changes they made to thier publishers agreement... I'm making this last ditch effort with the direct plyer and if I cnt get it to work then I'm just gonn go back to brightscript and update my old roku app to the new platform. It worked great for years, good ole xml in real time and no wasted time waiting for the portal to import stuff..

The biggest drawback to the DP is that everytime you make a change like add or remove a video everyone has to update thier player.. My old one didn't do that... write it once and forget it..

http://www.TVByDemand.com
0 Kudos
mitchstein
Level 10

Re: Help with formatting json file second set of eyes for syntax or missing field PLZ..

welp, exhausted all opions again.. guess Im done with eries and dp..

http://www.TVByDemand.com
0 Kudos
Baradanikto
Level 13

Re: Help with formatting json file second set of eyes for syntax or missing field PLZ..

I'm not sure why you're having problems with Series.  If you want, you can PM me your entire feed file and I can validate it with my software.

FREE Windows desktop software for creating BIF (Trick Play), Direct Publisher (MRSS, JSON), and FireTV feeds @ GitHub/rrirower. No programming knowledge required.
0 Kudos
Baradanikto
Level 13

Re: Help with formatting json file second set of eyes for syntax or missing field PLZ..

The biggest drawback to the DP is that everytime you make a change like add or remove a video everyone has to update thier player.

I'm not sure what you mean here.  If you update your feed file, Roku automatically ingests it on a daily basis.  The changes are then pushed to every player that has your channel.  Users do not need to manually update their player to obtain the changes.

FREE Windows desktop software for creating BIF (Trick Play), Direct Publisher (MRSS, JSON), and FireTV feeds @ GitHub/rrirower. No programming knowledge required.
0 Kudos
mitchstein
Level 10

Re: Help with formatting json file second set of eyes for syntax or missing field PLZ..

thats exactly what I mean... With the old standard api player I kept an xml file on my server that was downloaded everytime the player was opened.. So if I added or removed a video or added 250 videos they were immediate..

With DP they package the json file into the app itself, so the oly way to get the new videos is to update the channel after Roku decides to ingest the new json file.. Sure it lowers traffic to the server but it eliminates the ability to create a new live feed on the fly. for instance: you have a live event you want on a ppv, so you create a new "video" in the json files.. you can't just tell the end user, oh just close and reopen or reboot your roku. and try again. You have to tell them to go to the channel but don't enter it, press ^ select check for updates. wait for the channel to update. if it didn't update, (which happens more often then not) remove the channel, restart the roku, readd the channel. then if ROKU injested the new json you should SHOULD have the new video.. Usually by the time we get to "remove the channel and reboot and readd it in, the person will at the least comment, "Wow, this is ridiculous, how come I never had to do this before.".. many just ask for a refund.. So ow, in order to do a live ppv, as the publisher I have to create a 24/7 live feed at least 2 days before the ppv, update the channel AND make sure the feed is working the whole time, becuse once a day the DP will check to see if files that are indexed are available if it doesn't find them it doesn't list the video (feed) as available.. I had an instance where we took our servers down at 3am to do maintainance, it was back online by 3:30.. but ROKU checked all of our videos while we were down, so it unindexed the entire channel until the next day when it checked again for the existance of the video files..

They did the samething with the images.. the video thumbnails do not resolve sometimes for 12-24 hours.. It's just not end user support friendly..

ANyway, the DP is just very clunky and not very friendly for support..

http://www.TVByDemand.com
0 Kudos