我正在尝试为视频添加文字。到目前为止,我一直在使用Accord framework,这就是我目前所拥有的:
using (var vFReader = new VideoFileReader())
{
vFReader.Open(@"\video.mp4");
using (var vFWriter = new VideoFileWriter())
{
vFWriter.Open(@"\video2.mp4", vFReader.Width, vFReader.Height, vFReader.FrameRate, VideoCodec.MPEG4, vFReader.BitRate);
for (var i = 0; i < vFReader.FrameCount; i++)
{
var image = vFReader.ReadVideoFrame();
var graphics = Graphics.FromImage(image);
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.DrawString("Custom text", font, Brushes.White, new Point(vFReader.Width / 2, 25), format);
graphics.Flush();
vFWriter.WriteVideoFrame(image, (uint)i);
}
vFWriter.Flush();
}
}
这在技术上有效,但与原始视频相比,产生的视频质量非常差。我做错了什么?
这是质量上的差异。
原创视频:
已编辑的视频: