410 items have error: Required movie content is missing.

Hello, I have a json feed into my roku direct publisher channel, but when I checked the feed status it says “410 items have error: Required movie content is missing.”

I tried every field the documentation offered, it didn’t cause it to error more, but didn’t help the problem, so I don’t know what to do.

Please help me figure out what it is asking for.

thanks

here is the json file:

{
"providerName": "EliYah.com",
"lastUpdated": "2022-12-3T10:38:28+00:00",
"language": "en",
"movies": [{

"id": "b027b874-1002-4e6b-a37b-16a720146fd6",
   "title": "Commands Of The Messiah - Part 32",
   "content":[{
      "dateAdded": "2022-03-26T18:04:42",
      "videos": [{
      "url": "https://eliyah.com/video/broadcast/20220326-study.mp4",
"quality": "HD",
"videoType": "MP4",
"bitrate": "1900"
}]
 }],
"genres": [
"educational"
],
"rating": {
"rating": "UNRATED",
"ratingSource": "USA_PR"
},

"tags": ["Eliyah.com"],

"thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png",
"releaseDate": "2022-03-26T18:04:42",
"shortDescription": "Sorry, this Archive currently has no Description",
"longDescription": "Sorry, this Archive currently has no Description",
"categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}]

},
{
"id": "1baca56b-dbae-4950-9d76-418f11f7081d",
   "title": "Commands of The Messiah - Part 31",
   "content":[{
      "dateAdded": "2022-03-26T18:04:42",
      "videos": [{
      "url": "https://eliyah.com/video/broadcast/20220319-study.mp4",
"quality": "HD",
"videoType": "MP4",
"bitrate": "1900"
}]
 }],
"genres": [
"educational"
],
"rating": {
"rating": "UNRATED",
"ratingSource": "USA_PR"
},

"tags": ["Eliyah.com"],

"thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png",
"releaseDate": "2022-03-26T18:04:42",
"shortDescription": "Sorry, this Archive currently has no Description",
"longDescription": "Sorry, this Archive currently has no Description",
"categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}]

},
{
"id": "4771b0e7-2dae-45b8-9036-eb4f18af1b68",
   "title": "How to observe Passover",
   "content":[{
      "dateAdded": "2022-03-26T18:04:42",
      "videos": [{
      "url": "https://eliyah.com/video/broadcast/20220312-study.mp4",
"quality": "HD",
"videoType": "MP4",
"bitrate": "1900"
}]
 }],
"genres": [
"educational"
],
"rating": {
"rating": "UNRATED",
"ratingSource": "USA_PR"
},

"tags": ["Eliyah.com"],

"thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png",
"releaseDate": "2022-03-26T18:04:42",
"shortDescription": "Sorry, this Archive currently has no Description",
"longDescription": "Sorry, this Archive currently has no Description",
"categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}]

},
{
"id": "bb6beea1-2685-4f6b-a091-b93a4d85e8c6",
   "title": "Footsteps of the Savior - Part 36",
   "content":[{
      "dateAdded": "2022-03-26T18:04:42",
      "videos": [{
      "url": "https://eliyah.com/video/broadcast/discipleship-36-study.mp4",
"quality": "HD",
"videoType": "MP4",
"bitrate": "1900"
}]
 }],
"genres": [
"educational"
],
"rating": {
"rating": "UNRATED",
"ratingSource": "USA_PR"
},

"tags": ["Eliyah.com"],

"thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png",
"releaseDate": "2022-03-26T18:04:42",
"shortDescription": "Sorry, this Archive currently has no Description",
"longDescription": "Sorry, this Archive currently has no Description",
"categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}]

},
{
"id": "e52a8ac2-ba53-46f8-84d6-a95db1ac719c",
   "title": "Passover 2022 Its meaning and Relevance",
   "content":[{
      "dateAdded": "2022-03-26T18:04:42",
      "videos": [{
      "url": "https://eliyah.com/video/broadcast/20220305-study.mp4",
"quality": "HD",
"videoType": "MP4",
"bitrate": "1900"
}]
 }],
"genres": [
"educational"
],
"rating": {
"rating": "UNRATED",
"ratingSource": "USA_PR"
},

"tags": ["Eliyah.com"],

"thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png",
"releaseDate": "2022-03-26T18:04:42",
"shortDescription": "Sorry, this Archive currently has no Description",
"longDescription": "Sorry, this Archive currently has no Description",
"categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}]

},
{
"id": "44600d13-f7fe-48f3-8fb4-4c093cd2cdb6",
   "title": "New Moon Broadcast - 13th Month",
   "content":[{
      "dateAdded": "2022-03-26T18:04:42",
      "videos": [{
      "url": "https://eliyah.com/video/broadcast/new-moon-13th-month-2022",
"quality": "HD",
"videoType": "MP4",
"bitrate": "1900"
}]
 }],
"genres": [
"educational"
],
"rating": {
"rating": "UNRATED",
"ratingSource": "USA_PR"
},

"tags": ["Eliyah.com"],

"thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png",
"releaseDate": "2022-03-26T18:04:42",
"shortDescription": "Sorry, this Archive currently has no Description",
"longDescription": "Sorry, this Archive currently has no Description",
"categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}]

}
]}

ok thanks

The problem is, the feed specifications page does not have a duration for movie content type: https://developer.roku.com/docs/specs/direct-publisher-feed-specs/json-dp-spec.md#movie

is the duration in seconds or minutes. Will it matter if I just put the video duration longer than the video? What will happen?

You’ve got several syntactical errors in your feed file:

2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path 'movies[0].content', line 9, position 24.
2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path 'movies[1].content', line 47, position 24.
2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path 'movies[2].content', line 85, position 24.
2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path 'movies[3].content', line 123, position 24.
2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path 'movies[4].content', line 161, position 24.
2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path 'movies[5].content', line 199, position 24.
2022-03-31 11:44:03.7466 ERROR 'lastUpdated' field is incorrectly formatted.  Assigning today's date.
2022-03-31 11:44:03.7466 ERROR 'b027b874-1002-4e6b-a37b-16a720146fd6' contains an incorrectly formatted 'ReleaseDate'.  Setting date to '2022-03-26'.
2022-03-31 11:44:03.7466 ERROR 'b027b874-1002-4e6b-a37b-16a720146fd6' contains an incorrectly formatted 'dateAdded'.  Setting date to today's date.
2022-03-31 11:44:03.7466 ERROR 'b027b874-1002-4e6b-a37b-16a720146fd6' is missing one or more video objects.  
2022-03-31 11:44:03.7466 ERROR '1baca56b-dbae-4950-9d76-418f11f7081d' contains an incorrectly formatted 'ReleaseDate'.  Setting date to '2022-03-26'.
2022-03-31 11:44:03.7466 ERROR '1baca56b-dbae-4950-9d76-418f11f7081d' contains an incorrectly formatted 'dateAdded'.  Setting date to today's date.
2022-03-31 11:44:03.7466 ERROR '1baca56b-dbae-4950-9d76-418f11f7081d' is missing one or more video objects.  
2022-03-31 11:44:03.7536 ERROR '4771b0e7-2dae-45b8-9036-eb4f18af1b68' contains an incorrectly formatted 'ReleaseDate'.  Setting date to '2022-03-26'.
2022-03-31 11:44:03.7536 ERROR '4771b0e7-2dae-45b8-9036-eb4f18af1b68' contains an incorrectly formatted 'dateAdded'.  Setting date to today's date.
2022-03-31 11:44:03.7536 ERROR '4771b0e7-2dae-45b8-9036-eb4f18af1b68' is missing one or more video objects.  
2022-03-31 11:44:03.7536 ERROR 'bb6beea1-2685-4f6b-a091-b93a4d85e8c6' contains an incorrectly formatted 'ReleaseDate'.  Setting date to '2022-03-26'.
2022-03-31 11:44:03.7536 ERROR 'bb6beea1-2685-4f6b-a091-b93a4d85e8c6' contains an incorrectly formatted 'dateAdded'.  Setting date to today's date.
2022-03-31 11:44:03.7536 ERROR 'bb6beea1-2685-4f6b-a091-b93a4d85e8c6' is missing one or more video objects.  
2022-03-31 11:44:03.7536 ERROR 'e52a8ac2-ba53-46f8-84d6-a95db1ac719c' contains an incorrectly formatted 'ReleaseDate'.  Setting date to '2022-03-26'.
2022-03-31 11:44:03.7536 ERROR 'e52a8ac2-ba53-46f8-84d6-a95db1ac719c' contains an incorrectly formatted 'dateAdded'.  Setting date to today's date.
2022-03-31 11:44:03.7536 ERROR 'e52a8ac2-ba53-46f8-84d6-a95db1ac719c' is missing one or more video objects.  
2022-03-31 11:44:03.7536 ERROR '44600d13-f7fe-48f3-8fb4-4c093cd2cdb6' contains an incorrectly formatted 'ReleaseDate'.  Setting date to '2022-03-26'.
2022-03-31 11:44:03.7536 ERROR '44600d13-f7fe-48f3-8fb4-4c093cd2cdb6' contains an incorrectly formatted 'dateAdded'.  Setting date to today's date.
2022-03-31 11:44:03.7536 ERROR '44600d13-f7fe-48f3-8fb4-4c093cd2cdb6' is missing one or more video objects.

In particular, you’ve defined the Content object as an array rather than an object.

The ‘duration’ field is a value in the Content object and is the total number of runtime seconds for the video.

ok, so if I add the duration of the videos it should work?

 

I have taken off all but one video and added the duration, but it still returns the same error.

{
"providerName": "EliYah.com",
"lastUpdated": "2022-12-3T10:38:28+00:00",
"language": "en",
"movies": [{

"id": "b027b874-1002-4e6b-a37b-16a720146fd6",
   "title": "Commands Of The Messiah - Part 32",
   "content":[{
      "dateAdded": "2022-03-26T18:04:42",
      "videos": [{
      "url": "https://eliyah.com/video/broadcast/20220326-study.mp4",
"quality": "HD",
"videoType": "MP4",
"bitrate": "1900",
"duration": 10800
}]
 }],
"genres": [
"educational"
],
"rating": {
"rating": "UNRATED",
"ratingSource": "USA_PR"
},

"tags": ["Eliyah.com"],

"thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png",
"releaseDate": "2022-03-26T18:04:42",
"shortDescription": "Sorry, this Archive currently has no Description",
"longDescription": "Sorry, this Archive currently has no Description",
"categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}]

}
]}

interesting, let me try a different link

same error with a link that works:

{
"providerName": "EliYah.com",
"lastUpdated": "2022-12-3T10:38:28+00:00",
"language": "en",
"movies": [{

"id": "b027b874-1002-4e6b-a37b-16a720146fd6",
   "title": "Commands Of The Messiah - Part 32",
   "content":[{
      "dateAdded": "2022-03-26T18:04:42",
      "videos": [{
      "url": "https://www.eliyah.com/video/passoverservice-hd.mp4",
"quality": "HD",
"videoType": "MP4",
"bitrate": "1900",
"duration": 10800
}]
 }],
"genres": [
"educational"
],
"rating": {
"rating": "UNRATED",
"ratingSource": "USA_PR"
},

"tags": ["Eliyah.com"],

"thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png",
"releaseDate": "2022-03-26T18:04:42",
"shortDescription": "Sorry, this Archive currently has no Description",
"longDescription": "Sorry, this Archive currently has no Description",
"categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}]

}
]}

I do have duration too, so I have zero idea what is wrong

Please refer to my earlier post. Your original feed file has syntax errors. You’ve coded the Content field as an array because you used “[”. It should be an object that uses “{”. Here’s the example from the Roku doc…

{
  "id": "1509428502952",
  "title": "The Amazing Short-form Video",
  "content": **{**
    ...
  **}**,
  "thumbnail": "https://example.org/cdn/thumbnails/1509428502952/1",
  "shortDescription": "Astonishing short-form video",
  "releaseDate": "2016-01-01"
}

The syntax does make a difference when coding your feed file. That’s why it’s important not to code it manually using an editor like notepad. It’s too error prone.

I am actually using Visual Studio code to edit it, And it tell me the syntax errors.

I still get an error, although its changed:

when I put this into the channel, it doesn’t work, it does ingest though