Roku Direct Publisher

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

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?

0 Kudos
13 REPLIES 13\
Baradanikto
Level 13

Re: liveFeed JSON question

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.

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

Re: liveFeed JSON question

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.
0 Kudos
37mediagroup
Level 12

Re: liveFeed JSON question


@JohnLocke1 wrote:

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"
   ]
}
0 Kudos
JohnLocke1
Level 7

Re: liveFeed JSON question

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.

0 Kudos
37mediagroup
Level 12

Re: liveFeed JSON question


@JohnLocke1 wrote:

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": [
    ...
  ],
}
0 Kudos
JohnLocke1
Level 7

Re: liveFeed JSON question

I've got that. Thanks.

0 Kudos
Baradanikto
Level 13

Re: liveFeed JSON question

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

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

Re: liveFeed JSON question

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

OTTfeed: all-in-one feed management system for Roku Direct Publisher. go to https://ottfeed.com/ and request a demo.
0 Kudos
newperceptions
Level 8

Re: liveFeed JSON question

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

    ]
}
0 Kudos