Я работал над решением для разработки сервисов потокового видео с использованием C#. В моем случае мне нужно реализовать видеопоток в локальную сеть через Ethernet. Я пытаюсь использовать AForge.NET Framework и пространство имен AForge.FFmpeg.dll. Я конвертирую свои изображения в видео в формате 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);
}
Но я не могу найти никакого решения для создания потока.
На лету. Все файлы будут храниться в базе данных или на диске.





Вы имеете в виду, что хотите перекодировать "на лету" или просто хотите обслуживать видео так же, как YouTube, Vimeo и т. д.?