Change video streams at a chapter marker

Is it possible to target a video stream (angle) at a chapter marker so that the stream automatically switches from another stream? I have a project with 3 video streams and 1 audio stream. I want to be able to switch the video streams at specific points in the program without losing sync. Any help would be apppreciated.
Thanks,
ur.s
G4   Mac OS X (10.3.9)  

What I did so far is set a chapter marker right before the chapter marker where I want to to change (ex. I want the subtitle to start at 2:30, I put another marker at 2:29 and attach a script to the end jump)
my script is:
movGPRM0, SPRM7
Set System Stream (Subtitle1)(On) if (GPRM 0 = 3)
---*It's the 3rd chapter in the track
My problem is that after it executes the script and turns on the subtitles, is that it repeats and loops on itself (ex. it loops from 2:29-2:30)
-If I put an exit command, it doesn't resume playback. How can I just have it execute the script at the chapter marker and resume seamlessly??
Thanks!

Similar Messages

  • Encore content was just loaded to my library and one of the menus will not allow me to drag a line from chapter marker to timeline?  I connected the menu item in the properties menu and the video box is blank?  Help

    Can someone please help.  In the flowchart, I am unable to drag a line from menu item to chapter markers.  I get a circle with a line through it.  I had to connect menu with chapter markers through the properties panel.  The video asset for that chapter marker is not appearing in the box above the title of that menu?

    You will likely get better program help in a program forum Community: Encore | Adobe Community
    The Cloud forum is not about using individual programs
    The Cloud forum is about the Cloud as a delivery & install process
    If you will start at the Forums Index https://forums.adobe.com/welcome
    You will be able to select a forum for the specific Adobe product(s) you use
    Click the "down arrow" symbol on the right (where it says All communities) to open the drop down list and scroll

  • Set subtitle stream change at a chapter marker

    Is there a way that I can set a subtitle stream to activate at a certain chapter point?
    example: the video would be playing then at 2:30 the subtitle stream would automatically turn on?
    thanks

    What I did so far is set a chapter marker right before the chapter marker where I want to to change (ex. I want the subtitle to start at 2:30, I put another marker at 2:29 and attach a script to the end jump)
    my script is:
    movGPRM0, SPRM7
    Set System Stream (Subtitle1)(On) if (GPRM 0 = 3)
    ---*It's the 3rd chapter in the track
    My problem is that after it executes the script and turns on the subtitles, is that it repeats and loops on itself (ex. it loops from 2:29-2:30)
    -If I put an exit command, it doesn't resume playback. How can I just have it execute the script at the chapter marker and resume seamlessly??
    Thanks!

  • I want to create a "Play All" chapter marker that will play the video from start to finish in addition to the standard chapters I have-I guess I can auto start the DVD but would prefer a button-how and where would I put this "play all" marker??

    I want to create a "Play All" chapter marker that will play the video from start to finish in addition to the standard chapters I have…I guess I can auto start the DVD but would prefer a button…how and where would I put this "play all" marker?? Thanks..

    The start chapter button is a play the whole movie button regardless of how many other markers you have.
    Once a DVD starts playing it continues to the end.
    Chapters marker simply gives the viewer a place to start playback whether it be the start, middle or near the end.
    Al

  • 1 video stream 3 sequences in there, how to play 1 chapter then return

    I have one 10 min video stream made of 3 sequences from fcp, I have set the chapter points and have 3 buttons on the menu. I need it to press button one, play track one then return to menu. Then press button 2 that should play chapter 2 then return to menu and so on for button 3. ( return to menu )
    For the life of me I can see or know how to do this? Anyone got any ideas?
    regards
    Daz

    Set the end jumps for the tracks (if seperate tracks) to the menu, otherwise the end jump for the markers to return to the menu (if all on same track and you do not need a play all function)
    Take a look here
    http://discussions.apple.com/thread.jspa?messageID=8239517&#8239517
    http://discussions.apple.com/thread.jspa?messageID=8352694&#8352694
    http://discussions.apple.com/thread.jspa?messageID=7885285&#7885285

  • Swap video but keep chapter marks?

    Is it possible to replace the video file in a timeline without losing the Encore chapter marks? I do not mean dynamically linked video from Premiere or AE, but pre-rendered video imported into Encore CS6 and chapter markes created in Encore.
    I am having an issue with Encore insisting on transcoding my .264 video file, so I want to replace it with a .m4v file, but I do not want to lose the chapter marks in doing so. It's annoying having to add them over and over again.

    Hi,
    I think that the "Replace Asset" function should work for you. Try right clicking on the asset in the project window, and select the new video.
    Good luck
    Daniel

  • IOS Client Video Streaming with Chapter Markers

    Are there any ios client applications that will receive an h.264 video stream and provide a list of chapter markers for the video?
    It seems AVFoundation definitely supports this: http://developer.apple.com/library/ios/releasenotes/AudioVideo/RN-AVFoundation-O ld/_index.html#//apple_ref/doc/uid/TP40011199-CH1-SW6
    However, I can't find any client applications out there that seem to support this. I can't even really get a clear answer as to whether or not HTTP Live Streaming for iOS has a feature for providing chapter metadata.
    Any help would be greatly appreciated! Thanks.

    My most sincere of apologies.  My "instruction redo" for clarity included a cerebral gaseous emission in the one place that was most important.
    Step 6 should read "Select "Movie""
    1. Go to iTunes->Home Videos
    2. Right-click the video
    3. Choose "Get Info"
    4. Click the "Options" tab
    5. Click the "Media Kind" pull-down menu
    6. Select "Movie"
    7. Click "Okay"
    Fell into that trap where you read something over several times to make sure you got everything correct, but you aren't really looking because you KNOW you got everything right.
    Not only that, but I got it wrong the first time as well, although Florbid got it right (for Windows) in spite of my initial blundering.  If you read my first post, I say to select "Video", which was supposed to be "Movie" even then.
    Hope this relieves your frustration.  But if it doesn't solve the problem, I have no other answer.
    Message was edited by: Clyde Crocker to replace "brain **** " with "cerebral gaseous emission".

  • Chapter marker and video ipod

    My problem is the following:
    I have made a mv4 movie using Imovie with chapter marker. I must admit that it is working perfectly on iTunes I can use the chapter marker on the top of the screen. But, I can't use the chapter marker on my Ipod.
    It seems that my movie is not in the podcast folder but in the movie folder. Does it make any differences? And if yes how can I transfer my exported-for-ipod movie from the movie folder to the podcast folder (in the ipod).
    Thank you very for your help.

    I have made a mv4 movie using Imovie with chapter marker. I must admit that it is working perfectly on iTunes I can use the chapter marker on the top of the screen. But, I can't use the chapter marker on my Ipod.
    Try using the "Save as..." option to place the chaptered H.264/AAC movie in a MOV file container.
    It seems that my movie is not in the podcast folder but in the movie folder. Does it make any differences?
    Not as far as playback is concerned in iTunes or on the iPod.
    And if yes how can I transfer my exported-for-ipod movie from the movie folder to the podcast folder (in the ipod).
    An file created using the "Movie to iPod" export option is (supposedly) compatible with playback on an iPod. This process does not, however, create a Podcast. To turn you iPod compatible file into a Podcast, run it through an application like Podcast Maker. This will mark the file internals properly, upload the file to your server, and take care of XML/RSS requirements.

  • Blu-Ray Stops Playing at 1st Chapter Marker

    I am battling an issue I cannot get my arms around.  I have a 3-hour video that I have sent From Premier Pro (CS4) to Encore via Adobe Link.
    In Encore I rendered the video as a Blu-Ray image and set the play parameters to make the disc auto-playing.  That is the DVD has no menu start page.  The First Play is set to the beginning of the timeline, and the End action is STOP.
    I do not have any Overrides set at all in my Encore project.  I have checked both the disc and the timeline panels, and Override is set to "Not Set" in both cases.
    I have Encore Chapter Markers at the origin of the timeline and at every day thereafter of an 18 day trip.
    The .iso image file produced by Encore was then copied to discs using CyberLink Power2Go.
    When the (Blu-Ray) DVD is put into a player, it starts fine but then terminates play at the 1st marker after play starts (this is actually the 2nd timeliine marker, as the first is at the origin, or zero point) about 9 minutes into the DVD.
    When I examine the Stream file  (BDMV>STREAM>00000.m2ts) on the disc, it does contain the entire video, and it plays just fine.
    Thus I am assuming that something has not correctly constructed the playlist scripts causing the playback to start at the beginning but STOP at the first Chapter marker it encounters after starting play.
    Any thought on how to debug and fix this issue will be GREATLY appreciated!!
    PS - I just opened this Encore project and used the Preview function to play the video.  The preview STOPS also at the first chapter marker (9 minutes into the video) exactly as in the finished DVD.
    I can find nothing unusual about this marker, but it is obviously the culprit!

    OK.  I think I found the issue but not sure why!
    When I set the project up in Encore in the Flowchart window I set the Timeline icon (linked to by the disc as the 1st play item) to an End Action of STOP.
    Since it was the entire timeline that was my 1st play asset, I assumed that the STOP End Action would be at the end of the DVD.
    BUT, apparently it Stops when it encounters the first Marker.
    If I go to the Timeline in Encore and click on the individual Markers, all of them but the first one have an End Action of "Not Set" but the first one has "Stop".
    I have just changed that 1st (at the timeline origin) Marker's End Action to "Not Set" and the last Marker to "Stop"
    I'm guessing this will fix it.  Will report back after I preview things.

  • Bad Chapter Marker: Simulate works fine, DVD freezes

    Working on a Choir Concert with multiple chapters. Simulate works fine. But the build produced a freeze a split seconds after a chapter marker. I have changed the chapter location but it still freezes at the exact same spot. If I go to a chapter after the troublesome one, it plays fine. If play fine up to the chapter marker.
    When I moved the chapter marker, it played fine, until the chapter marker was encountered again.
    The chapter marker was set in FCP 5.1. All other chapter marker work fine.
    Below are the compressor settings used.
    I will delete and reenter it in DVDSP. But I am curious: why would a chapter marker would go bad?
    thanks
    Name: MPGE-2 5.0Mbps 1-pass 4:3 Mode Best, Motion Better
    Description: Fits 120 minutes of video with Dolby Digital at 192 Kbps or 90 minutes with AIFF on a DVD-5
    File Extension: m2v
    Estimated file size: 3.47 GB
    Type: MPEG-2 video elementary stream
    Video Encoder
    Format: M2V
    Width: 720
    Height: 480
    Pixel aspect ratio: NTSC CCIR 601/DV
    Crop: None
    Frame rate: 29.97
    Frame Controls: Off
    Aspect ratio: 4:3
    Field dominance: Bottom first
    Average data rate: 5 (Mbps)
    1 Pass VBR enabled
    Maximum data rate: 7.5 (Mbps)
    High quality
    Better motion estimation
    Closed GOP Size: 15, Structure: IBBP
    DVD Studio Pro meta-data enabled
    Name: Dolby 2.0 Digital Professional
    Description: No description
    File Extension: ac3
    Audio Encoder
    Format: AC3
    Sample Rate: 48.000kHz
    Channels: 2
    Bits Per Sample: 16
    Target System: DVD Video
    Data Rate: 192 kbps
    Compression Preset: Film Standard
    Audio Coding Mode: 2/0 (L, R)
    BitStream Mode: Complete Main
    Center Mix Level: -3dB
    Surround Mix Level: -3dB
    Dolby Surround Mode: None
    LFE Exists: No
    Dialog Normalization: -27 dbFS
    Copyright Exists: Yes
    Original Content: Yes
    Audio Production Information Exists: No
    RF Overmodulation Protection: Off
    Channel Bandwidth Lowpass Filter: On
    DC Highpass Filter: On
    LFE Channel Lowpass Filter: On
    3dB Attenuation: Off
    phase 90: On
    Deemphasis: Off

    Simulate works fine. But the build produced a freeze a split seconds after a chapter marker. I have changed the chapter location but it still freezes at the exact same spot.
    It sounds like you are saying that "same exact spot" means the spot where the marker is moved to and not the same exact splace on the timeline, and it looks that way based on the rest of your post(?)
    The chapter marker was set in FCP 5.1. All other chapter marker work fine.
    Could be a few things. First make sure you have not accidently set a command for that chpater maker, you may have done so and Simulator since it is not perfect maybe it is missing it somehow.
    I would delete just the one marker causing problems and see if it plays all the way through without the problem marker, and if it works, I would copy one of the markers that works at put it into the spot you want.

  • IDVD will not recognize iMovie chapter marker updates

    I have also posted this to the iDVD forum. I am authoring a video in iMovie 6.0.3, have marked about 24 chapters in it, and and have put it into iDVD 6. I wanted to move one marker by a few seconds, so I removed it in iMovie, and added a new one where I wanted it to be. I re-opened the file in iDVD and it asked me if I wanted to accept the modifications to the iMovie file, to which I responded yes. It is bad enough that doing so wipes out the careful edits I had done for the pictures on all the chapter buttons (I am using "Reflection Dark" theme), but worse than that, iDVD simply refuses to accept the new chapter marker, and clicking on its button instead takes me to the next chapter. So there are now two adjacent buttons going to the same chapter marker, and none going to this modified one. This is simply absurd. Does anyone know how to get round this, and make iDVD accept the chapter marker changes?

    Those are the only two apps that I'm aware of for the Mac for burning video DVDs.  There was DVD Studio Pro at one time but that's no longer available.
    Just did a Google search and found this hit: How to Burn HD Video to DVD on Mac OS X. Its site indicates that there are menu selections.  If you try it and it's successfull be sure to post back with the results.
    OT

  • Timecode Chapter Marker Input Field

    I would love to see an option in the timeline to be able to input into a field the timecode where you want to have a chapter mark. I edit with Avid and I can set marks then just copy them direct just by making some minor changes. But the biggest problems have been having to redo projects because of wild errors.
    EXAMPLE:
    00:00:11:00
    00:01:16:00
    00:02:22:00
    00:03:08:00
    I work with Encore every 2 Months and everytime I'm 99% done with a project Encore gives me some crazy error that I always need to redo my project (4:30am). Sorry for complaining but it's getting really annoying. I LOVE ADOBE but this is killing me.
    Thanks

    You can do that now. Click in the timeline timecode display in the upper left corner of the timeline panel. Enter your timecode. Press the "*" (asterisk) key on the number pad. You now have a new chapter.
    Just remember that if the source video on the timeline is already transcoded, you will only be able to put chapter markers on GOP boundaries (I-frames).

  • IPad chapter marker problem

    My video has discrete sections with one second of black between each. Chapter markers are inserted on the first video frame of each section, making each section a chapter. When the video is selected on iPad and played back as a whole it works fine, skipping chapters works just as it should, moving to the first video frame of each chapter. However if a chapter is selected from the chapter menu, playback does not begin where the marker is. Rather, playback begins one or two seconds before the marker, either in the black that falls between chapters or in the end of the previous chapter. This problem is only true when the video is played on the device, it plays back in iTunes perfectly. Anyone know how to fix this problem?

    If you make changes to an iMoive that was already in an iDVD project it's recommended you start over with a new project.  There's a bug/problem with iDVD in it  does not deal with modified assets in an existing project. 
    OT

  • 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.

Maybe you are looking for

  • How do I make the Shuffle Setting on my iTunes More Random?

    Hi, I've just recently got my iPod classic (finally) and I love it! But, I have a question about iTunes. My question is: How do I get the shuffle setting in my iTunes to be more random? I have "The iPod Book" by Scott Kelby and looked this up, but I

  • Can' creat a Book in iPhoto 08! Please Help Xmas coming!!!!

    Hi, I have a problem! I want to make a book with iphoto but every Time I click on the book sign or any other way to create a new book I can select the theme and size but when I press "select" it does not create any thing. When I click on the calendar

  • 8.1-beta servlets do not work?

    Hello,           I'm using a web.xml file with 2 servlets in it that works fine           in WLS 6.x and 7.x. Yet, it does not work in 8.1.           If I delete the servlet and servlet-mapping elements I can           deploy my webapp (in an ear) an

  • Trying to install Gnome 3

    Hi, I am trying to install G3 but I am having a bit of an issue. Every thing downloads ok but when it finally checks for file conflicts I get this error: error: failed to commit transaction (conflicting files) wicd: /usr/lib/python2.7/site-packages/w

  • Magic mouse gestures mountain lion

    whats happened to magic mouse gestures on mountain lion...i can't even scroll up or down a web page with my magic mouse now....