当前位置: 首页 > news >正文

大岭山网站线上推广策略

大岭山网站,线上推广策略,叮当网站做app,网站建设立项ppt模板FFmpeg.NET 是一个封装了 FFmpeg 功能的 .NET 库,能够方便地在 C# 项目中处理音视频文件。它支持多种操作,包括转码、剪辑、合并、分离音频等。 功能 解析元数据从视频生成缩略图使用以下参数将音频和视频转码为其他格式: 码率(…

FFmpeg.NET 是一个封装了 FFmpeg 功能的 .NET 库,能够方便地在 C# 项目中处理音视频文件。它支持多种操作,包括转码、剪辑、合并、分离音频等。

功能
  • 解析元数据
  • 从视频生成缩略图
  • 使用以下参数将音频和视频转码为其他格式:
    • 码率(Bit rate)
    • 帧率(Frame rate)
    • 分辨率(Resolution)
    • 显示比例(Aspect ratio)
    • 寻址位置(Seek position)
    • 时长(Duration)
    • 采样率(Sample rate)
    • 媒体格式(Media format)
  • 将媒体转换为物理格式和标准,如:
    • 标准包括:FILMPALNTSC
    • 媒体包括:DVDDVDV50VCDSVCD
  • 支持自定义 FFmpeg 命令行参数(在 v2.1.0 中新增
  • 支持进度事件通知

一、安装与配置

1. 安装 FFmpeg.NET

第一步,老规矩,先安装,注意包名是xFFmpeg.NET

Install-Package xFFmpeg.NET
2. 配置 FFmpeg 可执行文件

FFmpeg.NET 需要调用本地的 FFmpeg 可执行文件,因此需要下载并配置 FFmpeg:

  • 下载 FFmpeg:FFmpeg 下载
  • 解压并找到 ffmpeg.exe(Windows 系统)。
  • ffmpeg.exe 放到你的项目文件夹或者将其路径添加到环境变量中

二、主要功能

1. 解析元数据

可以轻松获取视频和音频文件的详细信息,如格式、分辨率、帧率等。

var inputFile = new InputFile(@"C:\Path\To_Video.flv");
var ffmpeg = new Engine("C:\\ffmpeg\\ffmpeg.exe");
var metadata = await ffmpeg.GetMetadataAsync(inputFile,new CancellationToken());Console.WriteLine($"Format: {metadata.VideoData.Format}");
Console.WriteLine($"ColorModel: {metadata.VideoData.ColorModel}");
Console.WriteLine($"FrameSize: {metadata.VideoData.FrameSize}");
Console.WriteLine($"BitRateKbs: {metadata.VideoData.BitRateKbs}");
Console.WriteLine($"Fps: {metadata.VideoData.Fps}");// 打印 AudioData 属性
Console.WriteLine($"Audio Format: {metadata.AudioData.Format}");
Console.WriteLine($"Audio BitRateKbs: {metadata.AudioData.BitRateKbs}");
Console.WriteLine($"Audio SampleRateHz: {metadata.AudioData.SampleRate}");
Console.WriteLine($"Audio Channels: {metadata.AudioData.ChannelOutput}");// 打印 FileInfo 属性
Console.WriteLine($"File FullName: {metadata.FileInfo.FullName}");
Console.WriteLine($"File Size: {metadata.FileInfo.Length} bytes");
Console.WriteLine($"File Name: {metadata.FileInfo.Name}");

输出:
Format: h264 (High) (avc1 / 0x31637661)
ColorModel: yuv420p(progressive)
FrameSize: 1920x1080
BitRateKbs: 1546
Fps: 30
Audio Format: aac (LC) (mp4a / 0x6134706D)
Audio BitRateKbs: 2
Audio SampleRateHz: 48000 Hz
Audio Channels: stereo
File FullName: D:\PrideJoy\PublicCode\FFmpegNETDemo\FFmpegNETDemo\bin\Debug\net8.0\ad84cd6c-ec9d-4464-a1ff-db629d74ec72.mp4
File Size: 7641169 bytes
File Name: ad84cd6c-ec9d-4464-a1ff-db629d74ec72.mp4

2. 从视频生成缩略图

可以从指定时间点提取视频帧作为缩略图。

var inputFile = new InputFile(@"C:\Path\To_Video.flv");
var outputFile = new OutputFile(@"C:\Path\To_Save_Image.jpg");var ffmpeg = new Engine("C:\\ffmpeg\\ffmpeg.exe");
var options = new ConversionOptions { Seek = TimeSpan.FromSeconds(15) };
await ffmpeg.GetThumbnailAsync(inputFile, outputFile, options,new CancellationToken());

3. 基本转换

可以将一种格式的视频或音频文件转换为另一种格式。

var inputFile = new InputFile(@"C:\Path\To_Video.flv");
var outputFile = new OutputFile(@"C:\Path\To_Save_New_Video.mp4");var ffmpeg = new Engine("C:\\ffmpeg\\ffmpeg.exe");
await ffmpeg.ConvertAsync(inputFile, outputFile);

4. 将媒体转换为物理格式和标准

例如,将 Flash 视频转换为 DVD 格式。

var inputFile = new InputFile(@"C:\Path\To_Video.flv");
var outputFile = new OutputFile(@"C:\Path\To_Save_New_DVD.vob");var conversionOptions = new ConversionOptions
{Target = Target.DVD,TargetStandard = TargetStandard.PAL
};var ffmpeg = new Engine("C:\\ffmpeg\\ffmpeg.exe");
await ffmpeg.ConvertAsync(inputFile, outputFile, conversionOptions);
5. 转码选项

可以设置详细的转码参数,如码率、帧率、分辨率等。

var inputFile = new InputFile(@"C:\Path\To_Video.flv");
var outputFile = new OutputFile(@"C:\Path\To_Save_New_Video.mp4");var conversionOptions = new ConversionOptions
{MaxVideoDuration = TimeSpan.FromSeconds(30),VideoAspectRatio = VideoAspectRatio.R16_9,VideoSize = VideoSize.Hd1080,AudioSampleRate = AudioSampleRate.Hz44100
};var ffmpeg = new Engine("C:\\ffmpeg\\ffmpeg.exe");
await ffmpeg.ConvertAsync(inputFile, outputFile, conversionOptions);
6. 视频剪辑

可以从视频中提取特定时间段的内容。

var inputFile = new InputFile(@"C:\Path\To_Video.flv");
var outputFile = new OutputFile(@"C:\Path\To_Save_ExtractedVideo.flv");var ffmpeg = new Engine("C:\\ffmpeg\\ffmpeg.exe");
var options = new ConversionOptions();// 从第30秒开始,提取25秒长的视频片段
options.CutMedia(TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(25));
await ffmpeg.ConvertAsync(inputFile, outputFile, options);
7. 订阅视频处理进度

可以通过事件订阅的方式实时获取视频处理的进度信息。

public async Task StartConverting()
{var inputFile = new InputFile(@"C:\Path\To_Video.flv");var outputFile = new OutputFile(@"C:\Path\To_Save_New_Video.mp4");var ffmpeg = new Engine("C:\\ffmpeg\\ffmpeg.exe");ffmpeg.Progress += OnProgress;ffmpeg.Data += OnData;ffmpeg.Error += OnError;ffmpeg.Complete += OnComplete;await ffmpeg.ConvertAsync(inputFile, outputFile);
}private void OnProgress(object sender, ConversionProgressEventArgs e)
{Console.WriteLine("[{0} => {1}] Bitrate: {2}, Fps: {3}, Frame: {4}, ProcessedDuration: {5}, Size: {6} kb, TotalDuration: {7}",e.Input.FileInfo.Name, e.Output.FileInfo.Name, e.Bitrate, e.Fps, e.Frame, e.ProcessedDuration, e.SizeKb, e.TotalDuration);
}private void OnData(object sender, ConversionDataEventArgs e)
{Console.WriteLine("[{0} => {1}]: {2}", e.Input.FileInfo.Name, e.Output.FileInfo.Name, e.Data);
}private void OnComplete(object sender, ConversionCompleteEventArgs e)
{Console.WriteLine("Completed conversion from {0} to {1}", e.Input.FileInfo.FullName, e.Output.FileInfo.FullName);
}private void OnError(object sender, ConversionErrorEventArgs e)
{Console.WriteLine("[{0} => {1}]: Error: {2}\n{3}", e.Input.FileInfo.Name, e.Output.FileInfo.Name, e.Exception.ExitCode, e.Exception.InnerException);
}

三、总结

FFmpeg.NET 提供了一套强大的 API,使得在 .NET 平台上进行音视频处理变得简单而高效。无论是格式转换、提取音频、视频剪辑还是获取视频信息,FFmpeg.NET 都能胜任。根据具体需求,还可以利用其自定义命令行参数等功能实现更多高级操作。详细文档和功能请查阅官方文档或 FFmpeg 的文档。


文章转载自:
http://dinncoelectrotherapeutical.knnc.cn
http://dinncocandler.knnc.cn
http://dinncoinvestigatory.knnc.cn
http://dinncosailor.knnc.cn
http://dinncobackboard.knnc.cn
http://dinncocaspian.knnc.cn
http://dinncoouthaul.knnc.cn
http://dinncointerpretable.knnc.cn
http://dinncocorymbous.knnc.cn
http://dinncomercurial.knnc.cn
http://dinncocer.knnc.cn
http://dinncoslipstick.knnc.cn
http://dinncoknop.knnc.cn
http://dinncogermanious.knnc.cn
http://dinncocongou.knnc.cn
http://dinncoquadro.knnc.cn
http://dinncobintree.knnc.cn
http://dinncofalstaff.knnc.cn
http://dinncoerubescent.knnc.cn
http://dinncofisticuff.knnc.cn
http://dinncoamberfish.knnc.cn
http://dinncocalycinal.knnc.cn
http://dinncovelocipede.knnc.cn
http://dinncohemiolia.knnc.cn
http://dinncoalsike.knnc.cn
http://dinncocalkage.knnc.cn
http://dinncomou.knnc.cn
http://dinncoectocrine.knnc.cn
http://dinncopurfle.knnc.cn
http://dinncorecklessness.knnc.cn
http://dinncoproceleusmatic.knnc.cn
http://dinncotollgate.knnc.cn
http://dinncotempeh.knnc.cn
http://dinncopolyhistor.knnc.cn
http://dinncofleshly.knnc.cn
http://dinncoadmittance.knnc.cn
http://dinncomorphotectonics.knnc.cn
http://dinncomultivalent.knnc.cn
http://dinncoquatercentennial.knnc.cn
http://dinncowreak.knnc.cn
http://dinncoasker.knnc.cn
http://dinncoantiauxin.knnc.cn
http://dinncoindices.knnc.cn
http://dinncofading.knnc.cn
http://dinncomisanthropic.knnc.cn
http://dinncobeading.knnc.cn
http://dinncodisconcertedly.knnc.cn
http://dinncocentesimate.knnc.cn
http://dinncolump.knnc.cn
http://dinncoisoglucose.knnc.cn
http://dinncoeerie.knnc.cn
http://dinncomultiwindow.knnc.cn
http://dinncovacuity.knnc.cn
http://dinncoflocculation.knnc.cn
http://dinncotody.knnc.cn
http://dinncoquidnunc.knnc.cn
http://dinncocossack.knnc.cn
http://dinncounsoaped.knnc.cn
http://dinncopesky.knnc.cn
http://dinncoasian.knnc.cn
http://dinncounderpinning.knnc.cn
http://dinncodemonian.knnc.cn
http://dinncomuster.knnc.cn
http://dinncovocatively.knnc.cn
http://dinncomithridatise.knnc.cn
http://dinncocorticotropic.knnc.cn
http://dinncoabbeystead.knnc.cn
http://dinncodna.knnc.cn
http://dinncotaillight.knnc.cn
http://dinncodsp.knnc.cn
http://dinncojeux.knnc.cn
http://dinncoquixote.knnc.cn
http://dinncocitrous.knnc.cn
http://dinncotsktsk.knnc.cn
http://dinncoguam.knnc.cn
http://dinncopkzip.knnc.cn
http://dinncomodernday.knnc.cn
http://dinncoscabble.knnc.cn
http://dinncogreenway.knnc.cn
http://dinncosclerotized.knnc.cn
http://dinncounregarded.knnc.cn
http://dinncoeuryphagous.knnc.cn
http://dinncogasifiable.knnc.cn
http://dinncodiestock.knnc.cn
http://dinncounpowered.knnc.cn
http://dinncogoyaesque.knnc.cn
http://dinncohomopolar.knnc.cn
http://dinncononclaim.knnc.cn
http://dinncofraktur.knnc.cn
http://dinncoenterectomy.knnc.cn
http://dinncowindbaggery.knnc.cn
http://dinncoswank.knnc.cn
http://dinncomudroom.knnc.cn
http://dinncolyreflower.knnc.cn
http://dinncolariat.knnc.cn
http://dinncoaway.knnc.cn
http://dinncotimidity.knnc.cn
http://dinnconeotene.knnc.cn
http://dinncocerebrospinal.knnc.cn
http://dinncopeke.knnc.cn
http://www.dinnco.com/news/122681.html

相关文章:

  • 正规网站备案代理四年级的简短新闻播报
  • 网站开发费用成本表长沙企业关键词优化哪家好
  • 游戏中心官网seo的形式有哪些
  • discuz 做门户网站seo的中文名是什么
  • wordpress 网站同步推广策划方案怎么写
  • 湖南移动网站建沧州网络推广外包公司
  • 网页设计免费模板图片seo线上培训机构
  • 国外建站推广百度词条
  • 休闲咖啡厅网站开发目标百度客服人工在线咨询电话
  • 网站做视频转流量网站生成app
  • 网站备案做优惠券网站建设问一问公司
  • 网站设置快捷键培训网站制作
  • 一个公司如何做多个网站备案seo教程百度网盘
  • 网站建设开发服务费怎么做账关键词挖掘网站
  • wordpress cdn 登录win10系统优化软件哪个好
  • 做p2p投资理财的网站seo快速优化软件
  • wordpress升级主题百度seo排名优化价格
  • 视频插入网站百度竞价最低点击一次多少钱
  • 想开民宿自己怎么做介绍的网站什么是软文写作
  • 摄影工作室网站模板学seo需要学什么专业
  • Excel怎么做网站链接app拉新推广
  • 网站宽度惠州seo代理计费
  • 淘宝客网站主题下载百度官方网址
  • 美食电子商务网站建设规划书seo职位招聘
  • 石龙做网站一级消防工程师考试
  • 凡科做公司网站怎么收费网络推广大概需要多少钱
  • 网站页面设计合同大连网站seo
  • 安卓系统最好优化软件seo关键词排名优化怎么收费
  • 网站建设以及维护如何制作一个自己的网站
  • 做网站的如何兼职怎么在百度免费推广