Examples of Movie


Examples of quicktime.std.movies.Movie

   * @throws QTException
   */
  public static int countFrames(Movie movie, float start, float end)
  throws QTException
  {
    Movie mov = MovieUtils.cloneMovie(movie);
    int timeScale = mov.getTimeScale();
    int begin = (int)Math.floor(start * timeScale);
    int finish = (int)Math.floor(end * timeScale);
    int count = 0;

    // get the video track from mov
    Track visualTrack = mov.getIndTrackType(1,
      StdQTConstants.visualMediaCharacteristic,
      StdQTConstants.movieTrackCharacteristic);
    mov.setTime(new TimeRecord(timeScale, (int) begin));
    Boolean go = true;
    int lastTime = 0;
    do
    {
      TimeInfo ti = visualTrack.getNextInterestingTime(
        StdQTConstants.nextTimeMediaSample, mov.getTime(), 1);

      // if looped to earlier frame or finished selected section
      if ((lastTime > ti.time) || (ti.time >= finish))
      {
        go = false;
      } // if ((lastTime > ti.time) || (ti.time >= finish))
      else
      {
        lastTime = ti.time;
        mov.setTime(new TimeRecord(mov.getTimeScale(), ti.time));
        ++count;
      } // else
    } // do
    while (go);
    return count;
View Full Code Here

Examples of quicktime.std.movies.Movie

    // video tracks don't need volume
    int VOLUME = 0;

    // make every frame a key (self-contained) frame
    int KEY_FRAME_RATE = frameRate;
    Movie newmovie = null;
    java.util.Random rand = new java.util.Random();
    try
    {
      int random = rand.nextInt();

      // create a new empty movie and a track
      String tempFile = "Phoenix" + java.lang.Integer.toString(random) + ".mov";
      QTFile movFile = new QTFile(new File(tempFile));
      newmovie = Movie.createMovieFile(movFile, StdQTConstants.kMoviePlayer,
        StdQTConstants.createMovieFileDeleteCurFile
        | StdQTConstants.createMovieFileDontCreateResFile);
      Track videoTrack = newmovie.addTrack(WIDTH, HEIGHT, VOLUME);

      // create media for new track
      VideoMedia videoMedia = new VideoMedia(videoTrack, timeScale);

      // get a GraphicsImporter
      GraphicsImporter gi = new GraphicsImporter(
        StdQTConstants.kQTFileTypePicture);

      // create an offscreen QDGraphics / GWorld the size of the picts
      // importer will draw into this and pass to CSequence
      QDGraphics gw = new QDGraphics(new QDRect(0, 0, WIDTH, HEIGHT));

      // set importer's GWorld
      gi.setGWorld(gw, null);
      QDRect gRect = new QDRect(0, 0, WIDTH, HEIGHT);

      // add images to media
      videoMedia.beginEdits();
      int frames = pics.length;
      int rawImageSize = QTImage.getMaxCompressionSize(gw, gRect,
        gw.getPixMap().getPixelSize(), StdQTConstants.codecLosslessQuality,
        CODEC_TYPE, CodecComponent.bestFidelityCodec);
      QTHandle imageHandle = new QTHandle(rawImageSize, true);
      imageHandle.lock();
      RawEncodedImage compressed = RawEncodedImage.fromQTHandle(imageHandle);
      CSequence seq = new CSequence(gw, gRect, gw.getPixMap().getPixelSize(),
        CODEC_TYPE, CodecComponent.bestFidelityCodec,
        StdQTConstants.codecLosslessQuality,
        StdQTConstants.codecLosslessQuality,
        KEY_FRAME_RATE, null, StdQTConstants.codecFlagUpdatePrevious);
      ImageDescription imgDesc = seq.getDescription();

      // attempt to loop through all frames, scaling to fit the first frame
      for (int x = 0; x < frames; x++)
      {
        QDRect srcRect = new QDRect(0, 0, pics[x].getPictFrame().getWidthF(),
          pics[x].getPictFrame().getHeightF());

        // add 512 byte header so the grapics importer will think that it's
        // dealing with a pict file

        byte[] newPictBytes = new byte[pics[x].getSize() + 512];
        pics[x].copyToArray(0, newPictBytes, 512, newPictBytes.length - 512);
        pics[x] = new Pict(newPictBytes);

        // export the pict
        DataRef ref = new DataRef(pics[x],
          StdQTConstants.kDataRefQTFileTypeTag, "PICT");
        gi.setDataReference(ref);

        // create matrix to represent scaling of each pict
        Matrix drawMatrix = new Matrix();
        drawMatrix.rect(srcRect, gRect);
        gi.setMatrix(drawMatrix);
        gi.draw();

        // compress frame
        CompressedFrameInfo cfInfo = seq.compressFrame(gw, gRect,
          StdQTConstants.codecFlagUpdatePrevious, compressed);

        // check to see if frame is a key frame
        boolean syncSample = (cfInfo.getSimilarity() == 0);
        int flags = syncSample ? 0 : StdQTConstants.mediaSampleNotSync;

        // add compressed frame to video media
        videoMedia.addSample(imageHandle, 0, cfInfo.getDataSize(),
          timeScale / frameRate, imgDesc, 1, flags);
      } // for

      // done adding samples to the media
      videoMedia.endEdits();

      // insert media into track
      videoTrack.insertMedia(0, 0, videoMedia.getDuration(), 1);

      // save changes made into file and add to movie
      OpenMovieFile omf = OpenMovieFile.asWrite(movFile);
      newmovie.addResource(omf, StdQTConstants.movieInDataForkResID,
        movFile.getName());
      // delete file created; prevent any thread problems by terminating
      // current thread
      try
      {
View Full Code Here

Examples of quicktime.std.movies.Movie

  public static Track getAudioTrack(Movie mov)
  {
    Track audio = null;
    try
    {
      Movie movie = cloneMovie(mov);
      audio = movie.getIndTrackType(1, StdQTConstants.soundMediaType,
        StdQTConstants.movieTrackMediaType);
    } // try
    catch (QTException qte)
    {
      qte.printStackTrace();
View Full Code Here

Examples of quicktime.std.movies.Movie

   * @param end     Time in mov to stop getting audio track
   * @return audio  Segment of audio track in mov from start to end
   */
  public static Track extractAudioSegment(Movie mov, float start, float end)
  {
    Movie mseg = extractSegment(mov, start, end);
    return getAudioTrack(mseg);
  } // extractAudioSegment(Movie, float, float)
View Full Code Here

Examples of quicktime.std.movies.Movie

   * @param start    Time in movie to start adding audio
   * @return result  mov with audio added at start
   */
  public static Movie addAudioTrack(Movie mov, Track audio, float start)
  {
    Movie newMov = null;
    try
    {
      // make a copy of mov
      newMov = cloneMovie(mov);
      Track newAudio;

      // use addEmptyTrack to make sure it has SoundMedia characteristics
      newAudio = newMov.addEmptyTrack(audio, new DataRef(new QTHandle()));
      audio.insertSegment(newAudio, 0, audio.getDuration(),
        (int)(start * newMov.getTimeScale()));
    } // try
    catch (QTException qte)
    {
      qte.printStackTrace();
    } // catch (QTException)
View Full Code Here

Examples of quicktime.std.movies.Movie

   * @return result   mov with aduio added at start
   */
  public static Movie addAudioTrack(Movie mov, Track audio, float start,
    float duration)
  {
    Movie newMov = null;
    try
    {
      // make a copy of mov
      newMov = cloneMovie(mov);
      Track newAudio;
      newAudio = newMov.addEmptyTrack(audio, new DataRef(new QTHandle()));

      // use addEmptyTrack to make sure it has Sound Media characteristics
      audio.insertSegment(newAudio, 0, (int) (duration
          * audio.getMovie().getTimeScale()),
          (int) (start * newMov.getTimeScale()));
    } // try
    catch (QTException qte)
    {
      qte.printStackTrace();
    } // catch (QTException)
View Full Code Here

Examples of quicktime.std.movies.Movie

   * @param mov      Movie to remove an audio track from
   * @return result  mov without the first audio track
   */
  public static Movie removeAudioTrack(Movie mov)
  {
    Movie newMov = null;
    try
    {
      // make a copy of mov
      newMov = cloneMovie(mov);

      // remove first track with SoundMedia characteristics
      newMov.removeTrack(newMov.getIndTrackType(
        1, StdQTConstants.soundMediaType, StdQTConstants.movieTrackMediaType));
    } // try
    catch (QTException qte)
    {
      qte.printStackTrace();
View Full Code Here

Examples of quicktime.std.movies.Movie

   */ 
  public Vector<Movie> squishMovies(Vector<Movie> movies, int direction)
  throws QTException, SchemeException
  {
    Vector<Movie> result = new Vector<Movie>();
    Movie mov = null;
    Movie temp = null;
    for (int i = 0; i < movies.size(); i++)
    {
      mov = movies.get(i);
      temp = new Movie();
      temp.setBounds(movies.get(i).getBounds());
      for (int j = 0; j < (i + 1); j++)
      {
        if (Thread.interrupted())
        {
          throw new SchemeException(new Pair(), null, null);
View Full Code Here

Examples of quicktime.std.movies.Movie

   * @throws SchemeException
   */ 
  public Movie glueMovies(Vector<Movie> movies, float cycle)
  throws QTException, SchemeException
  {
    Movie mov = new Movie();
    for (int i = 0; i < movies.size(); i++)
    {
      if (Thread.interrupted())
      {
        throw new SchemeException(new Pair(), null, null);
View Full Code Here

Examples of quicktime.std.movies.Movie

  public Movie trackKluberizeMovie(Movie mov, int direction, float cycle)
  throws SchemeException
  {
    try
    {
      Movie video = glueMovies(squishMovies(cutMovie(mov, cycle), direction),
        cycle);
      Track sound = mov.getIndTrackType(1,
        StdQTConstants.audioMediaCharacteristic,
        StdQTConstants.movieTrackCharacteristic);
      MovieUtils.addAudioTrack(sound, video);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.