zoukankan      html  css  js  c++  java
  • 转载:xuggle学习-IContainer2

     public static void main(String[] args)
      {
        String filename = "c:/0824.flv";
        // Create a Xuggler container object
        IContainer container = IContainer.make();
        
        // Open up the container
        if (container.open(filename, IContainer.Type.READ, null) < 0)
          throw new IllegalArgumentException("could not open file: " + filename);
        
        // query how many streams the call to open found
        int numStreams = container.getNumStreams();
        System.out.printf("file "%s": %d stream%s; ",
            filename,
            numStreams,
            numStreams == 1 ? "" : "s");
        System.out.printf("duration (ms): %s; ", container.getDuration() == Global.NO_PTS ? "unknown" : "" + container.getDuration()/1000);
        System.out.printf("start time (ms): %s; ", container.getStartTime() == Global.NO_PTS ? "unknown" : "" + container.getStartTime()/1000);
        System.out.printf("file size (bytes): %d; ", container.getFileSize());
        System.out.printf("bit rate: %d; ", container.getBitRate());
        System.out.printf("
    ");
    
        // and iterate through the streams to print their meta data
        for(int i = 0; i < numStreams; i++)
        {
          // Find the stream object
          IStream stream = container.getStream(i);
          // Get the pre-configured decoder that can decode this stream;
          IStreamCoder coder = stream.getStreamCoder();
          
          // and now print out the meta data.
          System.out.printf("stream %d: ",    i);
          System.out.printf("type: %s; ",     coder.getCodecType());
          System.out.printf("codec: %s; ",    coder.getCodecID());
          System.out.printf("duration: %s; ", stream.getDuration() == Global.NO_PTS ? "unknown" : "" + stream.getDuration());
          System.out.printf("start time: %s; ", container.getStartTime() == Global.NO_PTS ? "unknown" : "" + stream.getStartTime());
          System.out.printf("language: %s; ", stream.getLanguage() == null ? "unknown" : stream.getLanguage());
          System.out.printf("timebase: %d/%d; ", stream.getTimeBase().getNumerator(), stream.getTimeBase().getDenominator());
          System.out.printf("coder tb: %d/%d; ", coder.getTimeBase().getNumerator(), coder.getTimeBase().getDenominator());
          
          if (coder.getCodecType() == ICodec.Type.CODEC_TYPE_AUDIO)
          {
            System.out.printf("sample rate: %d; ", coder.getSampleRate());
            System.out.printf("channels: %d; ",    coder.getChannels());
            System.out.printf("format: %s",        coder.getSampleFormat());
          } else if (coder.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO)
          {
            System.out.printf(" %d; ",  coder.getWidth());
            System.out.printf("height: %d; ", coder.getHeight());
            System.out.printf("format: %s; ", coder.getPixelType());
            System.out.printf("frame-rate: %5.2f; ", coder.getFrameRate().getDouble());
          }
          System.out.printf("
    ");
        }
        
      }
  • 相关阅读:
    从零开始学 ASP.NET Core 与 EntityFramework Core 介绍
    Spring Cloud Stream
    基于vue实现的三级联动下拉框
    中国十大瓜子品牌排行榜
    春秋战国2020
    spring boot 2 + shiro 实现权限管理
    轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端
    springboot+maven+thymeleaf配置实战demo
    Springboot系列:Springboot与Thymeleaf模板引擎整合基础教程
    idea使用maven install命令打包(springboot),jar运行时出现没有主清单属性
  • 原文地址:https://www.cnblogs.com/jietz0407-com/p/6517996.html
Copyright © 2011-2022 走看看