I’m adding liveFeed to my direct publisher JSON file, and I have a question about the content child object. Inside of “content” there is a required duration field, so how do you know what to set as the duration?
Also, inside of “content” is “videos” object and quality and videoType are required… I just a have m3u8 stream file, so not sure what quality or videoType should be used?
Are these truly required fields when using the liveFeed?
While I don’t run live streams, I have tested one. Take a look at the Roku Schema Document. You’ll see that the ‘duration’ field should be set to the maximum time your live feed will be broadcasting.
Of course but it is missing the coding for the actual .m3u8 URL and liveFeed. That’s what I’ve not been able to find. Otherwise I am hunting/guessing and though my json is valid Roku gives me the error every time.
@JohnLocke1 Are you sure that you do not have any logic errors in your feed file? If you are using Json linters to check for errors, they won’t catch logic errors. A similar post from @mitchstein indicated a possible problem with the actual feed file.
You do not need duration for liveFeeds in Roku Direct Publisher, videoType should be HLS for live stream and quality is based on the stream resolution (FHD for 1080p, HD for 720p etc.)
Here is a sample JSON with liveFeeds:
{
"providerName": "OTTfeed.com"
, "lastUpdated": "2021-01-22T21:01:43+00:00"
, "language": "en-US"
, "liveFeeds": [{
"id": "GCUGbgJZalE6XOuIzJVV"
, "title": "OTTfeed"
, "content": {
"dateAdded": "2021-01-23T17:20:46+00:00"
, "videos": [{
"url": "https://playlist.ottfeed.com/live/master.m3u8?channel=GCUGbgJZalE6XOuIzJVV"
, "quality": "FHD"
, "videoType": "HLS"
}]
, "language": "en-US"
}
, "thumbnail": "https://ottfeed.com/GCUGbgJZalE6XOuIzJVV/OTTfeed-live-image.png"
, "shortDescription": "All-in-one feed management system for Roku Direct Publisher, Roku Channel and custom OTT apps"
, "longDescription": "OTTfeed: All-in-one feed management system for Roku Direct Publisher, Roku Channel and custom OTT apps. All Content Types, Management Tools & Advanced workflows. For more info go to https://OTTfeed.com"
, "tags": ["ottfeed", "live"]
, "rating": {
"rating": "UNRATED"
, "ratingSource": "USA_PR"
}
, "genres": ["technology"]
}]
, "categories": [{
"name": "Latest"
, "order": "most_recent"
, "query": "live OR ottfeed"
}]
}
I just added “duration” to it because I read somewhere that may be the issue. What happens is it loads up the Roku channel, and then flashes the live video in the “Hero Row” briefly, but then it disappears and all that shows is the Search and About buttons. Is a lack of the “duration” causing this? Here’s my full code (note that I have tried both with and without “duration”.
Richard P.
{
"providerName": "Pioneer Memorial Church",
"lastUpdated": "2021-03-26T22:30:00+00:00",
"language": "en",
"liveFeeds": [{
"id":"FTXVjkLZw3H5BPeFcMWW",
"title":"Pioneer Live",
"content":{
"dateAdded": "2021-03-15T22:30:00+00:00"
, "videos": [{
"url": "http://pioneermem.mmdlive.lldns.net/pioneermem/e62d944fc8744b1ab441fa0b0ba752a2/manifest.m3u8"
, "quality": "FHD"
, "videoType": "HLS"
}],
"language": "en-US",
"duration": 18000
},
"thumbnail":"https://pmchurch.org/sites/default/files/images/brand/pmc-roku-live-slate.jpg",
"brandedThumbnail":"https://pmchurch.org/sites/default/files/images/brand/pmc-roku-live-slate.jpg",
"shortDescription":"Pioneer at Worship",
"longDescription":"The live worship service from Pioneer Memorial Church.",
"tags":[
"religion",
"worship",
"church",
"live"
]
}
]
}
You are experiencing what many other developers have with the infamous Search/About bug rearing its ugly head. Search this forum and you’ll see that contacting Roku Partner Success seems to clear it up.
Your feed file lacks a ‘validityPeriodStart’ object. Take a look at the Partner Success post for:
I have contacted Partner Success but I wouldn’t call it very “successful”… takes days to hear back from someone. What’s odd about this is that I can see it and it plays just fine if I add the channel via testing link in the Direct Publisher settings. It is only a problem on the live channel. A lot of good it does to test it if the testing tool is different than live.