com.groupdocs.metadata.core

Interfaces

Classes

Exceptions

com.groupdocs.metadata.core

Class AsfRootPackage

  • All Implemented Interfaces:
    IXmp, Iterable<MetadataProperty>


    public class AsfRootPackage
    extends RootMetadataPackage
    implements IXmp

    Represents the root package allowing working with metadata in an ASF video.

    This code sample demonstrates how to read native ASF metadata.

    try (Metadata metadata = new Metadata(Constants.InputAsf)) {
         AsfRootPackage root = metadata.getRootPackageGeneric();
         AsfPackage asfPackage = root.getAsfPackage();
         // Display basic properties
         System.out.println(String.format("Creation date: %s", asfPackage.getCreationDate()));
         System.out.println(String.format("File id: %s", asfPackage.getFileID()));
         System.out.println(String.format("Flags: %s", asfPackage.getFlags()));
         // Display Asf Codec Information
         for (AsfCodec codecInfo : asfPackage.getCodecInformation()) {
             System.out.println(String.format("Codec type: %s", codecInfo.getCodecType()));
             System.out.println(String.format("Description: %s", codecInfo.getDescription()));
             System.out.println(String.format("Codec information: %s", codecInfo.getInformation()));
             System.out.println(codecInfo.getName());
         }
         // Display metadata descriptors
         for (AsfBaseDescriptor descriptor : asfPackage.getMetadataDescriptors()) {
             System.out.println(String.format("Name: %s", descriptor.getName()));
             System.out.println(String.format("Value: %s", descriptor.getValue()));
             System.out.println(String.format("Content type: %s", descriptor.getAsfContentType()));
             if (descriptor instanceof AsfMetadataDescriptor) {
                 AsfMetadataDescriptor metadataDescriptor = (AsfMetadataDescriptor) descriptor;
                 System.out.println(String.format("Language: %s", metadataDescriptor.getLanguage()));
                 System.out.println(String.format("Stream number: %s", metadataDescriptor.getStreamNumber()));
                 System.out.println(String.format("Original name: %s", metadataDescriptor.getOriginalName()));
             }
         }
         //Display the base stream properties
         for (AsfBaseStreamProperty property : asfPackage.getStreamProperties()) {
             System.out.println(String.format("Alternate bitrate: %s", property.getAlternateBitrate()));
             System.out.println(String.format("Average bitrate: %s", property.getAverageBitrate()));
             System.out.println(String.format("Average time per frame: %s", property.getAverageTimePerFrame()));
             System.out.println(String.format("Bitrate: %s", property.getBitrate()));
             System.out.println(String.format("Stream end time: %s", property.getEndTime()));
             System.out.println(String.format("Stream flags: %s", property.getFlags()));
             System.out.println(String.format("Stream language: %s", property.getLanguage()));
             System.out.println(String.format("Stream start time: %s", property.getStartTime()));
             System.out.println(String.format("Stream number: %s", property.getStreamNumber()));
             System.out.println(String.format("Stream type: %s", property.getStreamType()));
             //Display the audio stream properties
             if (property instanceof AsfAudioStreamProperty) {
                 AsfAudioStreamProperty audioStreamProperty = (AsfAudioStreamProperty) property;
                 System.out.println(String.format("Audio bits per sample: %s", audioStreamProperty.getBitsPerSample()));
                 System.out.println(String.format("Audio channels: %s", audioStreamProperty.getChannels()));
                 System.out.println(String.format("Audio format tag: %s", audioStreamProperty.getFormatTag()));
                 System.out.println(String.format("Audio samples per second: %s", audioStreamProperty.getSamplesPerSecond()));
             }
             //Display the video stream properties
             if (property instanceof AsfVideoStreamProperty) {
                 AsfVideoStreamProperty videoStreamProperty = (AsfVideoStreamProperty) property;
                 System.out.println(String.format("Video bits per pixels: %s", videoStreamProperty.getBitsPerPixels()));
                 System.out.println(String.format("Compression: %s", videoStreamProperty.getCompression()));
                 System.out.println(String.format("Image height: %s", videoStreamProperty.getImageHeight()));
                 System.out.println(String.format("Image width: %s", videoStreamProperty.getImageWidth()));
             }
         }
     }
     
    • Method Detail

      • getAsfPackage

        public final AsfPackage getAsfPackage()

        Gets the ASF metadata package.

        Returns:
        The ASF metadata package.
      • getXmpPackage

        public final XmpPacketWrapper getXmpPackage()

        Gets the XMP metadata package.

        Specified by:
        getXmpPackage in interface IXmp
        Returns:
        The XMP metadata package.
      • setXmpPackage

        public final void setXmpPackage(XmpPacketWrapper value)

        Sets the XMP metadata package.

        Specified by:
        setXmpPackage in interface IXmp
        Parameters:
        value - The XMP metadata package.