Giter Club home page Giter Club logo

web-app-starter-kit-for-fire-tv's Introduction

Web App Starter Kit for Fire TV


Welcome! This is the source repository for the Web App Starter Kit for Fire TV, a getting started kit for creating a video or media focused web app for Fire TV.

Amazon Fire TV includes Amazon WebView, an advanced Chromium-based web engine common to all Fire OS devices. This enables the Fire TV to use the latest HTML5 functionality such as GPU accelerated CSS3 transforms and a recent JavaScript engine.

We have created the Starter Kit to give web developers an easier entry into developing applications for Fire TV devices. The starter kit provides a minimal media app that uses the FireTV remote effectively and provides a user experience consistent with the rest of the device. It can be used as-is, or as a structural piece of a richer app.

A live running example can be found at: http://amzn.github.io/web-app-starter-kit-for-fire-tv

A zip file of the Starter Kit example projects can be found here:
https://amzn.github.io/web-app-starter-kit-for-fire-tv/web-app-starter-kit-for-fire-tv-projects.zip

Setup


Acquiring the source code


Clone the repository to your local development environment.

	git clone https://github.com/amzn/web-app-starter-kit-for-fire-tv.git

Setting up the test server


Sample data has been included to get you started, but because the template uses XHR to retrieve JSON data, you will need to serve the files using an HTTP server locally for testing. This can be done using a variety of methods, including using the command line and navigating to the out/<project> directory replacing with an example project or your own project and running the following:

  • Using Node and NPM, install the Serve package, then create the server:

      sudo npm install -g serve
      serve -p 3000
    

Both of these methods should result in you being able to access the template in your browser or Web App Tester at http://localhost:3000.

Setting up a test environment


We recommend testing the template with Chrome when developing on a desktop computer. While any browser should work except for Internet Explorer, the web view in FireTV is based on the Chromium project and Chrome offers excellent emulation and debugging support

The template is designed for a 1080p display, and will be most accurately viewed by using Chrome's emulation to specify the screen size. Insructions to enable this can be found here: Device Mode & Mobile Emulation The resolution should be set to 1920x1080 and the Device Pixel Ratio should be 1. (Use "Shrink to fit" on smaller screens.)

To test this app on a FireTV device, please refer to the Web App Tester.

Setup of the SASS script file


The template uses SASS as its main source of CSS content. SASS is a language which compiles down to standard CSS. In the template, we have included a precompiled CSS file in the /out/<project-name> directory.

You're welcome to modify the CSS directly, but we recommend working with the SASS source instead. Please refer to the SASS Install link for more information on setting up SASS in your development environment. We have a build system which makes it easy to deal with SASS, for more information please refer to the Building Document

More information on the SASS structure please read the Styling Document

Customizing the template


The source is released under the Creative Commons License, which allows developers to modify, customize, and release the template without any legal barriers. The HTML templates are contained in the src/common/html/index.html file and the SASS files are in the src/common/scss/ directory. The scss files firetv.scss and _variables.scss allow you to easily modify commonly used look and feel aspects through Sass. For more information on styling the template read the Styling Document. We recommend creating a new project and utilizing the gulp build system. For more information see the Building Document

For information on developing using the template and modifying app functionality please refer to the Architecture Overview.

The template supports a variety of platforms, data inputs, and media players, including MRSS, JSON, and YouTube. For information on these please refer to the Architecture Overview and the Platform Documentation

More information


For more information about developing web apps for Amazon devices, please see:

Discussion


If you have any questions, concerns or problems with the Fire TV Web App templates, please submit issues, or post a message on GitHub or to the Amazon Developer Portal Forums. Pull requests are also welcome.

Release Notes


v1.3 Release: Code cleanup, error handling added to players and models, UX touch ups and functionality tweaks.

Changes:

  • Error handling added throughout the player and model code to notify end users about problems and log errors to console for developers.
  • User Interface tweaks: Made drop shadows more consistent for when something is selected, and made button selection less ambiguous with borders.
  • Fonts and styles have been updated to work more towards the same experience in the browser as the Fire TV.
  • New live stream badging.

New Features:

  • Brightcove Support: The Web App Starter Kit currently supports making a web app based on content from Brightcove¹s Video Cloud and uses the Brightcove Player to play the content. The provided sample project (src/projects/brightcove) supports analytics through Brightcove Video Cloud Analytics and advertising through the IMA3 Plugin. Read brightcove.md to learn more.
  • Simulated fast forward and rewind - You can now skip repeatedly in videos, making long videos much easier to use.
  • The Starter Kit also supports a category which can contain a one level deep hierarchy of playlists. This is called a multiPlaylists object which contains an array of playlist ids. These ids will be displayed as sub-categories. For details see platforms.md.

v1.2 Release: In addition to new features, we have made many tweaks to the user experience of the starter kit and added more robust support for our previous data sources.

Changes:

  • The first category view/feed is the first view of the application. The left navigation view is hidden when the application is launched.
  • Drop shadows have been added to image thumbnails, video stills, buttons and the menu to create an improved appearance.
  • Fonts and styles have been made consistent through the application.
  • Button placement has been changed for video contextual buttons to fit better with the title and description text.
  • There is a new loading spinner to better match the FireTV Operating System.

New Features:

  • In App Purchase Support - Now supports Amazon’s IAP v1 API for in app purchases, and has a sample application and documentation to demonstrate.
  • Live Stream Support - Now supports Live Stream applications with HLS streams, with added support for live stream schedules.
  • Subcategories - Template now supports subcategories within main categories to add hierarchy to applications.
  • YouTube Sections Support - Developers can now create YouTube applications based on their YouTube sections they have defined on YouTube.com.
  • YouTube Hierarchy Support - Template now supports categories of YouTube playlists, which creates subcategories of the videos in the playlist.
  • Skip forward/backward amount can now be changed by the application settings.
  • New alternative JSON Format - A new alternative JSON format for data has been added to create more control over what is placed in each category and where.

v1.1 Release: In addition to new features, the structure of the Starter Kit changed to better organize the sources, documentation and build directory.

Changes:

  • Starter Kit version information has been added to index.html
  • Source files have been reorganized and moved into the src/ directory
  • A new Projects folder has been created in src/projects which contains several example apps
  • The Gulp build process has been streamlined, and now builds into an out/ directory.
  • Documentation has been updated, and documents added for theming and platform support
  • Bug fixes and code changes to support new features

New Features:

  • Skip Indication icon - when a user presses right/left on the controller D-pad during playback
  • Information panel - when a user presses up/down on the controller D-pad during playback
  • Continuous Play - playback will now automatically continue to the next video in a category when finished
  • Search - a new search field has been added to the categories list, with basic client-side filtering
  • YouTube support - the template now has support for the YouTube data API and HTML5 player
  • MediaRSS - the template now supports using MediaRSS as a data source
  • Options for various features can be toggled using the init.js file
  • A new Simple-Themes project was added with several examples themes

License


The template is released as open source under the Creative Commons License. For more information on this license please refer to the following link: Creative Commons License CC0

web-app-starter-kit-for-fire-tv's People

Contributors

craigcbrunner-amazon avatar glakshmi-amazon avatar hyandell avatar martco avatar maryga-amazon avatar russellbeattie-amazon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

web-app-starter-kit-for-fire-tv's Issues

Search on the Mrss script

I would like to know how to make the search button work on the MRS template or how to eliminate it from the Nav

Required Fire tv assets don't match your docs

The image sizes in your description target tablets.

Fire TV Assets

Required only if you are targeting Fire TV devices. See Image asset guidelines.
Preview images on TV

App icon

1280 x 720px PNG (no transparency)

Screenshots

Between 3 and 10 JPG or PNG (no transparency)
1920 x 1080px (landscape)

Background image

1920 x 1080px JPG or PNG (no transparency)

Connecting Youtube API for basic web app starter kit (WASK) ERROR. Unclear source of 'user' in init.js

My Init.js file that I started with under the projects/youtube tab:

(function(exports) {
'use strict';

var settings = {
    Model: YouTubeAPIModel,
    PlayerView: YouTubePlayerView,
    PlaylistView: PlaylistPlayerView,
    showSearch: false,
    skipLength: 30,
    controlsHideTime: 3000,
    user: "HERE",
    devKey: "HERE",
    channels: [
        {
            type: "playlist",
            id: "HERE",
            title: "Appetizers"
        }
    ],

    displayButtons: false
};

exports.app = new App(settings);

}(window));

Do I put the channel playlist number, do I put my channel number, there are 2 more user id google numbers in the developer console. I have tried many permutations yet always seem to get this back

If I use the user ID from youtube -> advanced settings -> user id
And then the dev key from a project with api youtube access from developer google console.

I follow tutorials and video tutorials and get stuck here all day and I can't get past it. It looks like I am not getting the right information back in my JSON request. There is no 'snippet' attribute that I can grab from the JSON request as the requests looks like:

{
"kind": "youtube#channelListResponse",
"etag": ""XpPGQXPnxQJhLgs6enD_n8JR4Qk/ewwRz0VbTYpp2EGbOkvZ5M_1mbo"",
"pageInfo": {
"totalResults": 0,
"resultsPerPage": 5
},
"items": []
}

ERROR when opening index.html or running:
serve -p 3000 and going to the localhost webpage

Uncaught TypeError: Cannot read property 'snippet' of undefined
at YouTubeAPIModel. (model-youtube-api.js:59)
at j (jquery.js:2)
at Object.fireWith [as resolveWith] (jquery.js:2)
at x (jquery.js:4)
at XMLHttpRequest. (jquery.js:4)

When loading index.html I get this:

screen shot 2019-02-27 at 7 11 30 pm

Video do not autoplay

Video do not autoplay
i did this in player-view.js
this.videoElement.setAttribute("autoplay", "true");
it did work but the sound play twice.
i looked in the Google inspector to find out that there's was two <video tags in the html with the same setting.

i did added a alert on the render function player-view.js and this function is fire twice when we load a video.

this.render = function ($container, data, index) {
alert("render")

the alert fire twice.

Where does app.data.appLogo get set?

Inside app.js, I see the following code...

            if (app.data.appLogo) {
                logo = app.data.appLogo;
            } 
            else {
                logo = "assets/img_logo.png";
            }

Where is appLogo suppose to be set? I don't see any references to it being added to app.data.

Remeber the video played position and resume on loading

Hi,
I am trying to build one page player and I would like to remember the current playing time of the video.
And later when this player page is loading, I would like to start the video from remembered position.
I implemented the code to work in other TVs like Opera Web TV and Panasonic TV but on Amazon Fire TV I couldn't work with cookie. The minute I visit the page the cookie value is empty.
I can solve this issue? If not cookie what other mechanism should I use?
Thanks

MRSS demo has category duplicates

image

By default the MRSS demo fails to deduplicate the categories. There is a line that is supposed to handle this but it fails:

$.unique(cats); // purge duplicates.

It seems that $.unique() only removes duplicates that immediately follow each other in an array.

['foo', 'bar', 'bar', 'baz'] becomes ['foo', 'bar', 'baz']

but ['foo', 'bar', 'baz', 'bar'] stays ['foo', 'bar', 'baz', 'bar']

Stream Hangs on Amazon Fire TV and Fire TV Stick

I am streaming HLS and am running into an issue where:

  1. On the Fire TV - It hangs at points, for several seconds, and the resumes. It doesn't appear to be a buffering issue as the buffering graphic doesn't appear. It just freezes for several seconds.
  2. On the Fire TV Stick - It just hangs and just doesn't seem to recover.

I have a Fire TV but don't have a Fire TV Stick to test with and I suspect that the issue is the same issue. The stick is basically the same as the Fire TV but with less resources. I am getting feedback on the stick from other people and it is possible that they just aren't waiting long enough.

Here is what I am able to log on my Fire TV...

This always occurs right when the hang happens:
I/AudioFlinger( 178): BUFFER TIMEOUT: remove(4098) from active list on thread 0xf553d008
D/AudioFlinger( 178): Disable DS for device=0x400profile=0x1
W/CustomAudioPolicyManager( 178): getDeviceForStrategy() unknown strategy: 6
W/CustomAudioPolicyManager( 178): getDeviceForStrategy() unknown strategy: 7
W/CustomAudioPolicyManager( 178): getDeviceForStrategy() unknown strategy: 8

This is consistently logged during the stream when playback is working:
E/MFV_COMMON( 178): [Warning] profile: 77, level: 41, bDirect8x8InferenceFlag should be 1 (0)
E/MFV_COMMON( 178): u4LevelIdc 41
E/MFV_COMMON( 178): handleSPSNALU() 1 u4LevelIdc 41
E/MFV_COMMON( 178): vdec_drv_h264_decode, u4LevelIdc 41
E/MFV_COMMON( 178): getDpbSize u4NumRefFrames (3), u4DpbSize (9)!!
E/MFV_COMMON( 178): [Debug] getDpbSize final u4DpbSize (9)!!
E/MFV_COMMON( 178): handleSPSNALU() 2 u4LevelIdc 41
W/MFV_COMMON( 178): [Warning] Multi NAL case 1, 30
W/MFV_COMMON( 178): [Warning] Multi NAL case 2
E/MFV_COMMON( 178): u4LevelIdc 41

Any ideas on how to resolve this?

I am streaming from Wowza servers and using Akamai as a CDN. The streams work fine the web and other CTV devices (e.g. Roku).

Problems with multiPlaylists channel?

multiPlaylists channel in /out/youtube/js/init.js is still not working for me. Here is snippet (actual ids replaced):

    channels: [
        {
            type: "playlist",
            id: "XXXXXXXXXXXXX",
            title: "Daily Broadcast Audio"
        },
        {
            type: "playlist",
            id: "XXXXXXXXXXXXX",
            title: "Recent Video Sermons"
        },
        {
            type: "multiPlaylists",
            ids: ["XXXXXXXXXXXXX",
                  "XXXXXXXXXXXXX",
                  "XXXXXXXXXXXXX"],
            title: "Video Series Archive"
        },
    ],

And all I'm seeing is the attached, only Daily Broadcast Audio and Recent Video Sermons in drop down nav menu.

I've also tried using ONLY the multiPlaylists channel (deleted the other channels there) and that also does not work.

Suggestions?

screen shot 2018-01-31 at 1 54 47 pm

web app simple live video error

when i test my web app in the app tester on the fire stick im getting a video error on the live stream it will play for a second and them the error will appear

Channel Login?

Any known examples of web app channels with customer login? Is anyone at Amazon still maintaining this project?

Youtube Channel starter pack

Hello,
I am running into an insue when running the simple youtube starter pack. When running the code I get this error:
model-youtube-api.js:59 Uncaught TypeError: Cannot read property 'snippet' of undefined
at YouTubeAPIModel. (model-youtube-api.js:59)
I have tried changing my user ID to Chanel ID and get the same error message. I tried to change model-youtube-api.js line 51 to:
url: "https://www.googleapis.com/youtube/v3/channels?part=snippet,id&id="+this.youtubeUser+"&key=" + this.devKey,
like glotv did and have had no luck.

Where can I find the port of this for Android?

It would be very nice if I could have this in an Android version instead. I'm aware of the Google TV samples that are recommended but from what I'm seeing the Google TV sample looks a lot different than what web app ends up looking like. It would just be nice to have a sample app that already has the look and feel of a Fire TV app.

Sample Does Not Work

Using the unaltered current sample and the sideload to device + WAT equals:

"Video Playback Error" An unexpected error occurred. Select OK to exit.

Does anyone have a working version for the latest API at Brightcove?

Unable to play live HLS video

I am unable to play any live HLS video, even using the very basic demo application. Playing the live video gives me an instant Video Playback Error.

Here is the output from the console:

ErrorType : Video Playback Error
ErrorMessage : Video source not available or supported
ErrorStack : Error
at ErrorHandler.genStack (http://localhost:3000/js/error-handler.js:172:21)
at PlayerView. (http://localhost:3000/js/player-view.js:173:57)

I am using the sample simple-live and have only changed the videoUrl to a working URL inside the genericLiveData JSON.

{
"id": "live-id-1",
"title": "NASA Live Stream",
"thumbURL": "assets/l11.jpg",
"imgURL": "assets/nasa-logo.jpg",
"videoURL": "https://nasa-i.akamaihd.net/hls/live/253566/NTV-Media/master.m3u8",
"type": "video-live",
"alwaysLive": true,
"description": "The NASA Live Public TV Channel."
}

Library missing

I'm encountering this issue while trying to use from the Youtube sections package AWS app\web-app-starter-kit-for-fire-tv-projects\youtube-sections or the Youtube package AWS app\web-app-starter-kit-for-fire-tv-projects\youtube

Is it missing a library? I downloaded the starter kit with all the project and the single one but neither seems to work.

error
error2

D-Pad navigation doesn't work in any of the projects

The keyboard navigation with D-Pad for all these projects seems to be broken in Silk as well as Firefox.

After the page is loaded (from my local server), the cursor hangs around and the d-pad controls the cursor rather than passing the key events to the page.

Youtube multiPlaylists do not work, please add an example with a working multiPlaylist

The code reference seams to be wrong as channels: opens the bracket [
and then the multiplaylist ids: close the bracket ]...

So which brackets should we use to get it working?

For example with following playlists in init.js:

    channels: [
        {
            type: "multiPlaylists",
            ids: ["PLhr1KZpdzukf6YADEpM6nFEZs7VDhEs5U",
                  "PLhr1KZpdzukf6YADEpM6nFEZs7VDhEs5U",
                  "PLhr1KZpdzukf6YADEpM6nFEZs7VDhEs5U"],
            title: "Many Playlists"
        }
    ],

nothing gets rendered on google chrome:

Uncaught TypeError: Cannot read property 'getBoundingClientRect' of undefinedLeftNavView.shiftNavScrollContainer @ leftnav-view.js:349 LeftNavView.render @ leftnav-view.js:205App.initializeLeftNavView @ app.js:332(anonymous function) @ app.js:110(anonymous function) @ model-youtube-api.js:255(anonymous function) @ model-youtube-api.js:66j @ jquery.js:2k.fireWith @ jquery.js:2x @ jquery.js:4(anonymous function) @ jquery.js:4

Simple-live example not working on Fire TV Stick

The simple-live example fails to play the NASA HLS video stream when installed on a Fire TV stick.

Error:
Video Playback Error
An unexpected error occurred.
Select OK to exit, or try again.

The video stream does work using the Web App Tester app on an Android phone.

Any ideas?

Packaged app won't close on FireTV

My app is based on the simple-live template, and I have been testing it in hosted mode through the Web App Tester on the FIre TV and on Safari in MacOS. When I press back from the main menu I get a confirmation dialog about closing. If I click OK in both cases, the app closes fine and everything works as intended. The problem comes when I install the packaged apk. I am unable to close the app after choosing OK on the exit dialog. After selecting OK in the close dialog, the app remains open, and the remote becomes unresponsive to any buttons, except for the back button.

The original close function in app.js remains the same:

        this.exitApp = function () {
            if (confirm("Are you sure you want to exit?")) {
                window.open('', '_self').close();
            }
            buttons.resync();
        };

The cordova documentation regarding packaging an apk is outdated by a few years, so I've used older versions that are able to produce the apk:

  • Cordova 3.6.0-0.2.8
  • Android SDK 19
  • Latest Amazon WebView API SDK

Cordova config.xml:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.bulsat.firetv" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Bulsatcom</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="[email protected]" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
    <platform name="amazon-fireos">
        <icon src="www/assets/icon/icon.png" />
        <preference name="android-targetSdkVersion" value="19" />
    </platform>
</widget>

platforms/amazon-fireos/AndroidManifest.xml:

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.bulsat.firetv" xmlns:amazon="http://schemas.amazon.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="Bulsatcom" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <uses-library android:name="com.amazon.webview" android:required="false" />
        <service android:exported="false" android:name="org.chromium.content.app.SandboxedProcessService0" android:permission="org.chromium.content_shell.permission.SANDBOX" android:process=":sandboxed_process0" />
        <service android:exported="false" android:name="org.chromium.content.app.SandboxedProcessService1" android:permission="org.chromium.content_shell.permission.SANDBOX" android:process=":sandboxed_process1" />
        <service android:exported="false" android:name="org.chromium.content.app.SandboxedProcessService2" android:permission="org.chromium.content_shell.permission.SANDBOX" android:process=":sandboxed_process2" />
        <service android:exported="false" android:name="org.chromium.content.app.SandboxedProcessService3" android:permission="org.chromium.content_shell.permission.SANDBOX" android:process=":sandboxed_process3" />
        <service android:exported="false" android:name="org.chromium.content.app.SandboxedProcessService4" android:permission="org.chromium.content_shell.permission.SANDBOX" android:process=":sandboxed_process4" />
        <service android:exported="false" android:name="org.chromium.content.app.SandboxedProcessService5" android:permission="org.chromium.content_shell.permission.SANDBOX" android:process=":sandboxed_process5" />
    </application>
    <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
</manifest>

In live Player, Player Control Container not showing when it is loading.

Hi,
In live, Player Control Container not showing when it is loading. For other videos except Live Streaming working fine.

But when I press up key in Live Streaming, it is showing the Controllers and hiding. I need to show the Controls when it is loading like other videos.

How can I fix this..?

Live Video Fails to Play

Experiencing an issue with the live video demo where both the included m3u8 feed and a custom link fail to play

Alexa Communication

How does communication between Alexa and a WASK app happen?

Reading the Fire App Builder docs & looks like some possible https://developer.amazon.com/docs/fire-app-builder/alexa-integration.html. Definitely possible with Fire TV apps https://www.amazon.com/all-new-amazon-fire-tv-4k-uhd-streaming-media-player/dp/B01N32NCPM but maybe need an Android app as a wrapper/webview?

Is there an API on the web side? If not, is there any provision for Fire TV web apps to communicate w/ Alexa?

Youtube user / channel id not working

For the Youtube project, I setup the init.js with my dev key and user id. As a more recent channel, it is setup from Google+, so the User ID is a long string of letters. its found as youtube.com/channel/xxxxxxx using that id it does not work. If I use what it is setup as for its custom url, it pulls up to another account with the same user name but setup before Google + so it all functions

Question on OAuth

I was wondering if you knew if it would be possible to perform an OAuth 2.0 validation for a web app like this, and if so any pointers on where to learn about implementing it? Thanks

HLS onVideoSizeChange jump upon playing content

img_4127 trim 2018-11-29 15_07_07

Here is example of what I'm doing...
When watching the log with logcat I'm seeing that it's onVideoSizeChanged... but how can I prevent this artifact from happening even when video size changes?

Any pointers?

11-28 08:41:13.258 14581-14709/com.newsy I/ExoPlayerStateMachineImpl: onDownstreamFormatChanged. sourceId= 0 trigger= 0 format mime= application/x-mpegURL bitrate= 6451851 frameRate= -1.0 audioSampleRate= -1 audioChannels= -1 height= 1080 mediaStartTimeMs= 0
11-28 08:41:13.295 14581-14710/com.newsy I/OMX.brcm.video.hw.decoder-MediaCodecVideoTrackRenderer: configureCodec: codecName = android.media.MediaCodec@22384bed codecIsAdaptive = true format = {max-height=1080, height=1080, width=1920, csd-1=java.nio.ByteArrayBuffer[position=0,limit=7,capacity=7], mime=video/avc, csd-0=java.nio.ByteArrayBuffer[position=0,limit=28,capacity=28], max-width=1920} surface = Surface(name=null)/@0xf89b148 crypto = null videoScalingMode = 1
11-28 08:41:13.589 14581-14710/com.newsy I/OMX.brcm.video.hw.decoder-MediaCodecVideoTrackRenderer: onOutputFormatChanged: outputFormat:{mime=video/raw, crop-top=0, crop-right=1919, slice-height=1088, color-format=258, height=1088, width=1920, what=1869968451, crop-bottom=1079, crop-left=0, stride=0}, codec:android.media.MediaCodec@22384bed
11-28 08:41:13.590 14581-14710/com.newsy I/OMX.brcm.video.hw.decoder-MediaCodecVideoTrackRenderer: hasCrop = true currentWidth = 1920 currentHeight = 1080 currentPixelWidthHeightRatio = 1.0
11-28 08:41:13.594 14581-14710/com.newsy I/OMX.brcm.video.hw.decoder-MediaCodecVideoTrackRenderer: maybeNotifyVideoSizeChanged: width = 1920 height = 1080 currentUnappliedRotationDegrees = 0 currentPixelWidthHeightRatio = 1.0
11-28 08:41:13.595 14581-14709/com.newsy I/ExoPlayerStateMachineImpl: onVideoSizeChanged: width = 1920 height = 1080 pixelWidthHeightRatio = 1.0 unappliedRotationDegrees= 0
11-28 08:41:14.756 14581-14581/com.newsy I/StateMachineImplBase: getCurrentVideoWidth= 1920
    getCurrentVideoHeight= 1080

MRSS with video from Vimeo or other CDN?

So I'm working with the MRSS sample. The provided genericMediaData.xml works as expected.

But when substituting my own URLs on Vimeo, I get "Video Feed Error An unexpected error occurred. Select OK to exit, or try again."

So I tried with a preformatted MRSS from Vimeo. Same result.

I know there is a sample for Youtube video, but what about those of us with Vimeo, or other CDNs? Is there a workaround, or are we just stuck?

It would be cost prohibitive to mirror our videos to Cloudfront, and a major pain to change over to another CDN, as well as breaking our established channel outlets on other platforms.

Touch controls are broken

The subcategory example and probably others doesn't work in touch enabled browsers so I can't release my web app for devices other than the firetv. Navigation in general doesn't work.

Multiple One-D-Views - stacked...

How could I have multiple One-D-Views ... row by row like on Netflix, one for each "Category"?

And, can I also include a splash screen?

Thanks,
Oliver

Period of Black Before Video Begins

I am loading an MP4 video into the player from a remote host. There is a period of black before the video begins to play. Is this a limitation of the device due to rendering? I don't get this black (maybe 2 seconds) on my Mac, only when testing on the actual FireTV stick.

Any help would be appreciated.

Livestream-Example not working in Chrome or Web App Tester

Hi!

I tried running the live media example directly on chrome (Version 43.0.2357.52 beta (64-bit)) and also on a non-fire-tablet using the Web App Tester.

The result is always the same: The live-video is not loaded - just an infinite spinner...

Is this a problem with your demo-code? Or is this just because I am not using a fire-device (I don't have one on hand - yet)...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.