在数字时代,我们常常怀念老电影的独特魅力 - 颗粒感、微小的抖动、黑白滤镜以及复古的质感。通过Xabe.FFmpeg,我们可以轻松地为现代视频赋予怀旧的老电影风格。
首先,需要安装以下NuGet包:
BashInstall-Package Xabe.FFmpeg
C#public static async Task ApplyOldMovieEffect(string inputVideo, string outputVideo)
{
try
{
// 视频滤镜字符串
string videoFilters =
"format=gray," + // 黑白滤镜
"noise=alls=10:allf=t+u," + // 添加颗粒噪点
"curves=preset=vintage," + // 复古色调曲线
"vignette," + // 简单的暗角效果
"gblur=sigma=1.5"; // 轻微模糊
// 创建转换
var conversion = FFmpeg.Conversions.New()
.AddParameter($"-i \"{inputVideo}\"")
.AddParameter($"-vf \"{videoFilters}\"")
.AddParameter("-c:v libx264") // 使用 H.264 编码
.AddParameter("-preset medium") // 编码预设
.AddParameter("-crf 23") // 质量控制
.AddParameter("-c:a copy") // 保留原音频
.SetOutput(outputVideo);
// 开始转换
await conversion.Start();
Console.WriteLine("视频转换完成");
}
catch (Exception ex)
{
Console.WriteLine($"转换过程中发生错误: {ex.Message}");
}
}
C#static async Task Main(string[] args)
{
// 设置FFmpeg的二进制文件路径(如果是非标准安装)
FFmpeg.SetExecutablesPath("D:\\Software\\ffmpeg-master-latest-win64-gpl-shared\\bin");
await ApplyOldMovieEffect(
inputVideo: @"D:\Video\1.mp4",
outputVideo: @"d:\old_movie_output.mp4"
);
}

format=gray:转换为黑白noise=alls=10:allf=t+u:添加颗粒噪点curves=preset=vintage:应用复古色调vignette:创建边缘暗角效果gblur:轻微模糊处理可以通过调整滤镜参数实现更精细的效果:
通过Xabe.FFmpeg,我们可以轻松地为现代视频赋予怀旧的老电影风格,重现经典电影的独特魅力。
本文作者:技术老小子
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!