Error processing SSI file
LEADTOOLS Multimedia (Leadtools.MediaStreaming assembly)

Show in webframe

CreateLiveStream Method






Creates a new live stream object. The new LiveStream.
Syntax
public LiveStream CreateLiveStream()
'Declaration
 
Public Function CreateLiveStream() As LiveStream
'Usage
 
Dim instance As LiveStreams
Dim value As LiveStream
 
value = instance.CreateLiveStream()
public:
LiveStream^ CreateLiveStream(); 

Return Value

The new LiveStream.
Remarks
You must call AddLiveStream or SetLiveStream in order to commit the LiveStream to the collection.
Example
Copy Code  
Imports Leadtools
         Imports Leadtools.MediaStreaming

         Public _server As Server = Nothing
         Public _result As Boolean = False
         Private devconfig As LiveStreamDevConfig

         Public Class DesktopWin
         Implements System.Windows.Forms.IWin32Window
         Public Sub New()
         End Sub

         Public ReadOnly Property Handle() As IntPtr Implements IWin32Window.Handle
            Get
               Return System.IntPtr.Zero
            End Get
         End Property
         End Class

         Public Sub CreateOrReplaceLiveStreamExample()
         Try
            Dim StreamCount As Integer = 0
            Dim StreamIndex As Integer = 0
            Dim strPath As String = "Live/Stream1" ' live stream's path to find
            ' video device's name on my system (LEAD RTSP Source)
            Dim strVideoDevice As String = "@device:sw:{083863F1-70DE-11D0-BD40-00A0C911CE86}\{E2B7DE48-38C5-11D5-91F6-00104BDB8FF9}"
            ' audio device's name on my system (Microphone (HD Pro Webcam C920))
            Dim strAudioDevice As String = "@device:cm:{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave:{9D2FBF73-D543-44DA-8846-AE780EE65484}"

            ' create an instance of the server object
            _server = New Leadtools.MediaStreaming.Server()

            ' retrieve a copy of the Live Streams
            Dim Streams As LiveStreams = _server.GetLiveStreams()

            Dim stream As LiveStream = Nothing

            ' search for existing stream with same path

            StreamCount = Streams.Count

            StreamIndex = 0
            Do While StreamIndex < StreamCount
              stream = Streams.GetLiveStream(StreamIndex)

              If stream.Path = strPath Then
                Exit Do
              End If

              stream.Dispose()
              stream = Nothing
               StreamIndex += 1
            Loop
            If stream Is Nothing Then
              ' create a new stream
              StreamIndex = -1
              stream = Streams.CreateLiveStream()
            End If

            ' set the stream path
            stream.Path = strPath

            ' setup to recompress, change this to true if you want to use the device built-in compression
            stream.UseDeviceEncoding = False

            ' select video device
            Dim videodevices As Leadtools.MediaStreaming.Devices
            videodevices = stream.VideoDevices
            Dim index As Integer = -1
            index = videodevices.IndexOf(strVideoDevice)
            videodevices.Selection = index

            ' select audio device
            Dim audiodevices As Leadtools.MediaStreaming.Devices
            audiodevices = stream.AudioDevices
            index = -1
            index = audiodevices.IndexOf(strAudioDevice)
#If True Then
            audiodevices.Selection = index
#Else
            ' alternative method of selection
            If index >= 0 Then
              Dim device As Leadtools.MediaStreaming.Device
              device = audiodevices(index)
              device.Selected = True
            Else
              audiodevices.Selection = -1
            End If
#End If

            ' lock the devices so we can edit their properties
            devconfig = stream.DeviceConfig
            devconfig.LockDevices()

            Dim win As DesktopWin = New DesktopWin()

            ' show the main video device property page, if available
            If devconfig.HasDialog(LiveStreamDlg.VideoDevice) Then
              devconfig.ShowDialog(LiveStreamDlg.VideoDevice, win)
            End If

            ' show the main audio device property page, if available
            If devconfig.HasDialog(LiveStreamDlg.AudioDevice) Then
              devconfig.ShowDialog(LiveStreamDlg.AudioDevice, win)
            End If

            ' setup output video
            If devconfig.IsVideoEncoded Then ' the video is already encoded, the video output settings are ignored
              stream.UseVideoInputSize = True

              ' if UseVideoInputSize is true, then the width and height are ignored
              stream.VideoWidth = 320

              stream.VideoHeight = 240

              stream.UseVideoInputFrameRate = True

              ' if UseVideoInputFrameRate is true, then the frame rate is ignored
              stream.VideoFrameRate = 29.97

              stream.VideoBitRate = 700000

              stream.QSVAcceleration = True

              stream.CUDAAcceleration = True
            End If

            ' setup output audio
            If devconfig.IsAudioEncoded Then ' the audio is already encoded, the audio output settings are ignored
              Dim nCount As Integer = 0

              Dim audiotypes As Leadtools.MediaStreaming.AudioTypes = Nothing

              audiotypes = stream.AudioTypes

              nCount = audiotypes.Count

              index = 0
              Do While index < nCount
                Dim audiotype As Leadtools.MediaStreaming.AudioType = audiotypes(index)

                If audiotype.Channels = 2 AndAlso audiotype.BitRate = 192000 AndAlso audiotype.SampleRate = 44100 Then
#If True Then
                  audiotype.Selected = True
#Else
                  ' alternative method of selection
                  audiotypes.Selection = index
#End If
                  Exit Do
                End If
                 index += 1
              Loop
            End If

            ' setup output fragment size
            stream.MinimumFragmentDuration = 2.0

            ' add or replace stream
            If StreamIndex < 0 Then
              Streams.AddLiveStream(stream)
            Else
              Streams.SetLiveStream(StreamIndex, stream)
            End If

            _server.SetLiveStreams(Streams)

            If Not devconfig Is Nothing Then
              devconfig.UnlockDevices()
            End If

            _result = True
         Catch e1 As Exception
            If Not devconfig Is Nothing Then
              devconfig.UnlockDevices()
            End If

            _result = False
         End Try
         End Sub
using Leadtools;
         using Leadtools.MediaStreaming;

         public Server _server = null;
         public bool _result = false;
         LiveStreamDevConfig devconfig;

         public class DesktopWin : System.Windows.Forms.IWin32Window
         {
            public DesktopWin()
            {
            }

            public IntPtr Handle
            {
               get { return IntPtr.Zero; }
            }
         }

         public void CreateOrReplaceLiveStreamExample()
         {
            try
            {
               int StreamIndex = 0;
               string strPath = "Live/Stream1"; // live stream's path to find
               // video device's name on my system (LEAD RTSP Source)
               string strVideoDevice = "@device:sw:{083863F1-70DE-11D0-BD40-00A0C911CE86}\\{E2B7DE48-38C5-11D5-91F6-00104BDB8FF9}";
               // audio device's name on my system (Microphone (HD Pro Webcam C920))
               string strAudioDevice = "@device:cm:{33D9A762-90C8-11D0-BD43-00A0C911CE86}\\wave:{9D2FBF73-D543-44DA-8846-AE780EE65484}";

               // create an instance of the server object
               _server = new Leadtools.MediaStreaming.Server();

               // retrieve a copy of the Live Streams
               LiveStreams Streams = _server.GetLiveStreams();

               LiveStream stream = null;

               // search for existing stream with same path

               for (StreamIndex = 0; StreamIndex < Streams.Count; StreamIndex++)
               {
                  stream = Streams.GetLiveStream(StreamIndex);

                  if (stream.Path == strPath)
                     break;

                  stream.Dispose();
                  stream = null;
               }
               if (stream == null)
               {
                  // create a new stream
                  StreamIndex = -1;
                  stream = Streams.CreateLiveStream();
               }

               // set the stream path
               stream.Path = strPath;

               // setup to recompress, change this to true if you want to use the device built-in compression
               stream.UseDeviceEncoding = false;

               // select video device
               Leadtools.MediaStreaming.Devices videodevices;
               videodevices = stream.VideoDevices;
               int index = -1;
               index = videodevices.IndexOf(strVideoDevice);
               videodevices.Selection = index;

               // select audio device
               Leadtools.MediaStreaming.Devices audiodevices;
               audiodevices = stream.AudioDevices;
               index = -1;
               index = audiodevices.IndexOf(strAudioDevice);
#if true
               audiodevices.Selection = index;
#else
               // alternative method of selection
               if(index >= 0)
               {
                  Leadtools.MediaStreaming.Device device;
                  device = audiodevices.[index];
                  device.Selected = true;
               }
               else
               {
                  audiodevices.Selection = -1;
               }
#endif

               // lock the devices so we can edit their properties
               devconfig = stream.DeviceConfig;
               devconfig.LockDevices();

               DesktopWin win = new DesktopWin();

               // show the main video device property page, if available
               if (devconfig.HasDialog(LiveStreamDlg.VideoDevice))
               {
                  devconfig.ShowDialog(LiveStreamDlg.VideoDevice, win);
               }

               // show the main audio device property page, if available
               if (devconfig.HasDialog(LiveStreamDlg.AudioDevice))
               {
                  devconfig.ShowDialog(LiveStreamDlg.AudioDevice, win);
               }

               // setup output video
               if (devconfig.IsVideoEncoded) // the video is already encoded, the video output settings are ignored
               {
                  stream.UseVideoInputSize = true;

                  // if UseVideoInputSize is true, then the width and height are ignored
                  stream.VideoWidth = 320;

                  stream.VideoHeight = 240;

                  stream.UseVideoInputFrameRate = true;

                  // if UseVideoInputFrameRate is true, then the frame rate is ignored
                  stream.VideoFrameRate = 29.97;

                  stream.VideoBitRate = 700000;

                  stream.QSVAcceleration = true;

                  stream.CUDAAcceleration = true;
               }

               // setup output audio
               if (devconfig.IsAudioEncoded) // the audio is already encoded, the audio output settings are ignored
               {
                  int nCount = 0;

                  Leadtools.MediaStreaming.AudioTypes audiotypes = null;

                  audiotypes = stream.AudioTypes;

                  nCount = audiotypes.Count;

                  for (index = 0; index < nCount; index++)
                  {
                     Leadtools.MediaStreaming.AudioType audiotype = audiotypes[index];

                     if (audiotype.Channels == 2 && audiotype.BitRate == 192000 && audiotype.SampleRate == 44100)
                     {
#if true
                        audiotype.Selected = true;
#else
                        // alternative method of selection
                        audiotypes.Selection = index;
#endif
                        break;
                     }
                  }
               }

               // setup output fragment size
               stream.MinimumFragmentDuration = 2.0;

               // add or replace stream
               if (StreamIndex < 0)
                  Streams.AddLiveStream(stream);
               else
                  Streams.SetLiveStream(StreamIndex, stream);

               _server.SetLiveStreams(Streams);

               if (devconfig != null)
                  devconfig.UnlockDevices();

               _result = true;
            }
            catch (Exception)
            {
               if (devconfig != null)
                  devconfig.UnlockDevices();

               _result = false;
            }
         }
Requirements

Target Platforms

See Also

Reference

LiveStreams Class
LiveStreams Members

Error processing SSI file
Leadtools.MediaStreaming requires a Multimedia or Multimedia Suite license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features