liveFeed JSON question

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.

Set the ‘videoType’ field to HLS.

Cannot find an actual example json with liveFeed. I continually get

1 item has an error: No valid items were found in the feed: validateAnyOf

The .m3u8 feed link is valid, though.

Roku gives no json example including the .m3u8 feed, nor have I found it anywhere.

No help anywhere thus far.

Have you tried mimicking this? https://developer.roku.com/docs/specs/direct-publisher-feed-specs/json-dp-spec.md#livefeed

{  
   "id":"1509428502953",
   "title":"Sample Stream",
   "content":{  
      ...
   },
   "language":{  
      "en"
   },
   "thumbnail":"https://example.org/cdn/thumbnails/1509428502952/1",
   "brandedThumbnail":"https://example.org/cdn/thumbnails/1509428502952/1",
   "shortDescription":"A live description",
   "longDescription":"A longer description of a live stream",
   "tags":[  
      "linear",
      "news",
      "celebrity"
   ]
}

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.

Just click ‘Content Object’ above it, it’ll send you down to its link showing the below for the ‘Content’ field:

{
  "dateAdded": "2019-11-11T22:21:37+00:00",
  "videos": [
    {
         url: "https://mnmedias.api.telequebec.tv/m3u8/29880.m3u8",
         quality: "HD",
         videoType: "MP4"
      }
   ],
   duration: 3600,
   captions: [ ],
   adBreaks: ["00:15:00", "00:30:00", "00:45:00"],
   language: "en",
  "trickPlayFiles": [
    ...
  ],
}

I’ve got that. Thanks.

@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.

Hi,

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"
    }]
}

Download the file: https://ottfeed.com/GCUGbgJZalE6XOuIzJVV/OTTfeed-RDP-liveFeed.json

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"
   ]
	}

    ]
}

Hi Richard,

I dont see categories in your feed, did you set the categories on the Roku developer site?

Yes I do have categories set. I have one called “Live” if you want to see it my channel is “Pioneer Memorial Church Live”

There are two possible scenarios here:

  1. 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.

  2. Your feed file lacks a ‘validityPeriodStart’ object. Take a look at the Partner Success post for:

How can I schedule live content to appear during a certain time slot in my Direct Publisher channel?

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. :unamused_face: