Ledrunning Ответов: 1

Как создать потоковое видео для локальной сети с помощью C#


- Привет!
Я работал над решением для разработки сервисов потоковой передачи видео на стороне сервера с использованием C#. В моем случае мне нужно реализовать видеопоток из файла (или другого потока, а не каких-либо устройств) в локальную сеть через Ethernet для клиентов. Я стараюсь использовать AForge.NET Framework и AForge.FFmpeg.пространство имен файлов. Я конвертирую свои изображения в mp4-видео.

Мой код для преобразования изображений в видеофайл

using (var vFWriter = new VideoFileWriter())
        {
            // Create file
            vFWriter.Open("VideoMaker.avi", width, height, framRate, VideoCodec.MPEG4);

            foreach (var imageEntity in lstImg)
            {
                //var bmp = ToBitmap(ImageToByteArray(lstImg));
                var bmp = new Bitmap(imageEntity);
                vFWriter.WriteVideoFrame(bmp);
            }

            Debug.WriteLine($"Images quantity: {lstImg.Count}");
            vFWriter.Close();
        }


Поэтому я думаю, что мне нужно использовать класс VideoFileReader для чтения моего видео.
using (var fileReader = new VideoFileReader())
      {
          fileReader.Open("VideoMaker.avi");

          Debug.WriteLine("width:  " + fileReader.Width);
          Debug.WriteLine("height: " + fileReader.Height);
          Debug.WriteLine("fps:    " + fileReader.FrameRate);
          Debug.WriteLine("codec:  " + fileReader.CodecName);
       }


AForge.NET Framework не предоставляет никакого API для потоковой передачи видео в сеть.
Я думаю о FFmpeg и Gst-sharp(gstreamer), но не могу найти никакого решения для создания потока.
Есть предложения?

Что я уже пробовал:

AForge.NET
using (var fileReader = new VideoFileReader())
      {
          fileReader.Open("VideoMaker.avi");

          Debug.WriteLine("width:  " + fileReader.Width);
          Debug.WriteLine("height: " + fileReader.Height);
          Debug.WriteLine("fps:    " + fileReader.FrameRate);
          Debug.WriteLine("codec:  " + fileReader.CodecName);
       }

1 Ответов

Рейтинг:
1

Ledrunning

- Привет! Ты сэкономил мне кучу времени. Но у меня есть следующий вопрос. Поддерживает ли MS Expression преобразование изображений в видео?

Ledrunning

Как я могу воспроизводить потоковое видео из Microsoft expression и как генерировать широковещательную ссылку?

Gerry Schmitz

Вы его установили? В нем есть все образцы, которые вам нужны; плюс есть SDK.