Пример #1
0
        //<SnippetGetMediaEncodingProfile>
        public MediaEncodingProfile CreateProfileForTranscoder(VideoStreamDescriptor videoStream1, VideoStreamDescriptor videoStream2, AudioStreamDescriptor audioStream, TimedMetadataStreamDescriptor timedMetadataStream)
        {
            ContainerEncodingProperties container = new ContainerEncodingProperties()
            {
                Subtype = MediaEncodingSubtypes.Mpeg4
            };

            MediaEncodingProfile profile = new MediaEncodingProfile()
            {
                Container = container
            };


            VideoStreamDescriptor encodingVideoStream1 = videoStream1.Copy();

            encodingVideoStream1.EncodingProperties.Subtype = MediaEncodingSubtypes.H264;
            encodingVideoStream1.Label = videoStream1.Name;

            VideoStreamDescriptor encodingVideoStream2 = videoStream2.Copy();

            encodingVideoStream2.EncodingProperties.Subtype = MediaEncodingSubtypes.H264;
            encodingVideoStream2.Label = videoStream2.Name;

            AudioStreamDescriptor encodingAudioStream = audioStream.Copy();

            encodingAudioStream.EncodingProperties.Subtype = MediaEncodingSubtypes.Ac3;
            encodingAudioStream.Label = audioStream.Name;

            TimedMetadataStreamDescriptor encodingTimedMetadataStream = timedMetadataStream.Copy();

            profile.SetTimedMetadataTracks(new TimedMetadataStreamDescriptor[] { encodingTimedMetadataStream });
            profile.SetVideoTracks(new VideoStreamDescriptor[] { encodingVideoStream1, encodingVideoStream2 });
            profile.SetAudioTracks(new AudioStreamDescriptor[] { encodingAudioStream });
            return(profile);
        }
Пример #2
0
        public TimedMetadataStreamDescriptor CreateStreamDescriptorForGpmdEncodingSubtype()
        {
            //<SnippetGetStreamDescriptor>
            TimedMetadataEncodingProperties encodingProperties = new TimedMetadataEncodingProperties
            {
                Subtype = "{67706D64-BF10-48B4-BC18-593DC1DB950F}"
            };

            byte[] streamDescriptionData = GetStreamDescriptionDataForGpmdEncodingSubtype();
            encodingProperties.SetFormatUserData(streamDescriptionData);

            TimedMetadataStreamDescriptor descriptor = new TimedMetadataStreamDescriptor(encodingProperties)
            {
                Name  = "GPS Info",
                Label = "GPS Info"
            };

            //</SnippetGetStreamDescriptor>
            return(descriptor);
        }
Пример #3
0
        public TimedMetadataStreamDescriptor CreateStreamDescriptorForGpmdEncodingSubtype()
        {
            //<SnippetGetStreamDescriptor>
            TimedMetadataEncodingProperties encodingProperties = new TimedMetadataEncodingProperties
            {
                Subtype = "{67706D64-BF10-48B4-BC18-593DC1DB950F}"
            };

            // The FormatUserData is set to information that describes the format found in the 'gpmd' file.
            // If the 'gpmd' box is empty, there is no need to specify FormatUserData.
            byte[] streamDescriptionData = GetStreamDescriptionDataForGpmdEncodingSubtype();
            encodingProperties.SetFormatUserData(streamDescriptionData);

            TimedMetadataStreamDescriptor descriptor = new TimedMetadataStreamDescriptor(encodingProperties)
            {
                Name  = "GPS Info",
                Label = "GPS Info"
            };

            //</SnippetGetStreamDescriptor>
            return(descriptor);
        }