Enyo.Video and streaming sources

I'm attempting to hook an enyo.video component up to a streaming source and getting nowhere. The source is a transcoding server, so requires a username and password.

My components block looks something like this:
components:[<br />		{name: "videoPlayer", kind: "enyo.Video", style: "width: 100%; height: 100%;", src: "http://username:password@example.com/CH2"},<br />],
with a call to this.$.videoPlayer.play(); in my rendered function();

I've successfully loaded up the stream in VLC, and according to the VLC stream info it is h264 video and aac audio, which I understand the html5 video component supports.

However, when I try to load the Enyo app, all that I get from the video player is a black screen, no errors or anything. Is there something extra that I have to do in my configuration, or is this just straight up not a supported scenario?

Comments

  • Which browser are you using here? Interestingly enough this is a factor for HTML5 video and streaming, since their support varies greatly at the moment.

    We've even noticed that some formats behave differently based on how the HTML tags and properties are arranged. For example, in Chrome, if you have a certain kind of streaming video in a <source> tag inside a <video> tag, it won't display anything, just black; but if it's in the "src" property of the <video> tag, it will play just fine.

    Maybe of use:
    Here's one of the sites we used for internal testing of events in the browser.
    https://www.w3.org/2010/05/video/mediaevents.html
  • I'm using Chrome for development/testing, but the plan is to deploy the app on webOS TVs. Are there any quirks that I should be aware of?
  • So here's a set of quirks that happen in Chrome but not Safari, for example.
    https://jsbin.com/bihesu/edit?html,output
    This example tries alternate tags and features when streaming m3u8 files.
    My version of Chrome (Version 49.0.2623.63 beta (64-bit)) appears to not support any, while the Chrome I was running 2-3 months ago showed half of them. Safari seems to support all variations.

    Here's some additional information from the Apple Developer site: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/DeployingHTTPLiveStreaming/DeployingHTTPLiveStreaming.html

    Depending on what version of webOS your TV is running, it should be somewhere on the continuum of versions between Safari and Chrome.
  • Sorry for taking so long to get back to this.

    Looks like at the end of the day, I had 2 problems.

    1. HTML5 video support. By switching from Chrome to Safari for development, I can get the test streams to display properly.

    2. The server that is handling the transcoding, etc. generates .m3u8 playlists, but doesn't mention it anywhere (documentation is kinda poor, had to do some digging around to determine how it generates it's live previews). So, while VLC can make sense out of a URL like http://username:password@example.com/CH2, the enyo.Video kind doesn't know what to do with it. As soon as I changed it to http://username:password@example.com/CH2.m3u8, the video started displaying correctly.

    Whereabouts on the spectrum should webOS TV fall? More towards Safari, or more towards Chrome?
  • Glad you figured it out!

    Well, webOS 1.0 and 2.0 (2014, 2015) TVs are Webkit (Safari-like) based. 3.0 (2016+) are Blink based (Chrome-like). You can get browser info for each using a simple browser detector, to determine the exact version number and platform. Hope that helps.
Sign In or Register to comment.