向视频添加文字

时间:2018-04-11 07:36:36

标签: c# video-encoding video-editing

我正在尝试为视频添加文字。到目前为止,我一直在使用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();
    }
}

这在技术上有效,但与原始视频相比,产生的视频质量非常差。我做错了什么?

这是质量上的差异。

原创视频:

Original video

已编辑的视频:

enter image description here

0 个答案:

没有答案