Can I add my own channels to the private label Web TV software?

I would like to add my own channel sources to my private label copy of the Web TV software. How can I do that?
1 person has
this question
  • Yes, we can configure your PLR version of the software from a different or additional source to play Video and Radio feeds. TV feeds and Apps can only be updated from our central database.

    We charge a one-time fee of $350 to integrate the software with your additional source. Please request a quote from us after providing a sample of a channel that you wish to add. If you require additional services such as scripting or database work they will be quoted separately.

    We can guarantee that we will not copy your sources and place them into our standard version of the software, but we cannot guarantee that there will not be any overlap between our channels and yours.

    In order to add your own channels you will need to format your data into the proper format, splitting the data into "Channels" and "Feeds".

    Channels are a description of the media content, and feeds are the location on the internet where that content can be viewed. One channel can have many different feeds.
  • (some HTML allowed)
    How does this make you feel?
    Add Image

    e.g. happy, confident, thankful, excited indifferent, undecided, unconcerned kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • Here is the TV Channel data format. It contains the following information:


    Channel_ID - A unique number identifier
    Channel_type - Radio, TV, Video
    Channel_favorites - The number of times it has been favorited
    Channel_rating - The total of all 1-5 star ratings submitted by the users
    Channel_votes - The number of ratings
    Channel_adddate - The date the channel was added in SQL Date format 2010-12-23 12:00:00
    Channel_featured - Boolean value, -1 is true, 0 is false
    Channel_category - Entertainment, Variety, Sports, etc..
    Channel_image - URL of an image that will displayed for the show
    Channel_offline - Boolean value, -1 is true, 0 is false.


    Feed_id - A unique number identifier
    Feed_url - The URL of the media, or a page the media resides on
    Feed_video - Boolean value. Set true (-1) if the feed URL is a video file
    Feed_web - Boolean value. Set true (-1) if the feed URL is a webpage with embedded media
    Feed_embed - Boolean value. Set true (-1) if the feed URL is HTML embed code
    Feed_locale - Use "All" if there are not country restrictions, or set a Country code.
    Feed_noembed - Set true if you do not want the software to try to extract the embedded media at the video URL. Useful if there are problems with embedding a particular feed.

    You will need to format the above data and place it in the following format at a URL where the software will connect to download updates. The software will send a SQL formatted date to this URL.

    Each channel should be printed to the page like this:


    Each channel should be terminated with an HTML break

    Each Feed should be printed to the page like this:


    Each feed should be terminated with an HTML break

    In addition, you will need to include some administrative information on the page, and include the date at the bottom in the format:

    DATE^[SQL Format of current date]

    The date should be terminated with an HTML break.

    Here is an example:

    CHANNEL^13357^BBC Radio Live^Radio^English^16^28^2010-01-08
    00:00:00^0^News^BBC Live Radio Streaming^7^^0
    CHANNEL^13359^Sportal^Stream^English^17^19^2010-01-08 00:00:00^0^Sports^Streaming WVX^9^^0
    CHANNEL^13360^C-SPAN^TV^English^14^5^2010-01-08 00:00:00^0^^^1^^0
    DATE^2010-12-20 00:00:00

    Note: in the above example we have removed http://www from the two URLs. That is because GetSatisfaction tries to convert them to links making it hard to see. In reality, you should start all URLs with the proper http://www prefix.
  • (some HTML allowed)
    How does this make you feel?
    Add Image

    e.g. happy, confident, thankful, excited indifferent, undecided, unconcerned kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • Tutorial for RSS feed reading.

    It is possible for the software to download video lists from RSS sources. To do so you must create a new type of entry in your data file, an RSS identifier.

    Essentially what will happen is:

    1) You define an RSS list identifier. This tells the software how to extract relevant information from an XML based RSS feed.

    2) You identify certain feeds as "lists". This tells the software it should look for a list of videos.

    3) You point those feeds to a the RSS list identifier that you established in step 1.

    4) You set the feed_url to point to the RSS feed. The feed will download the XML source and use the RSS feed identifier to extract relevant data from it.

    In this way you may have 50 feeds for different shows that all use the same RSS list identifier. You simply point the feed at the proper RSS URL, tell it to use your identifier to extract RSS data, and the software will properly extract the data.

    First we will create an RSS identifier

    RSS identifiers are entered in the following format.


    They are terminated with an HTML break.

    We will create an example feed for a fictional website name VIDMAX here. Identifier feeds should have the following characteristics:

    There are new fields required for RSS Identifier feeds:

    Ident_name - a unique identifier for the RSS list description


    Each of the above fields describes how to extract the data for the Video File, Video Name, Video Description and Video Image from the RSS feed using XML. Here is a sample RSS page and the XML values we use to extract information from it.

    Note: we have used [ ] brackets instead of < and > because we cannot embed XML in the GetSatisfaction help page. In addition, we have used { } brackets for embedded HTML that is contained within an XML bracket.

    [title]Fun Video[/title]
    {p}the first part of the description{/p}
    {p}the second part{/p}
    [media:thumbnail url=""]http...]

    [title]Fun Video 2[/title]
    {p}the first part of the description for the second video{/p}
    {p}the second part of the description for the second video{/p}
    [media:thumbnail url=""]http...]

    The descriptions for these two items would be:

    feed_FileIdent: item=video|tag=link|tagvalue=link
    feed_NameIdent: item=video|tag=title|tagvalue=title
    feed_DescrIdent: item=video|tag=description|tagfirst=p|tagvalue=p
    feed_ImageIdent: item=video|tag=media:thumbnail|var=url

    Each of those lines contains commands that are separated by a bar character: |
    Each command must have an associated value separated by an equal sign: =

    Below we will go over each of those four lines in detail.

    The feed_FileIdent has three commands separated by | symbols:


    1) item=video

    This tells the software to get each XML item named "video". The first command in each line should always be an "item" command which splits the XML up into individual items containing descriptions of individual videos. In the example above the software will extract the XML [video][/video] tags and know that it is working with two distinct videos (since there are two opening [video] tags). The following commands will be applied to each item it extracts, two in this case.

    2) tag=link

    For each of the items we found, get the XML tag named "link".

    3) tagvalue=link

    Now we extract the tag value, that is, the text that appears in-between our [link][/link] fields.

    The result will be that the software sees two video items at this point, and knows their URLs:


    It will now keep those two video items in memory and start extracting additional information about the video name, video description and video image.

    Note that all of the descriptions start with item=video. It is absolutely essential that each time the software extracts data from the RSS feed it ends up with the same group of items. That way it associates the correct names, descriptions and images with each video item it extracts. It will not always be "item=video". It could be "item=item" or "item=vidfeed". You will need to look at the RSS to find which value separates individual videos.

    Also, it is important to understand that each time a command is executed it is paring down the data so that it discards all data except what you have told it to extract. For example, after the first command (item=video) we will have a portion of the code:

    [title]Fun Video[/title]
    {p}the first part of the description{/p}
    {p}the second part{/p}
    [media:thumbnail url=""]http...]

    After the second command (tag=link) we will only be working with this portion of the code:


    After the third command (tagvalue=link) we will only have

    At this point we have what we want, so there are no more commands. The software returns whatever is left over, in this case, the proper video URL, and it is saved as we iterate through the RSS feed for additional data (name, description and image).

    So after the first pass we have two "shows" with Video URLs, but we don't know anything else about them. The next step is to get the Name of each show.

    Here is the breakdown of feed_NameIdent:


    1) Get the video items from the page. Will return the same two items as in the first example.

    2) Get the tag named [title] from each of the video items

    3) extract the tag value of the [title] tag and return it

    Now it will apply those two tag values to the two existing video items we have:

    1) Fun Video
    2) Fun Video 2

    So at this point we will have two shows and know both their URL and their name, but still need their description and image.

    Here is the breakdown of feed_DescrItent:


    1) Get the video items from the page. Will return the same two items as in the first example.

    2) Get the tag named description from each of the video items

    3) There are two tags named [p] in the description so we use the command tagfirst to only get the first one

    4) Extract the tag value of the [p] tag we just got

    Now it will apply those two description values to the two existing video items we have:

    1) The first part of the description
    2) The first part of the description for the second video

    So at this point we have our two video items and we know their URL, their name and their description but we still don't have an image URL for them. We will get it in the next step:

    Here is the breakdown for feed_ImageIdent:


    1) item=video, Get the video items from the page. Will return the same two items as in the first example.
    2) tag=media:thumbnail, Get the tag named media:thumbnail from each of the video items
    3) var=url, Get the value of the variable "url" from within the tag itself. Note that this time we are not getting the tagvalue, but the variable value of "url" within the tag.

    At this point we have everything we need. We know that this show has two episodes and we know their names, descriptions and images. The software will display them in a list and the user can click on either of them to open them.

    feed_VideoURL: This is a URL that should be added as a prefix to any video URLs if the RSS feed provides relative links instead of full URLs. For example, if a video URL is provided in the format "/videos/cbs/watchnow/survivor.php" you could enter "" in the feed_VideoURL field. This would result in a direct link instead of a relative one. All URLs you extract should be direct links, not relative, or they will not work. In the examples we have used all of the URLs are direct so the feed_VideoURL can be left blank.

    Available commands:

    item=value - pass a value that tells the software which XML field contains a complete description of each video on the page and extracts them all into separate feed objects.
    tag=value - extracts an XML tag that matches the value passed
    tagfirst=value - extracts only the first XML tag that matches the value passed
    tagvalue=value - extracts text between the current tags
    var=value - extracts the variable that is matches the value passed
    match=match - removes any items that do not contain the values you send
    dupes=dupes - removes any duplicate items
    trim=trim - trims spaces

    Note that each command should always have an equal sign and a value, even if it's unnecessary. For example, trim and dupes don't require a value, but we put something there anyway to avoid errors.

    Now we must add the RSS list description to our data file in the following format:


    Replacing these variables with the proper variables we would get:


    Note that we have skipped feed_VideoURL because in our example, all of the URLs are direct.

    That line will add the feed identifier. Now you can add as many regular feeds as you like which use this identifier to retrieve data. Remember, each feed also needs a channel associated with it, so an example is:

    1) Add a channel named WonkyTunes (a show that appears on VIDMAX) with ID 4

    00:00:00^0^Cartoons^A great TV show for kids^7^^0

    2) Add a feed with channel ID matching the WonkyTunes channel you just created.

    Note that in our original description of the FEED format we left out two items relevant to RSS feeds:

    feed_list: set to -1 to pull from an RSS feed, 0 otherwise
    feed_list_ident: set to the name of the RSS list identifier, in this case VIDMAX

    Here is a revised description of the FEED format with those two items included in their proper location:


    The feed_URL should point to an RSS feed on the VIDMAX WonkyTunes site, which lists all of the currently available WonkyTunes episodes, with their names, descriptions, images, etc. The feed_list field should be -1 to indicate it is a list pulling from RSS data. The feed_list_ident field should be VIDMAX, indicating that we should use the VIDMAX identifier we just created when we want to download the video, description, name and images for this feed.


    In the above example we pointed to the RSS feed, which is an XML file. We have removed http://www from the example in order to prevent GetSatisfaction from displaying a link. In reality, you should always include the http:// prefix.

    Now when the software tries to display the channel WonkyTunes it will find one feed. It will see the feed is a list, meaning it pulls from an RSS document. It will see that the identifying information is stored in an RSS list identifier named VIDMAX. It will look up the VIDMAX identifier and get the descriptions of how to find the video url, name, description and image for each item on the page. It will download the RSS source and extract all relevant data. It will resize the image to an appropriate size and display a list of all available episodes.

    It does this each time the channel is clicked in order to display new episodes as they appear in the RSS field. You do not have to update the Feed each time new episodes are released on the RSS list. If there is a change to the RSS page which causes the software to break, you can update the identifier feed and all feeds which use that feed will also be updated.
  • (some HTML allowed)
    How does this make you feel?
    Add Image

    e.g. happy, confident, thankful, excited indifferent, undecided, unconcerned kidding, amused, unsure, silly sad, anxious, confused, frustrated