#385 ✓ resolved
boaz (at bocoup)

Support Seamless Video Sequencing in Popcorn

Reported by boaz (at bocoup) | March 4th, 2011 @ 10:09 AM | in 0.6

Given a list of remote video sources, I would like Popcorn to help me load them in and play them through seamlessly. Here are some API notes that imply the functionality I'm looking for.


var sequence = Popcorn( "video-element-id" )sequence([
          "assets/snowdriving.ogv",
          "assets/eich.ogv",
          "assets/crockford.ogv"
        ]);

sequence.play()

sequence.duration() // duration of the full sequence

sequence.currentTime() // cur time in the full sequence

sequence.eq(2).currentTime() // cur time in the 3rd popcorn video

sequence.listen( 'canplaythrough', function(){ ... } ) // bind to the canplaythrough of the whole sequence

Comments and changes to this ticket

  • Rick

    Rick March 10th, 2011 @ 06:48 PM

    • State changed from “new” to “assigned”
  • Rick
  • annasob

    annasob April 21st, 2011 @ 04:16 PM

    • Milestone changed from 0.5 to 0.6
    • Milestone order changed from “2” to “0”

    Pushing to 0.6

  • annasob

    annasob May 10th, 2011 @ 04:40 PM

    • Assigned user changed from “Rick” to “cadecairos”

    Rick cadecairos is gonna help with this

  • cadecairos

    cadecairos May 16th, 2011 @ 03:53 PM

    • State changed from “assigned” to “peer-review-requested”
    • Assigned user cleared.

    okay so we've gotten a pretty functional sequencer together.

    The branch I'm working on is here

    You can run the unit tests here

    the API is similar to popcorn:

        var clips = [
          {
    
            src: "clip1.ogv",  
    
            // start clip at 0 seconds  
            in: 0,
     
           // end clip and 6 seconds
            out: 6
     
          },
    
          {
    
            src: "clip2.ogv",  
    
            // begin this clip at 2 seconds (in this specific video's timeline)
            in: 2,
     
            // end this clip at 8 seconds
            out: 8
            
          }
        ];
    
        // initialize the sequence
        var $sequence = Popcorn.sequence ( "target-div", clips );
    
        // PLUG-INS
    
        $sequence.footnote({
          start: 1,
          end: $sequence.duration(),
          text: "This will display from :01 in the entire sequence to the very end of the sequence ( the sum of the length of all clips )",
          target: "footnote-container"
        });
    
        // begin playback of the sequence.
        $sequence.play();
    
  • cadecairos
  • Scott Downe

    Scott Downe May 17th, 2011 @ 10:51 AM

    • State changed from “peer-review-requested” to “under-review”
    • Assigned user set to “Scott Downe”
  • Scott Downe

    Scott Downe May 17th, 2011 @ 11:53 AM

    • State changed from “under-review” to “review-needs-work”
    • Assigned user changed from “Scott Downe” to “cadecairos”

    OK, I just need an example in player/sequencer/popcorn.sequence.html

    This will be an example, similar to the other player examples: basically, your example above wrapped in a working html page. Reference https://github.com/cadecairos/sequence/raw/issue-11/sequence.js for now, we can figure out where to get it later.

    What is important to me is the use of the API, we can change the rest, but changing the API is a headache, and I like the API you have above.

  • Rick

    Rick May 17th, 2011 @ 12:08 PM

    • State changed from “review-needs-work” to “blocked”
    • Assigned user cleared.

    Scott,

    "Popcorn.sequence" should be submoduled from my master repo and integrated at build time with a make target.

    Setting to blocked, pending discussion

  • Rick

    Rick May 18th, 2011 @ 02:17 PM

    • State changed from “blocked” to “peer-review-requested”
    • Assigned user set to “annasob”
  • annasob

    annasob May 18th, 2011 @ 03:39 PM

    • State changed from “peer-review-requested” to “resolved”

    this has been resolved (as a submodule in #524)

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

Popcorn.js is an HTML5 video framework that lets you bring elements of the web into your videos.

Popcorn.js is a project of Web Made Movies, Mozilla's Open Video Lab.

Shared Ticket Bins

Referenced by

Pages