Video Streaming on Android TV

I have a question and was hoping someone had input.   I'm contemplating on ditching my current cable company and going to an Android TV product.   I understand I will be able to stream anything available using the product.   Suppossidly, I will also be able to stream pay per view events as well.   Has anyone had experience with Android TV and what are the policies of Verizon in respect to streaming programs?  The reason I ask, admittedly, I did attempt to download some movies once several years ago and was notified by Verizon (mail) that the activity was illegal and that I should stop doing it or they would stop my internet service.  Thanks in advance of your replies. 

This is a FIOS forum.But if you are legally streaming (ie Netflix, Hulu, Amazon, etc) Verizon doesn't care.

Similar Messages

  • Needed. Android Air app to watch live FMS video stream.

    Does anyone have an Android Air app that can be used to watch a live video stream from Flash Media Server?
    I've been trying to get our live stream viewable on Android devices and can't find any solutions.
    Thanks,
    Dave

    Hey, I am having the same issue.  Did you find a solution?

  • Video streams in some apps stop after some seconds (S6000)

    Hi,
    In the apps DEL and Laola1.tv, video streams start with the first ~5 seconds, then stop, then repeat once and then stop.
    Problem does not occur with android phone or laptop in the same wlan. Other streaming like youtube works fine.
    Any hints or ideas greatly appreciated.
    Lenovo IdeaTab S6000, Android 4.2.2
    Thanks,
    Sven

    I already have radeon.modeset=0 on the end of my kernel line, I think I disabled KMS a month or two ago when it was (very briefly) enabled by default.  IIRC my system was very broken with KMS enabled back then, I haven't tried turning it back on.
    I've found xf86-video-ati-6.12.4-3 to work, and xf86-video-ati-6.12.192-1 not to work, irrespective of ati-dri version. I've just noticed 6.13 seems to be out, so I may try building that with ABS, and see if it fixes it.
    EDIT: or maybe I won't, as that needs xorg 1.8 and I don't have enough time to build that and all it's deps just now
    For now I've just set pacman to ignore the package, which works as a temporary solution. Are there any diagnostics I can do to help pin down the problem?
    Last edited by Jack B (2010-04-20 22:05:07)

  • Live stream to android devices? shouldn't be this difficult.

    Why doesn't Adobe post a simple tutorial on how to stream live video from FMS 4.5 to Android device? The developer center has a tutorial series that hasn't been updated in years. The Part 8: Streaming to Android Devices (to Come) hasn't been updated in 1.5 years. The server is useless if we can't watch video on Android devices. Surely someone out there has successfully streamed live video to an Android device and can explain how to do it?
    Do we need to create an Android Air App to accomplish this?
    Thanks for any help!
    Dave

    As an avid Wowza developer/integrator/consultant (as well as the occasional AMS work), I concur with JayCharles on all of his assertions. The transcoder is completely optional, and you can actually make your own Wowza transcoder module with FFmpeg if the Transcoder AddOn costs are really too steep for deployment.
    Having said that, my current solution for live streaming to Android with an off-the-shelf (OTS) player is JW Player, and setting its fallback property to false. It looks something like this:
    <div id="videoPlayer">
         <!-- Code for non-supported JW Player case. JW Player 6 will not show HLS source on Android. -->
         <video src="http://media_server/app_name/_definst_/mp4:stream_ref/playlist.m3u8" controls ></video>
         <p>Video not playing? <a href="rtsp://media_server/app_name/_definst_/mp4:stream_ref">Click this link to play in an external media player.</a></p>
    </div>
    <script type="text/javascript">
    jwplayer("videoPlayer").setup({
                                                                playlist: [
                                                                                    sources: [
                                                                                                        file: "rtmp://media_server/appname/_definst_/mp4:streamname"
                                                                                                        file: "http://media_server/appname/_definst_/mp4:streamname/playlist.m3u8"
                                                                                    title: "My Sample Live Stream"
                                                                height: 180,
                                                                primary: "html5",
                                                                autostart: false,
                                                                width: 320,
                                                                fallback: false
    </script>
    HTH.

  • Video Chat on Android very slow !

    Hi everyone,
    I'm developing an audio/video chat Android application. On my Android device (Samsung Galaxy S), all works... but it is very very slow !!
    I launch the application (release version) on my phone and then I launch this application from my computer (from Flash Builder)
    Each applications are connected to the Cirrus server and streams are sent/received. On my computer, no problem. But on my phone, the CPU usage grows immediatly (>90 % !) and the app finish to crash.
    Before I click on the "connect" button : RAM 26 mb / CPU 0.33% (great !)
    When I publish my audio/video via NetStream : RAM 42 mb / CPU 64%
    When I publish AND receive an audio/video NetStream : RAM 48 mb / CPU 94%
    By the way, my phone is getting hot...
    I know that this could be done without such performance problems on Android. The proof : http://coenraets.org/blog/2010/07/video-chat-for-android-in-30-lines-of-code/
    Yes, LCCS is use here by C. Coenraets, but LCCS is nothing but a NetConnection/NetStream and a RTMFP solution... So what am i doing wrong ? Any help would be very appreciated.
    I paste here the code (firstView of the ViewNavigatorApplication) :
    <?xml version="1.0" encoding="utf-8"?>
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
                        xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView" xmlns:mx="library://ns.adobe.com/flex/mx" actionBarVisible="false">
              <fx:Script>
                        <![CDATA[
                                   * Tezqa | [email protected] | www.tezqa.com
                                  private var SERVER:String = "rtmfp://p2p.rtmfp.net/";
                                  private var KEY:String = "CIRRUS DEVELOPER KEY";
                                  private var netConnection:NetConnection;
                                  private var netStreamPublisher:NetStream;
                                  private var netStreamSubscriber:NetStream;
                                  private var groupSpecifier:GroupSpecifier;
                                  private var camera:Camera;
                                  private var microphone:Microphone;
                                  private var videoPublisher:Video;
                                  private var videoSubscriber:Video;
                                  private var username:String;
                                  private var budyname:String;
                                  [Bindable] private var connected:Boolean = false;
                                  private function startStop():void {
                                            if (connected) {
                                                      disconnect();
                                            } else {
                                                      username = usernameInput.text;
                                                      budyname = budynameInput.text;
                                                      connect();
                                  private function connect():void {
                                            netConnection = new NetConnection();
                                            netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
                                            netConnection.connect (SERVER, KEY);
                                  private function onConnect():void {
                                            connected = true;
                                            groupSpecifier = new GroupSpecifier ("com.tezqa.mobilecam");
                                            groupSpecifier.multicastEnabled = true;
                                            groupSpecifier.postingEnabled = true;
                                            groupSpecifier.serverChannelEnabled = true;
                                            netStreamPublisher = new NetStream (netConnection, groupSpecifier.groupspecWithAuthorizations());
                                            netStreamPublisher.addEventListener (NetStatusEvent.NET_STATUS, netStatus);
                                            attachCamera();
                                            attachMicrophone();
                                            netStreamPublisher.publish ("stream_" + username, "live");
                                            videoPublisher = new Video(uic1.width, uic1.height);
                                            videoPublisher.attachCamera(camera);
                                            uic1.addChild(videoPublisher);
                                            netStreamSubscriber = new NetStream (netConnection, groupSpecifier.groupspecWithAuthorizations());
                                            netStreamSubscriber.addEventListener (NetStatusEvent.NET_STATUS, netStatus);
                                            netStreamSubscriber.play ("stream_" + budyname);
                                            videoSubscriber = new Video(uic2.width, uic2.height);
                                            videoSubscriber.attachNetStream(netStreamSubscriber);
                                            uic2.addChild(videoSubscriber);
                                  public function attachMicrophone():void {
                                            microphone = null;
                                            netStreamPublisher.attachAudio (null);
                                            microphone = Microphone.getEnhancedMicrophone();
                                            if (!microphone) microphone = Microphone.getMicrophone();
                                            if (microphone) {
                                                      microphone.codec = SoundCodec.SPEEX;
                                                      microphone.framesPerPacket = 1;
                                                      microphone.setSilenceLevel(0, 3000);
                                                      microphone.gain = 100;
                                                      microphone.rate = 22;
                                                      netStreamPublisher.attachAudio (microphone);
                                  public function detachMicrophone():void {
                                            netStreamPublisher.attachAudio (null);
                                            microphone = null;
                                  public function attachCamera(cameraPosition:String = "auto"):Camera {
                                            camera = null;
                                            netStreamPublisher.attachCamera(null);
                                            if (cameraPosition == "auto") {
                                                      camera = Camera.getCamera();
                                            } else {
                                                      if (Camera.names.length == 1) {
                                                                camera = Camera.getCamera();
                                                      } else {
                                                                var tmpCamera:Camera = null;
                                                                for (var i:uint = 0; i < Camera.names.length; i++) {
                                                                          tmpCamera = Camera.getCamera(Camera.names[i]);
                                                                          if (tmpCamera.position == cameraPosition) {
                                                                                    camera = tmpCamera;
                                                                                    break;
                                            if (camera) {
                                                      camera.setMode (640, 480, 15, true);
                                                      camera.setQuality (15000, 0); // 30000, 0 (adobe settings)
                                                      netStreamPublisher.attachCamera (camera);
                                                      return camera;
                                            } else {
                                                      return null;
                                  public function detachCamera():void {
                                            netStreamPublisher.attachCamera (null);
                                            camera = null;
                                  private function disconnect():void {
                                            detachCamera();
                                            detachMicrophone();
                                            netStreamPublisher.close();
                                            netStreamSubscriber.close();
                                            netStreamPublisher.removeEventListener(NetStatusEvent.NET_STATUS, netStatus);
                                            netStreamSubscriber.removeEventListener(NetStatusEvent.NET_STATUS, netStatus);
                                            netConnection.removeEventListener(NetStatusEvent.NET_STATUS, netStatus);
                                            netStreamPublisher = null;
                                            netStreamSubscriber = null;
                                            netConnection = null;
                                            videoPublisher.clear();
                                            videoPublisher.attachCamera(null);
                                            videoSubscriber.clear();
                                            uic1.removeChild(videoPublisher);
                                            uic2.removeChild(videoSubscriber);
                                            videoPublisher = null;
                                            videoSubscriber = null;
                                            connected = false;
                                  private function netStatus(e:NetStatusEvent):void {
                                            switch(e.info.code) {
                                                      case "NetConnection.Connect.Success":
                                                                onConnect();
                                                                break;
                                                      default:
                                                                break;
                        ]]>
              </fx:Script>
              <s:VGroup width="100%" height="100%">
                        <s:HGroup width="100%" height="100%">
                                  <mx:UIComponent id="uic1" width="50%" height="100%"/>
                                  <mx:UIComponent id="uic2" width="50%" height="100%"/>
                        </s:HGroup>
                        <s:Label text="Connected : {connected}" paddingLeft="10"/>
                        <s:HGroup width="100%" horizontalAlign="center" verticalAlign="middle" paddingBottom="10">
                                  <s:TextInput id="usernameInput" prompt="Enter your name" text="lug" width="35%"/>
                                  <s:TextInput id="budynameInput" prompt="Enter budy name" text="kat" width="35%"/>
                                  <s:Button label="{connected?'Disconnect':'Connect'}" click="startStop()"/>
                        </s:HGroup>
              </s:VGroup>
    </s:View>

    Ok my microphone and camera settings were bad.
    I comment out these lines :
                                                      microphone.codec = SoundCodec.SPEEX;
                                                      microphone.framesPerPacket = 1;
                                                      microphone.setSilenceLevel(0, 3000);
                                                      microphone.gain = 100;
                                                      microphone.rate = 22;
    //camera.setMode (640, 480, 15, true);
                                                      //camera.setQuality (15000, 0); // 30000, 0 (adobe settings)
    Then the application works better, but still use CPU at 80-90% after a while... And finish to crash. Any idea ?

  • No video stream when calling 3rd party endpoint from Jabber client

    I use my own H323 client based on the H323Plus open source. It works very well with VCS and all endpoints we tried (a dozen or so from every vendor). We have a problem with Jabber Video though, across all versions from MOVI to 4.4.3. When my own client calls Jabber everything works as it should. However, when Jabber calls my client then (1) it takes up to a minute for Jabber to display incoming video and (2) Jabber does not create outgoing video stream. This behavior is 100%  reproducible across all PCs we tried. Jabber is registered with either VCS Starter Pack or VCS Control, sofwtare version 6.1 in both cases. We do not use provisioning at this time.
    In Jabber logs there is a unclear hint about insufficient resources (bandwidth?) for the video stream. VCS configuration is fine (it works with all other clients like e20) and I do not see anything useful in VCS logs.
    To narrow the discussion, this is NOT a firewall, client camera or driver, OS misconfiguration or any other external issue. It is Jabber video having problem negotiating capabilities and/or resources but only it initiates the call. Where should I look for a solution?

    I was afraid this will end this way. I hoped you might have had such a case solved already :-).
    Audio works fine, no problem at all. The video packets are not sent from my client to Jabber while in the 1 minute wait; the stream from Jabber  is not even started. I still think I need Wireshark to decode H225 traffic. Good idea with the interworking log - I was too lazy to go the OS layer. As you surely know, only 2 of the VCS logs are available from the Web interface.
    thanks for your help!

  • Can I see video stream from a website on my tv from my desktop with apple tv

    I am trying to watch a weekly video stream from a website using my Mac desktop on my tv with Apple Tv..can I do this?

    If your computer is a Mac and new enough (2011+) then maybe.  See required specs here:
    http://www.apple.com/uk/osx/specs/
    If you have an older Mac or Windows machine try airparrot.
    AC*

  • HT3819 video stream from amazon prime to my TV

    i want to video stream from amazon prime to my TV  via my ipad, mac book using my apple TV device..

    there is no reason to get rid of Apple devices, not when a Chromecast, Roku, or FireTV can be acquired so cheaply. 
    This is a true statement, but this is a bad option in the long term since your content will be split between different sources, DRM rules, apps, access options, etc.  You are going to constantly be running into issues were you want to watch a show that is not available on the device (phone, tablet, etc) you are on.  I share "Disgusted_with_apple" frustrations in that Apple has not updated in three years now leaving Amazon FireTV and others with better interfaces and features but having my content locked into Apple's DRM.
    Apple was really first to market with a viable TV interface device, and has completely turned the market over to its competitors just by not showing up.  And now ATV can not play content, or provide features that ALL of the competitors have.   I recently bought an Amazon FireTV and love it.  The only advantage Apple has left is the iTunes Store still has more content, but that is not likely to last.

  • SpryTabbedPanel: Flash player in tabs do not play video streams

    Note: I am a complete noob (no experience with Javascript and rudimentary experience with htlm/css). Please be patient (I hope that this is the correct forum for this) and know that I am appreciative of any help or solution that anyone can provide.
    Using Dreamweaver CS4 on Mac OS 10.5.8
    We recently switched all of our streaming servers from Windows Media (good riddance) to Flash Media Server 3.5 (now getting awesome H.264 quality in comparison).
    I was asked to re-design this webpage with the aim of re-organizing the content so that it is more accessible:
    http://www.librarymedia.net/VideoGallery.html
    We used Adobe's test page for our first page:
    http://www.librarymedia.net/flash/videoplayer.html?source=rtmp://63.116.232.4/live/livestr eam&type=live&idx=10
    This was meant as a temporary page to get us started, and as you can see, it needs work but at least it works.
    I've been working the the final version of this page. My boss wants a tabbed web page with links to our video streams (tab for each category of streams).
    This is what I have so far:
    http://www.librarymedia.net/Flash2/videoplayer2.html?source=rtmp://63.116.232.4/live/lives tream&type=live&idx=10
    I realize that I had several options before building this. One, I could have made a separate page for each tab and linked them with a tab menu. In hindsight, this might have been a better option since I could have just copied the working page that we already have for each tab. Or I could have done what I have tried to do: to use Dreamweaver's SpryTabbedPanel to make the tabs and insert a Flash player with links into each tab.
    The problem:
    1. The streams do not play. The player says "initializing" and then "please enter a stream name and play". Please note that I used SpryURLutils to get each link to open in the appropriate tab.
    2. After reading about the benefits of external vs. inline javascript, I took all of the inline javascript that was contained in Adobe's sample page and placed it in an external file. I tried placing the javascript back into the source code (inline), but this did not fix the problem. I guess there is a Javascript problem or I need extra Javascript code to get this to work.  The javascript code is below. Use view source in your web browser to see source code. Please let me know if I need to provide more information.
    Thanks.
    // (C) Copyright 2008 Adobe Systems Incorporated. All Rights Reserved.
    // NOTICE:  Adobe permits you to use, modify, and distribute this file in accordance with the terms of the Adobe license agreement accompanying it. 
    // If you have received this file from a source other than Adobe, then your use, modification, or distribution of it requires the prior
    // written permission of Adobe.
    // THIS CODE AND INFORMATION IS PROVIDED "AS-IS" WITHOUT WARRANTY OF
    // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
    // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
    // PARTICULAR PURPOSE.
    // THIS CODE IS NOT SUPPORTED BY Adobe Systems Incorporated.
    // Version check based upon the values defined in globals
                                                var hasRequestedVersion = DetectFlashVer(10, 0, 0);
                                                if(!hasRequestedVersion)
                                                    var div = document.getElementById("flashcontent");
                                                    div.innerHTML = '<a href="http://www.adobe.com/go/getflashplayer/" style="color:black"><img src="images/ERROR_getFlashPlayer.gif" width="641" height="377" /></a>';
                                                else{
                                                        AC_FL_RunContent(
                                                            "src", "swfs/videoPlayer",
                                                            "width", "640",
                                                            "height", "377",
                                                            "id", "videoPlayer",
                                                            "quality", "high",
                                                            "bgcolor", "#000000",
                                                            "name", "videoPlayer",
                                                            "allowfullscreen","true",
                                                            "type", "application/x-shockwave-flash",
                                                            "pluginspage", "http://www.adobe.com/go/getflashplayer",
                                                            "flashvars", flashVars
                                          // -->  
    // Javascript in original page
    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    function changeImages() {
        if (document.images && (preloadFlag == true)) {
            for (var i=0; i<changeImages.arguments.length; i+=2) {
                document [changeImages.arguments[i]].src = changeImages.arguments[i+1];
    var preloadFlag = false;
    function preloadImages() {
        if (document.images) {
            navi_01_over = newImage("images/button_dynamic_up.gif");
            navi_02_over = newImage("images/button_samples_up.gif");
            navi_03_over = newImage("images/button_interactive.gif");
            preloadFlag = true;
    function changetab(obj, obj2, obj3, left1, left2, left3, nav1, nav2, nav3){
        document.getElementById(obj).style.display = 'block';
        document.getElementById(obj2).style.display = 'none';
        document.getElementById(obj3).style.display = 'none';
        document.getElementById(left1).style.display = 'block';
        document.getElementById(left2).style.display = 'none';
        document.getElementById(left3).style.display = 'none';
        document.getElementById(nav1).src = "images/" + nav1 + "_up.gif";
        document.getElementById(nav2).src = "images/" + nav2 + "_down.gif";
        document.getElementById(nav3).src = "images/" + nav3 + "_down.gif";
    function tabout(obj, nav){
        if (document.getElementById(obj).style.display == 'block'){
            document.getElementById(nav).src = "images/" + nav + "_up.gif";
        else{
            document.getElementById(nav).src = "images/" + nav + "_down.gif";
    function tabover(obj){
        document.getElementById(obj).src = "images/" + obj + "_up.gif";
    // Functionality
        <script language="javascript">
            var queryParameters = new Array();
            var flashVars = "";
            var tag = "";
            var url = "";
            window.onload = function ()
                for(var i=1 ; i<=10;i++)
                    var ids = String("sel"+i.toString());
                    document.getElementById( ids ).style.visibility = "hidden";
                    document.getElementById( ids ).className = "style76";
                // mark the entry for that index
                if(queryParameters['idx'] != "")
                    document.getElementById("td" + queryParameters['idx'] ).className = "style75";
                    document.getElementById("sel" + queryParameters['idx'] ).style.visibility = "visible";
            function initialise()
                function getUrlParam( name )
                      name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
                      var regexS = "[\\?&]"+name+"=([^&#]*)";
                      var regex = new RegExp( regexS );
                      var results = regex.exec( window.location.href );
                      if( results == null )
                            return "";
                      else
                            return unescape( results[1] );
                queryParameters['source'] = getUrlParam('source');
                queryParameters['type'] = getUrlParam('type');
                queryParameters['idx'] = getUrlParam('idx');
                   flashVars += "&videoWidth=";
                flashVars += 0;
                flashVars += "&videoHeight=";
                flashVars += 0;
                flashVars += "&dsControl=";
                flashVars += unescape("manual");
                flashVars += "&dsSensitivity=";
                flashVars += 100;
                flashVars += "&serverURL=";
                flashVars += queryParameters['source'];
                flashVars += "&DS_Status=";
                flashVars += "true";
                flashVars += "&streamType=";
                flashVars += queryParameters['type'];
                flashVars += "&autoStart=";
                flashVars += unescape("true");
                tag = "&lt;object width='640' height='377' id='videoPlayer' name='videoPlayer' type='application/x-shockwave-flash' classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' &gt;&lt;param name='movie' value='swfs/videoPlayer.swf' /&gt; &lt;param name='quality' value='high' /&gt; &lt;param name='bgcolor' value='#000000' /&gt; &lt;param name='allowfullscreen' value='true' /&gt; &lt;param name='flashvars' value= '"+                   
                flashVars+"'/&gt;&lt;embed src='swfs/videoPlayer.swf' width='640' height='377' id='videoPlayer' quality='high' bgcolor='#000000' name='videoPlayer' allowfullscreen='true' pluginspage='http://www.adobe.com/go/getflashplayer'   flashvars='"+ flashVars +"' type='application/x-shockwave-flash'&gt; &lt;/embed&gt;&lt;/object&gt;";
            function playStream()
                var url = "source=" + document.getElementById('inputURL').value;
                var type;
                if(document.getElementById('vodCheckbox').checked==true)
                    type="vod";
                else
                    type="live";
                url += ("&type=" + type);
                document.getElementById('playBtn').href="videoplayer.html?" + url;
            function checkbox(type)
                if(type=="vod")
                    if(document.getElementById('liveCheckbox').checked==true)
                        document.getElementById('liveCheckbox').checked=false;
                if(type=="live")
                    if(document.getElementById('vodCheckbox').checked==true)
                        document.getElementById('vodCheckbox').checked=false;
            initialise();

    Should I have posted this in the Spry forum instead? My apologies if this is the wrong forum.
    >There is a sample application of the code included with the zip file  which shows how to implement it.
    The sample doesn't really tell me what I need to do to the code to make it work (I do not know javascript), and unfortunately, I have not found any helpful instructions/documentation online. You've given me the answer, I just don't know enough to implement it. This is what I've done:
    1. Placed the FAVideo.js file in my site folder and linked it to the page: <script src="FAVideo.js" type="text/javascript"></script>
    2. I added the following code (taken from the SimpleDemo.html example inside the FAVideo folder). My comments in bold. Page at
    http://www.librarymedia.net/Flash2/videoplayer2.html?source=rtmp://63.116.232.6/vod/mp4:Ol ympics2010_640x480.mov
             <! To the <body> section:-->
    <body onLoad="">
        <div id="divOne"></div>
    <!-Do I have to place the entire page within the "divOne" div (or just the section containing the tabs) in order for the javascript to work?-->
             <!-In the <head> section: -->
       <script type="text/javascript">
            playerOne = new FAVideo("divOne", "TabbedPanels1", "demo_video.flv",0,0,{ autoLoad:true, autoPlay:true });
        </script>
    <!- I noticed that the body code added a div id called "divOne", so I added the "TabbedPanels1" div id to the above code thinking that this would apply the javascript code to all of the tabs. Dreamweaver adds <div id="TabbedPanels1" class="TabbedPanels"> to the page when you insert the tabbed menu, so I'm thinking the javascript has to point to either one of those for it to work. The "demo_video.flv",0,0 code is probably unneccesary, right? As you can see, I'm completely clueless. -->
        <script>
            playerOne.addEventListener("playheadUpdate",this,myHandler);
            playerOne.removeEventListener("playheadUpdate",this,myHandler);
            function myHandler() {
                //alert("eh");
        </script>
    </body>
    Once again, thanks for your help.

  • CTD bug in simple video streaming applet.

    I'm trying to write a simple applet to use JMF to allow an end-user to view a video stream that's being served up by VLC. It doesn't have to look immensely pretty (in fact, streamlined is what I want most). I swiped some code from the jicyshout project (http://jicyshout.sourceforge.net) which handles streaming MP3s, and borrowed a framework for an applet from one of Sun's example applets for the JMF.
    Here's my code so far:
    ** begin file SimpleVideoDataSource.java **
    import java.lang.String;
    import java.net.*;
    import java.io.*;
    import java.util.Properties;
    import javax.media.*;
    import javax.media.protocol.*;
    /* The SeekableStream and DataSource tweaks are based on the code from
    * jicyshout (jicyshout.sourcefourge.net), which was written by Chris Adamson.
    * The code was simplified (no need for mp3 metadata here), cleaned up, then
    * extended for our puposes.
    * This is a DataSource using a SeekableStream suitable for
    * streaming video using the default parser supplied by JMF.
    public class SimpleVideoDataSource extends PullDataSource {
    protected MediaLocator myML;
    protected SeekableInputStream[] seekStreams;
    protected URLConnection urlConnection;
    // Constructor (trivial).
    public SimpleVideoDataSource (MediaLocator ml) throws MalformedURLException {
    super ();
    myML = ml;
    URL url = ml.getURL();
    public void connect () throws IOException {
    try {
    URL url = myML.getURL();
    urlConnection = url.openConnection();
    // Make the stream seekable, so that the JMF parser can try to parse it (instead
    // of throwing up).
    InputStream videoStream = urlConnection.getInputStream();
    seekStreams = new SeekableInputStream[1];
    seekStreams[0] = new SeekableInputStream(videoStream);
    } catch (MalformedURLException murle) {
    throw new IOException ("Malformed URL: " + murle.getMessage());
    } catch (ArrayIndexOutOfBoundsException aioobe) {
    fatalError("Array Index OOB: " + aioobe);
    // Closes up InputStream.
    public void disconnect () {
    try {
    seekStreams[0].close();
    } catch (IOException ioe) {
    System.out.println ("Can't close stream. Ew?");
    ioe.printStackTrace();
    // Returns just what it says.
    public String getContentType () {
    return "video.mpeg";
    // Does nothing, since this is a stream pulled from PullSourceStream.
    public void start () {
    // Ditto.
    public void stop () {
    // Returns a one-member array with the SeekableInputStream.
    public PullSourceStream[] getStreams () {
    try {
    // **** This seems to be the problem. ****
    if (seekStreams != null) {
    return seekStreams;
    } else {
    fatalError("sourceStreams was null! Bad kitty!");
    return seekStreams;
    } catch (Exception e) {
    fatalError("Error in getStreams(): " + e);
    return seekStreams;
    // Duration abstract stuff. Since this is a theoretically endless stream...
    public Time getDuration () {
    return DataSource.DURATION_UNBOUNDED;
    // Controls abstract stuff. No controls supported here!
    public Object getControl (String controlName) {
    return null;
    public Object[] getControls () {
    return null;
    void fatalError (String deathKnell) {
    System.err.println(":[ Fatal Error ]: - " + deathKnell);
    throw new Error(deathKnell);
    ** end file SimpleVideoDataSource.java **
    ** begin file SeekableInputStream.java **
    import java.lang.String;
    import java.net.*;
    import java.io.*;
    import java.util.Properties;
    import javax.media.*;
    import javax.media.protocol.*;
    /* The SeekableStream and DataSource tweaks are based on the code from
    * jicyshout (jicyshout.sourcefourge.net), which was written by Chris Adamson.
    * The code was simplified (no need for mp3 metadata here), cleaned up, then
    * extended for our puposes.
    /* This is an implementation of a SeekableStream which extends a
    * BufferedInputStream to basically fake JMF into thinking that
    * the stream is seekable, when in fact it's not. Basically, this
    * will keep JMF from puking over something it expects but can't
    * actually get.
    public class SeekableInputStream extends BufferedInputStream implements PullSourceStream, Seekable {
    protected int tellPoint;
    public final static int MAX_MARK = 131072; // Give JMF 128k of data to "play" with.
    protected ContentDescriptor unknownCD;
    // Constructor. Effectively trivial.
    public SeekableInputStream (InputStream in) {
    super (in, MAX_MARK);
    tellPoint = 0;
    mark (MAX_MARK);
    unknownCD = new ContentDescriptor ("unknown");
    // Specified size constructor.
    public SeekableInputStream (InputStream in, int size) {
    super (in, Math.max(size, MAX_MARK));
    tellPoint = 0;
    mark(Math.max(size, MAX_MARK));
    unknownCD = new ContentDescriptor ("unknown");
    // Reads a byte and increments tellPoint.
    public int read () throws IOException {
    int readByte = super.read();
    tellPoint++;
    return readByte;
    // Reads bytes (specified by PullSourceStream).
    public int read (byte[] buf, int off, int len) throws IOException {
    int bytesRead = super.read (buf, off, len);
    tellPoint += bytesRead;
    return bytesRead;
    public int read (byte[] buf) throws IOException {
    int bytesRead = super.read (buf);
    tellPoint += bytesRead;
    return bytesRead;
    // Returns true if in.available() <= 0 (that is, if there are no bytes to
    // read without blocking or end-of-stream).
    public boolean willReadBlock () {
    try {
    return (in.available() <= 0);
    } catch (IOException ioe) {
    // Stick a fork in it...
    return true;
    // Resets the tellPoint to 0 (meaningless after you've read one buffer length).
    public void reset () throws IOException {
    super.reset();
    tellPoint = 0;
    // Skips bytes as expected.
    public long skip (long n) throws IOException {
    long skipped = super.skip(n);
    tellPoint += skipped;
    return skipped;
    // Trivial.
    public void mark (int readLimit) {
    super.mark (readLimit);
    // Returns the "unknown" ContentDescriptor.
    public ContentDescriptor getContentDescriptor () {
    return unknownCD;
    // Lengths? We don't need no stinkin' lengths!
    public long getContentLength () {
    return SourceStream.LENGTH_UNKNOWN;
    // Theoretically, this is always false.
    public boolean endOfStream () {
    return false;
    // We don't provide any controls, either.
    public Object getControl (String controlName) {
    return null;
    public Object[] getControls () {
    return null;
    // Not really... but...
    public boolean isRandomAccess () {
    return true;
    // This only works for the first bits of the stream, while JMF is attempting
    // to figure out what the stream is. If it tries to seek after that, bad
    // things are going to happen (invalid-mark exception).
    public long seek (long where) {
    try {
    reset();
    mark(MAX_MARK);
    skip(where);
    } catch (IOException ioe) {
    ioe.printStackTrace();
    return tell();
    // Tells where in the stream we are, adjusted for seeks, resets, skips, etc.
    public long tell () {
    return tellPoint;
    void fatalError (String deathKnell) {
    System.err.println(":[ Fatal Error ]: - " + deathKnell);
    throw new Error(deathKnell);
    ** end file SeekableInputStream.java **
    ** begin file StreamingViewerApplet.java **
    * This Java Applet will take a streaming video passed to it via the applet
    * command in the embedded object and attempt to play it. No fuss, no muss.
    * Based on the SimplePlayerApplet from Sun, and uses a modified version of
    * jicyshout's (jicyshout.sourceforge.net) tweaks to get JMF to play streams.
    * Use it like this:
    * <!-- Sample HTML
    * <APPLET CODE="StreamingViewerApplet.class" WIDTH="320" HEIGHT="240">
    * <PARAM NAME="code" VALUE="StreamingViewerApplet.class">
    * <PARAM NAME="type" VALUE="application/x-java-applet;version=1.1">
    * <PARAM NAME="streamwidth" VALUE="width (defaults to 320, but will resize as per video size)">
    * <PARAM NAME="streamheight" VALUE="height (defaults to 240, but will resize as per video size)">
    * <PARAM NAME="stream" VALUE="insert://your.stream.address.and:port/here/">
    * </APPLET>
    * -->
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.lang.String;
    import java.lang.ArrayIndexOutOfBoundsException;
    import java.net.URL;
    import java.net.MalformedURLException;
    import java.net.*;
    import java.io.*;
    import java.io.IOException;
    import java.util.Properties;
    import javax.media.*;
    import javax.media.protocol.*;
    public class StreamingViewerApplet extends Applet implements ControllerListener {
    Player player = null;
    Component visualComponent = null;
    SimpleVideoDataSource dataSource;
    URL url;
    MediaLocator ml;
    Panel panel = null;
    int width = 0;
    static int DEFAULT_VIDEO_WIDTH = 320;
    int height = 0;
    static int DEFAULT_VIDEO_HEIGHT = 240;
    String readParameter = null;
    // Initialize applet, read parameters, create media player.
    public void init () {
    try {
    setLayout(null);
    setBackground(Color.white);
    panel = new Panel();
    panel.setLayout(null);
    add(panel);
    // Attempt to read width from applet parameters. If not given, use default.
    if ((readParameter = getParameter("streamwidth")) == null) {
    width = DEFAULT_VIDEO_WIDTH;
    } else {
    width = Integer.parseInt(readParameter);
    // Ditto for height.
    if ((readParameter = getParameter("streamheight")) == null) {
    height = DEFAULT_VIDEO_HEIGHT;
    } else {
    height = Integer.parseInt(readParameter);
    panel.setBounds(0, 0, width, height);
    // Unfortunately, this we can't default.
    if ((readParameter = getParameter("stream")) == null) {
    fatalError("You must provide a stream parameter!");
    try {
    url = new URL(readParameter);
    ml = new MediaLocator(url);
    dataSource = new SimpleVideoDataSource(ml);
    } catch (MalformedURLException murle) {
    fatalError("Malformed URL Exception: " + murle);
    try {
    dataSource.connect();
    player = Manager.createPlayer(dataSource);
    } catch (IOException ioe) {
    fatalError("IO Exception: " + ioe);
    } catch (NoPlayerException npe) {
    fatalError("No Player Exception: " + npe);
    if (player != null) {
    player.addControllerListener(this);
    } else {
    fatalError("Failed to init() player!");
    } catch (Exception e) {
    fatalError("Error opening player. Details: " + e);
    // Start stream playback. This function is called the
    // first time that the applet runs, and every time the user
    // re-enters the page.
    public void start () {
    try {
    if (player != null) {
    player.realize();
    while (player.getState() != Controller.Realized) {
    Thread.sleep(100);
    // Crashes... here?
    player.start();
    } catch (Exception e) {
    fatalError("Exception thrown: " + e);
    public void stop () {
    if (player != null) {
    player.stop();
    player.deallocate();
    } else {
    fatalError("stop() called on a null player!");
    public void destroy () {
    // player.close();
    // This controllerUpdate function is defined to implement a ControllerListener
    // interface. It will be called whenever there is a media event.
    public synchronized void controllerUpdate(ControllerEvent event) {
    // If the player is dead, just leave.
    if (player == null)
    return;
    // When the player is Realized, get the visual component and add it to the Applet.
    if (event instanceof RealizeCompleteEvent) {
    if (visualComponent == null) {
    if ((visualComponent = player.getVisualComponent()) != null) {
    panel.add(visualComponent);
    Dimension videoSize = visualComponent.getPreferredSize();
    width = videoSize.width;
    height = videoSize.height;
    visualComponent.setBounds(0, 0, width, height);
    } else if (event instanceof CachingControlEvent) {
    // With streaming, this doesn't really matter much, does it?
    // Without, a progress bar of some sort would be appropriate.
    } else if (event instanceof EndOfMediaEvent) {
    // We should never see this... but...
    player.stop();
    fatalError("EndOfMediaEvent reached for streaming media. ewe ewe tea eff?");
    } else if (event instanceof ControllerErrorEvent) {
    player = null;
    fatalError(((ControllerErrorEvent)event).getMessage());
    } else if (event instanceof ControllerClosedEvent) {
    panel.removeAll();
    void fatalError (String deathKnell) {
    System.err.println(":[ Fatal Error ]: - " + deathKnell);
    throw new Error(deathKnell);
    ** end file StreamingViewerApplet.java **
    Now, I'm still new to the JMF, so this might be obvious to some of you... but it's exploding on me, and crashing to desktop (both in IE and Firefox) with some very fun errors:
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x21217921, pid=3200, tid=3160
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode, sharing)
    # Problematic frame:
    # C 0x21217921
    --------------- T H R E A D ---------------
    Current thread (0x058f7280): JavaThread "JMF thread: com.sun.media.amovie.AMController@506411[ com.sun.media.amovie.AMController@506411 ] ( realizeThread)" [_thread_in_native, id=3160]
    siginfo: ExceptionCode=0xc0000005, writing address 0x034e6360
    (plenty more here, I can post the rest if necessary)
    The problem seems to be coming from the "return seekStreams" statement in the first file; when I have execution aborted before that (with a fatalError call), it doesn't crash.
    Any tips/hints/suggestions?

    You should write your own Applet, where you can easily get the visual component (getVisualComponent())and show it directly in your Applet (you call it "embedded"). As far as I know, all examples (AVReceive* etc.) use the component which opens a new window.
    Best regards from Germany,
    r.v.

  • Remote video streaming not working with Windows Server Essentials Media Pack

    I installed Server Essentials Media Pack and the video streaming via remote access does not seem to be working. I see all the video files on the server's remotewebaccess page in "Media Library" group. When I try to play the video in Chrome
    the player appears for a brief moment, but then the browser starts downloading the entire file. With Internet Explorer the empty browser window opens and the download starts. I am trying it while outside of my local network. The video streaming used to work
    with Server 2012 Esesentials. Am I missing some additional codecs or remote streaming is no longer supported?

    Hi,
    What’s the default player for these media files on your computer? The issue may be caused by the default player could not load the media file correctly. Please make sure Windows Media Player
    with full codec installed is the default one. And then check if the media streaming feature could work as normal. Here is an article about how to configure the media streaming feature, hope it helps.
    Manage Digital Media in Windows Server 2012 Essentials
    http://technet.microsoft.com/en-us/library/jj628151.aspx
    Best Regards,
    Andy Qi
    Andy Qi
    TechNet Community Support

  • No audio video streams upon import of .mov files?

    Hi... recently upgraded OS onto Intel 240 GB SSD. Running Widows 7 64 bit, clean re-install, 24 GB RAM, NIVIDIA Quadro FX 4800. I have been trying to optimize the system for maximum GPU accelerated effects while also taking advantage of the high speed read and write of my disk. OS runs on SSD, Adobe media cache on separate 2 TB eSATA connection, Media stored on external drive USB 3.0. Without getting into the fine details this is a snapshot of my workflow.
    The few problems I am encountering are some .mov files cannot be imported to PP. Error reads no audio or video stream in the files. I suspected metadata issues so tried to import with media browser and still no luck. These files worked perfectly before I began surgery 2 days ago on my computer. I have installed the latest version of quicktime and yet to no avail. Any recommendations here regarding my issue with imports or suggestions to benefit from my hardware would be appreciated.

    MOV is a wrapper, what is inside YOUR wrapper - Exactly what is INSIDE the video you are editing?
    Codec & Format information, with 2 links inside for you to read http://forums.adobe.com/thread/1270588
    Report back with the codec details of your file, use the programs below... A screen shot works well to SHOW people what you are doing
    https://forums.adobe.com/thread/1070933 for screen shot instructions
    Free programs to get file information for PC/Mac http://mediaarea.net/en/MediaInfo/Download

  • .Mov files in CC : The File Has no Audio or Video Streams

    I recently updated premier to CC , since i have issues iimporting any .mov files at all.
    The specific ones Im trying for my current project are exports from AE , rendered lossless animation .mov , worked fine in CS6 , will play in quicktime and other generic's but always getting the The FIle Has no Audio or Video Streams message when trying to import into a project.
    Quicktime is updated so I can't understand why the won't play, is this a CC bug ?
    i go back to cs6 on my other comp they open fine...
    Ive seen a few topics on this none with a resolution and most of those where from cam's, this is an export from AE, anyone able to help this is stopping me from working atm ......
    troy

    I can verify that Apple screen recordings without audio do not import into any Adobe premeier.
    Details on screen recording from Gspot v2.70a:
    H.264
    qt  : Apple QuickTime (.MOV/QT)
    File Type: QuickTime (.MOV)
    Mime Type: video/quicktime
    Len: 1:03.083
    Frms: 1,521
    Qf: 0.153
    Frames/s: 20.000
    wx: 1280 x 800
    sar: 1.600 (8:5)
    However Apple (MAC OSX) screen recordings WITH audio will import.
    I would think this should be fixable with hotfixes...
    If you (adobe staff) have access to macbook pros 2012 or 2013 models, open quick time pro, do a screen recording, make sure no audio is recording, just your screen movements.. then export to 1080p video (mov is only option).. then on a windows PC try to import that file into adobe premiere. The file will play perfectly fine natively in windows with any player so long as a H264 decoder is available on that system... the problem here is Adobe Premiere. Not the users system.
    Edit:
    To help those with this issue.. just make sure when you render your mov that you have ANY kind of audio in it.. and just remove the audio track once imported into premiere. I know it's frustrating and you would think something as simple as not having an audio track wouldn't break premiere but alas... we have to work around the shortcomings until they decide to fix it.. just like the VFR issue in premiere.

  • Video streaming stalls in full screen mode

    I'm not sure to be in the right category, but my Laptop runs in Tiger and I happen to use video streaming from different websides like ESPN Live and other websides with their own players. I use even some that require a program dowload to be able to see their content. By all those sources the video runs pretty smooth in a normal size. As soon as I put it to full screen it stalls in a certain rhythm no matter if the whole program is buffered or not.
    I achieved better results with one of the providers using WMP that via flip4mac streams into Quicktime. Just don't know if and how I could incorporate those other webside players into Quicktime. And if this would be the solution.
    I freed up some of my HD to achieve better performance. Have 18 GB free out of 100.. is this too little ?
    Do I need a better video card ?
    MacBook Pro (Intel) 100 GB 2.16 GHz 1.677 GB RAM
    Thanks
    bafomet

    Ba,
    It may be of interest to know that streaming video codecs are designed for computers of a specific age (CPU and GPU speeds).
    DVD quality streams MPEG-2 compression at about 10 Mbits/sec, and the older MPEG-1 compression, designed for NTSC television, streams at about 2 Mbits/sec. At 10 Mbits/sec, the processor must work faster to decompress & display the image. The latest compressions are based on MPEG-4. Even a G3 iBook could display MPEG-4 full screen; so I don't think you need a faster GPU.
    Microsoft codecs & containers, the last time I checked, were ancient: based upon MPEG-2. So, check your speed:
    DSL Reports speed tests
    http://www.dslreports.com/stest
    If you use Wi-Fi, IEEE 802.11n is fastest.
    Increase the cache size for your codec, if you can. It needs to be contiguous, so I dare to recommend iDefrag 2 (US$30) to clean your remaining disk space and obtain about 20 GB of contiguous space. Video display uses many operating system files, which are likely not fragmented; but you can also de-fragment the Windows codec if it lies in over 100 fragments. (The Spotlight database usually has over 1000 fragments; but pauses in it don't affect one's pleasure in using it.)
    My low-resolution DVD is interpolated by my graphics card, and look beautiful at maximal resolution. Streaming graphics apparently isn't programmed to interpolate low resolution: it demands high resolution and high bandwidth.
    If you can't increase the cache in WMP, you can lower the resolution of your monitor. That may be why this System Preference was designed to sit on the desktop's top bar.
    Bruce

  • Video Streaming from multiple camera to cell phone.

    I have about 5 webcams on a network in a different city.  One of these webcams I have been successful at setting up live video streaming to my cell phone. However when I tried to setup and view a second camera (same model), but  I cannot get it to successfully load and view. The second camera has a different access code also.
    Any Suggestions?

    Hi,
    Camera are WVC54GCA
    Router is a WRT300N.
    Like I stated earlier, one of these cams I can stream fine to my backberry storm,(Port 554 is forward to the ip address of the camera) but can't seem to configure the other for cell phone viewing.
    All cameras can be viewed via http via computers.

Maybe you are looking for