JSON Feed and Converting Channels

I have several channels that I need to convert using the direct publisher. I know nothing about JSON.feeds.

Is there a sample feed so i can learn what I need to put in it? What does the feed look like and what does the actual format look like that has to be entered at direct publisher?

Are there any screenshots of direct publisher of steps to “convert” channels over?

I saw the button to convert beside my channels in my account but I want to know what I have to do, provide, etc before I start clicking any buttons and mess up my existing channels and subscribers. Thank you.

I would like to know this as well because I use an XML file that lists/stores all my feeds which is not compatible with DP so I need to know if the Conversion process will automatically convert my XML Feed file to the JASON feed compatible.
Here is some documentation of how to create the JSAON feed file;
https://github.com/rokudev/feed-specifi … ication.md

Here is a sample feed file : https://api.myjson.com/bins/3sa1g but this is for MP4,MOV feeds but I need one for HLS m3u8 feeds

Then you can test to see if there are any errors in your feed file here : http://www.jsonschemavalidator.net

Thanks for the links.

I have a few different channels. One uses a link from my server for our radio station. I have others that use xml with categories that are on-demand. I have a couple of channels that have lists of videos that play in a row when the play like live tv then the play button is clicked.

I sure am wondering how difficult this is going to be to get all of the channels switched over.

BTW is there a sample json feed to show what needs to be added to direct publisher?

I see links that show specific variables that need to be added to a json feed but not a complete example of one written out that can be used as a guide. Would be really nice for all of us that have to change over to have a specific sample copy of one that can be used and then we plug in our own information to the variables? Maybe it’s one of the things that will be “top secret” while the rest of us begin this new learning curve lol Or, if it is posted someplace, then I must have over looked it.

I found a way to convert my xml to json but what do you when you have multiple xml files that provide the on demand content that is currently in “categories”?

And, how do you test the converted channel to make sure it works?

If you go through the steps to create a Direct Publisher channel online (Just create a test private channel) you will see that you can create your own Categories (it’s part of the channel creation walkthrough) you can select different feed files for each one so I think that is all you will need to do. Was it easy for you to convert your XMl to JSON? can you show me how? Thank you

Thanks for the link and I’ve converted my XMl file and is json compatible now but what file extension do it use?
I uploaded the json txt file to my server called File.JSON but when I check feed status in Direct Publisher after adding this file link, it says;
Unable to download from feedUrl

My converted xml doesn’t seem to follow this example that works : https://api.myjson.com/bins/3sa1g

If I knew how to do it, I would certainly provide information for you. You are further along on this than I am. I have 10 channels to convert…ugh

You can find an example of a working JSON Direct Publisher feed here: https://api.myjson.com/bins/3sa1g

Once you’ve configured your feed properly, the channel conversion process will actually be quite quick and easy (assuming your branding assets are all prepared). When you click the “Convert to Direct Publisher” button, you will be brought to the same workflow as anyone who creates a Direct Publisher channel. You can find an overview of what this process looks like here: https://developer.roku.com/publish/channel-tutorial/channel-tutorial-index

Also note that you will not break your channel at any point, as you will be able to preview the channel before you submit it. Until you submit the channel, nothing in production (i.e. available to the public) will be affected.

RokuTomC

Thank you for the help and for sharing what a JSON feed looks like.

On the Direct Publisher, will I need to provide a “link” to my JSON feed that has to be from my server somehow? Or, as I saw at the link you provided, I would prepare a feed like it and then paste the feed into the appropriate place on Direct Publisher? I’m thinking I have to now learn how to use my server at aws to somehow host the JSON??

Obviously, I am new to JSON feeds and will do some research online to get more familiar.

Thanks for helping.

EDIT: After research, if I am correct, what I learned is I have to host my JSON somewhere and then plug the url into Direct Publisher, right? Where to host it because it will be too confusing to add to my aws server. I keep my content on my aws and use those links in the feed. But, where do I put the feed and get a URL??

Hi Guys, I copied the same info located in the sample : https://api.myjson.com/bins/3sa1g to my server to file called File.JSON then changed the Feed URL to my server file but when checking the feed status it says;
Unable to download from feedUrl

What am I doing wrong?

You copied the content from that link and tthen to place it on your server…did you paste it into a text file and save the text tile in the folder you made?

I’m wondering how to add it to my aws server using cloudberry. I have folders that are .xml so have no idea how to ad JSON ..

I discovered a place online that hosts JSON but the one I found is not secure.

“matrixebiz” wrote:
Hi Guys, I copied the same info located in the sample : https://api.myjson.com/bins/3sa1g to my server to file called File.JSON then changed the Feed URL to my server file but when checking the feed status it says;
Unable to download from feedUrl

What am I doing wrong?
Did you change the permissions of the file after you uploaded it to have it be able to be Read by All and not just Owner?

“attilascreative” wrote:

“matrixebiz” wrote:
Hi Guys, I copied the same info located in the sample : https://api.myjson.com/bins/3sa1g to my server to file called File.JSON then changed the Feed URL to my server file but when checking the feed status it says;
Unable to download from feedUrl

What am I doing wrong?
Did you change the permissions of the file after you uploaded it to have it be able to be Read by All and not just Owner?
EDIT: Changed to a different server to host my file and it is working now : https://forums.roku.com/viewtopic.php?f=100&t=99232

I too am new to this process and would like to understand where the Direct Publisher feed url is pointing to exactly. I’ve prepared the sample json file as a text file. Converted it to .json. Uploaded the .json file to my s3 aws server and granted public permissions yet I get the error The feed URL(s) could not be validated.

  • The server returned an unsupported content type. Was expecting ‘application/rss+xml’, ‘text/xml’, ‘application/xml’ or ‘application/json’ but received ‘application/octet-stream’.
    Not sure

    It is asking for a feed url. I’m stomped on this one.

Changed to a different server to host my file and it is working now : https://forums.roku.com/viewtopic.php?f=100&t=99232

“jofo” wrote:
I too am new to this process and would like to understand where the Direct Publisher feed url is pointing to exactly. I’ve prepared the sample json file as a text file. Converted it to .json. Uploaded the .json file to my s3 aws server and granted public permissions yet I get the error The feed URL(s) could not be validated.

  • The server returned an unsupported content type. Was expecting ‘application/rss+xml’, ‘text/xml’, ‘application/xml’ or ‘application/json’ but received ‘application/octet-stream’.
    Not sure

    It is asking for a feed url. I’m stomped on this one.

  • You have to change your S3 metadata to application/json. I had to do it in S3 browser software because it wouldnt let me do it from the panel.

I am really having a difficult time converting my content to a JSON Feed. I have used the sample content from “https://api.myjson.com/bins/3sa1g” and just inserted one of my content videos, I have verified it with the JSON validator, but when I add it as my feed url and check my Feed URL status, it is giving me a ton of errors. Here is my JSON feed -http://hproku.s3.amazonaws.com/JSON/single-movie.json. Could someone please check this and let me know why it is giving me all these errors?

{"providerName":"Hope Point Church","language":"en-US","lastUpdated":"2017-02-07T22:21:37+00:00",
"movies":[{"id":"20170205","title":"This is All that Matters","content":{"dateAdded":"2017-02-07T22:21:37+00:00",
"videos":[{"url":"https://player.vimeo.com/external/202773657.m3u8?s=85a36bc2ad5bc9d8ae53e4157557e550bf28a680",
"quality":"HD","videoType":"HLS"}],"duration":2934,"genres":["faith"],"tags":["recent"],"thumbnail":
"http://hopepoint.s3.amazonaws.com/Sermon-Stills/this-is-all-that-matters.jpg","releaseDate":"2017-02-07",
"shortDescription":"All that matters is faith expressed through our love."}}]}

  • 02/08/2017 02:49PM
    No valid items were found in the feed

  • 1 item has an error: Required content dateAdded missing or invalid.

  • 1 item has an error: Required movie genres is missing or invalid.

  • 1 item has an error: Required movie thumbnail is missing.

  • 1 item has an error: Required movie shortDescription is missing.

  • 1 item has an error: Required movie release date is missing or invalid.

I’m not sure if this is the problem or not but checking your source page : view-source:https://hproku.s3.amazonaws.com/JSON/single-movie.json your code starts on line 3, what is at the beginning of your file occupying lines 1 and 2? Spaces, Returns, Tabs? Maybe delete all the stuff in the front of {“providerName” and see if that makes a difference. I’m new to this as well so not sure if the feed is checking line 1 and sees that there is nothing there and that is why it is telling you that all that stuff is missing ??

I changed what you suggested but it is still giving me those errors. Maybe it is because I do not have categories listed. I will try to figure out how to add categories. I came across this sample content on the forum and it looks a lot more in depth. https://api.myjson.com/bins/4tu28

Maybe this one will help you. I have this one currently loaded and Feed status is not giving any errors; - 5 items ingested successfully

{"providerName":"Acme Productions","language":"en-US","lastUpdated":"2016-06-15T22:21:37+00:00","movies":[{"id":"decbe34b64ea4ca281dc09997d0f23fd","title":"Live Gaming","content":{"dateAdded":"2016-06-15T22:21:37+00:00","videos":[{"url":"http://roku.cpl.delvenetworks.com/media/59021fabe3b645968e382ac726cd6c7b/decbe34b64ea4ca281dc09997d0f23fd/aac0cfc54ae74fdfbb3ba9a2ef4c7080/117_segment_2_twitch__nw_060515.mp4","quality":"HD","videoType":"MP4","bitrate":1328.0}],"duration":53,"trickPlayFiles":[{"url":"http://s2.content.video.llnw.net/lovs/images-prod/59021fabe3b645968e382ac726cd6c7b/media/decbe34b64ea4ca281dc09997d0f23fd/j5_.540x304.jpeg","quality":"HD"}]},"genres":["gaming"],"tags":["gaming"],"thumbnail":"https://blog.roku.com/developer/files/2016/09/thumbnail.png","releaseDate":"2016-06-15","shortDescription":"Watch the most popular game broadcasts."}],"series":[{"id":"1037510958109183094109r094809","title":"A Series About Channels","seasons":[{"seasonNumber":1,"episodes":[{"id":"6c9d0951d6d74229afe4adf972b278dd","title":"Let's Get Cookin'","content":{"dateAdded":"2016-06-15T22:21:37+00:00","videos":[{"url":"http://roku.cpl.delvenetworks.com/media/59021fabe3b645968e382ac726cd6c7b/6c9d0951d6d74229afe4adf972b278dd/bc227724e2854c6b93ad48d1feb39c16/roku_ep_115_segment_5_paula_nw_050515.mp4","quality":"HD","videoType":"MP4","bitrate":1328.0}],"duration":59,"trickPlayFiles":[{"url":"http://s2.content.video.llnw.net/lovs/images-prod/59021fabe3b645968e382ac726cd6c7b/media/decbe34b64ea4ca281dc09997d0f23fd/j5_.540x304.jpeg","quality":"HD"}]},"thumbnail":"https://blog.roku.com/developer/files/2016/09/thumbnail.png","episodeNumber":1,"releaseDate":"2016-06-15","shortDescription":"Paula Deen new and hilarious cooking and lifestyle show."},{"id":"7405a8c101ee4c9da312c426e6067044","title":"Ideas Worth Spreading","content":{"dateAdded":"2016-06-15T22:21:37+00:00","videos":[{"url":"http://roku.cpl.delvenetworks.com/media/59021fabe3b645968e382ac726cd6c7b/7405a8c101ee4c9da312c426e6067044/dc0d29c5dde34565a3be95987f2956fe/roku_ep_115_segment_1_ted_nw_050515.mp4","quality":"HD","videoType":"MP4","bitrate":1328.0}],"duration":71,"trickPlayFiles":[{"url":"http://s2.content.video.llnw.net/lovs/images-prod/59021fabe3b645968e382ac726cd6c7b/media/decbe34b64ea4ca281dc09997d0f23fd/j5_.540x304.jpeg","quality":"HD"}]},"thumbnail":"https://blog.roku.com/developer/files/2016/09/thumbnail.png","episodeNumber":2,"releaseDate":"2016-06-15","shortDescription":"TED is a nonprofit devoted to Ideas Worth Spreading."}]}],"genres":["special","food","educational"],"tags":["special","food","educational"],"thumbnail":"https://blog.roku.com/developer/files/2016/09/thumbnail.png","releaseDate":"2016-06-15","shortDescription":"The Paula Deen Channel."}],"shortFormVideos":[{"id":"37d290e03d894135b07c5e514cbad72d","title":"Fight Pass","content":{"dateAdded":"2016-06-15T22:21:37+00:00","videos":[{"url":"http://roku.cpl.delvenetworks.com/media/59021fabe3b645968e382ac726cd6c7b/37d290e03d894135b07c5e514cbad72d/dfd02160a5374c39967c105a8cfff3a1/roku_ep_115_segment_3_ufc_nw_051815.mp4","quality":"HD","videoType":"MP4","bitrate":1328.0}],"duration":52,"trickPlayFiles":[{"url":"http://s2.content.video.llnw.net/lovs/images-prod/59021fabe3b645968e382ac726cd6c7b/media/37d290e03d894135b07c5e514cbad72d/xUE.540x304.jpeg","quality":"HD"}]},"thumbnail":"https://blog.roku.com/developer/files/2016/09/thumbnail.png","shortDescription":"UFCTV gives you Live and On-Demand access to UFC events.","releaseDate":"2016-06-15"}]}