我一直在研究使用C#开发视频流服务的解决方案。就我而言,我需要通过以太网将视频流实现到本地网络。我尝试使用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);
}
但是我找不到任何创建流的解决方案。