Skip to main content

Microsoft Silverlight

Make smooth streaming files with the Encoder SDKRSS Feed

(0)

Joeri Pansaerts
Joeri Pa...

Member

Member

7 points

24 Posts

Make smooth streaming files with the Encoder SDK

Could somebody tell me what I doing wrong ?

I don't get the 4 .ismv files. I only get 1 .wmv file

 

 

			using (Job job = new Job())
			{
				mediaItem.VideoProfile.VideoCodecPreset = VideoCodecPreset.AdaptiveStreaming;
				mediaItem.VideoProfile.DefaultFileOutputMode = FileOutputMode.IisSmoothStreamingMultipleFile;
				mediaItem.VideoProfile.FrameRate = CameraFrameRate == -1 ? mediaItem.OriginalFrameRate : CameraFrameRate;
				mediaItem.VideoProfile.KeyFrameSpacing = CameraFrameRate;
				mediaItem.VideoProfile.BufferWindow = CameraBufferWindow * 1000;
				mediaItem.VideoProfile.MbrItems.Add(new VideoProfileMbrDelta
					{
						Width = CameraStream1Width,
						Height = CameraStream1Height,
						Bitrate = CameraStream1Bitrate * 1000
					});
				mediaItem.VideoProfile.MbrItems.Add(new VideoProfileMbrDelta
					{
						Width = CameraStream2Width,
						Height = CameraStream2Height,
						Bitrate = CameraStream2Bitrate * 1000
					});
				mediaItem.VideoProfile.MbrItems.Add(new VideoProfileMbrDelta
					{
						Width = CameraStream3Width,
						Height = CameraStream3Height,
						Bitrate = CameraStream3Bitrate * 1000
					});
				mediaItem.VideoProfile.MbrItems.Add(new VideoProfileMbrDelta
					{
						Width = CameraStream4Width,
						Height = CameraStream4Height,
						Bitrate = CameraStream4Bitrate * 1000
					});
				job.MediaItems.Add(mediaItem);
				job.OutputDirectory = string.Format("{0}\\Session7\\Web\\", path);

				job.EncodeProgress += new EventHandler(OnProgress);

				job.Encode();
			}
 

Kind Regards,

Joeri Pansaerts.

From Bruges, Belgium :)

Joeri Pansaerts
Joeri Pa...

Member

Member

7 points

24 Posts

Re: Make smooth streaming files with the Encoder SDK

I did something else with my code, and I get following error :

I Bad video profile:  Invalid video profile settings for VC-1 Advanced profile

And that's my code.

 

			using (Job job = new Job())
			{
				VideoProfile videoprofile = new VideoProfile();
				videoprofile.AdaptiveGop = false;
				videoprofile.AdaptiveQuantization = 16;
				videoprofile.BFrameNumber = 1;
				videoprofile.Bitrate = (CameraStream1Bitrate * 1000) + 100;
				videoprofile.BufferWindow = CameraBufferWindow * 1000;
				videoprofile.ClosedGop = true;
				videoprofile.Codec = VideoCodec.VC1;
				videoprofile.CodecProfile = VideoCodecProfile.Advanced;
				videoprofile.DefaultFileOutputMode = FileOutputMode.IisSmoothStreamingMultipleFile;
				videoprofile.DenoiseFilter = true;
				videoprofile.DQuant = DQuant.IBPFrames;
				videoprofile.FrameRate = CameraFrameRate == -1 ? mediaItem.OriginalFrameRate : CameraFrameRate;
				videoprofile.Height = CameraStream1Height;
				videoprofile.InLoopFilter = true;
				videoprofile.InsertSkippedFrames = true;
				videoprofile.KeyFrameSpacing = CameraFrameRate;
				videoprofile.MaxBitrate = 5000 * 1000;
				videoprofile.MaximumQP = 30;
				videoprofile.MbrItems.Add(new VideoProfileMbrDelta
				{
					Width = CameraStream1Width,
					Height = CameraStream1Height,
					Bitrate = CameraStream1Bitrate * 1000
				});
				videoprofile.MbrItems.Add(new VideoProfileMbrDelta
				{
					Width = CameraStream2Width,
					Height = CameraStream2Height,
					Bitrate = CameraStream2Bitrate * 1000
				});
				videoprofile.MbrItems.Add(new VideoProfileMbrDelta
				{
					Width = CameraStream3Width,
					Height = CameraStream3Height,
					Bitrate = CameraStream3Bitrate * 1000
				});
				videoprofile.MbrItems.Add(new VideoProfileMbrDelta
				{
					Width = CameraStream4Width,
					Height = CameraStream4Height,
					Bitrate = CameraStream4Bitrate * 1000
				});
				videoprofile.Mode = VideoMode.Cbr;
				videoprofile.MotionChromaSearch = MotionChromaSearch.MacroblockAdaptiveWithTrueChroma;
				videoprofile.MotionMatchMethod = MotionMatchMethod.MacroblockAdaptiveSADHadamard;
				videoprofile.MotionSearchRange = MotionSearchRange.MacroblockAdaptive;
				videoprofile.NoiseEdgeRemovalFilter = true;
				videoprofile.OverlapFilter = true;
				videoprofile.SceneChangeDetection = true;
				videoprofile.VC1OutputMode = VC1OutputMode.ElementaryStreamSequenceHeader;
				videoprofile.VideoCodecPreset = VideoCodecPreset.AdaptiveStreaming;
				videoprofile.Width = CameraStream1Width;
				mediaItem.VideoProfile = videoprofile;

				mediaItem.TwoPassEncoding = false;
				mediaItem.AspectRatioMode = AspectRatioMode.Source;
				mediaItem.DeinterlaceMode = DeinterlaceMode.Off;

				job.MediaItems.Add(mediaItem);
				job.OutputDirectory = string.Format("{0}\\Session7\\Web\\", path);

				job.EncodeProgress += new EventHandler(OnProgress);

				job.Encode();
			}
 

Kind Regards,

Joeri Pansaerts.

From Bruges, Belgium :)
  • Unanswered Question
  • Answered Question
  • Announcement
Microsoft Communities