Package org.red5.io.flv.IKeyFrameDataAnalyzer

Examples of org.red5.io.flv.IKeyFrameDataAnalyzer.KeyFrameMeta


     */
  private void writeMetadataTag(double duration, Integer videoCodecId, Integer audioCodecId) throws IOException {
    metaPosition = channel.position();
    IoBuffer buf = IoBuffer.allocate(1024);
    buf.setAutoExpand(true);
    Output out = new Output(buf);
    out.writeString("onMetaData");
    Map<Object, Object> params = new HashMap<Object, Object>(4);
    params.put("duration", duration);
    if (videoCodecId != null) {
      params.put("videocodecid", videoCodecId.intValue());
    }
    if (audioCodecId != null) {
      params.put("audiocodecid", audioCodecId.intValue());
    }
    params.put("canSeekToEnd", true);
    out.writeMap(params, new Serializer());
    buf.flip();

    if (fileMetaSize == 0) {
      fileMetaSize = buf.limit();
    }
View Full Code Here


   *
   * @throws IOException      Any I/O exception
   */
  public void writeHeader() throws IOException {
    //Header fields (in same order than spec, for comparison purposes)
    FLVHeader flvHeader = new FLVHeader();
    flvHeader.setSignature("FLV".getBytes());
    flvHeader.setVersion ((byte)0x01);
    flvHeader.setFlagReserved01 ((byte) 0x0);
    flvHeader.setFlagAudio (true);
    flvHeader.setFlagReserved02 ((byte) 0x0);
    flvHeader.setFlagVideo (true);
    flvHeader.write(out);
   
    //Dump header to output channel
    channel.write(out.buf());
  }
View Full Code Here

    //File file = new File("M:/backup/media/test_clips/ANewHope.mov");
    File file = new File("M:/Movies/Hitman.m4v"); // has pasp atom

    MP4Reader reader = new MP4Reader(file);

    KeyFrameMeta meta = reader.analyzeKeyFrames();
    log.debug("Meta: {}", meta);

    ITag tag = null;
    for (int t = 0; t < 32; t++) {
      tag = reader.readTag();
View Full Code Here

  public void testFLVReaderFileWithPreProcessInfo() {
    File file = new File("target/test-classes/fixtures/131647.flv");
    //File file = new File("target/test-classes/fixtures/test.flv");
    try {
      FLVReader reader = new FLVReader(file, true);
      KeyFrameMeta meta = reader.analyzeKeyFrames();
      log.debug("Meta: {}", meta);
      ITag tag = null;
      for (int t = 0; t < 6; t++) {
        tag = reader.readTag();
        log.debug("Tag: {}", tag);
View Full Code Here

        new File("target/test-classes/fixtures/h264_speex.flv") };
    try {
      for (File file : files) {
        FLVReader reader = new FLVReader(file, true);

        KeyFrameMeta meta = reader.analyzeKeyFrames();
        log.debug("Meta: {}", meta);

        ITag tag = null;
        for (int t = 0; t < 6; t++) {
          tag = reader.readTag();
View Full Code Here

        rwLock.writeLock().lock();
        try {
          if (inMemoryMetaCache.size() >= maxCacheEntry) {
            freeCachingMetadata();
          }
          KeyFrameMeta keyFrameMeta = super.loadKeyFrameMeta(file);
          if (keyFrameMeta != null) {
            inMemoryMetaCache.put(canonicalPath, keyFrameMeta);
          } else {
            return null;
            }
View Full Code Here

        int length = keyFrames.getLength();
        if (keyFrames == null || length == 0)
          // File doesn't contain informations about keyframes
          return null;
   
        KeyFrameMeta result = new KeyFrameMeta();
        result.duration = Long.parseLong(root.getAttribute("duration"));
        result.positions = new long[length];
        result.timestamps = new int[length];
    for (int i=0; i<length; i++) {
      Node node = keyFrames.item(i);
View Full Code Here

    if (writer != null && !this.isClosed) {
      try {
       
        log.debug("#################### -start- closeStream ########################");
        log.debug("#################### -start- closeStream ########################");
        FLVWriter flvWriter = (FLVWriter) writer;
        //log.debug("duration: "+flvWriter.getDuration());
        //log.debug(writer.getClass().getName());
       
        writer.close();
       
View Full Code Here

       
        int timeStamp = streampacket.getTimestamp();
       
        timeStamp -= startTimeStamp;
       
              ITag tag = new Tag();
              tag.setDataType(streampacket.getDataType());
             
              //log.debug("data.limit() :: "+data.limit());
        tag.setBodySize(data.limit());
        tag.setTimestamp(timeStamp);
        tag.setBody(data);
       
       
        if (this.isInterview) {
          if (timeStamp <= 500) {
            //We will cut the first 0.5 seconds
View Full Code Here

    if (fileMetaSize == 0) {
      fileMetaSize = buf.limit();
    }

    ITag onMetaData = new Tag(ITag.TYPE_METADATA, 0, fileMetaSize, buf, 0);
    writeTag(onMetaData);
  }
View Full Code Here

TOP

Related Classes of org.red5.io.flv.IKeyFrameDataAnalyzer.KeyFrameMeta

Copyright © 2018 www.massapicom. 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.