最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何在C# 中使用 FFmpeg.NET

 更新時(shí)間:2021年03月11日 09:18:29   作者:hellodev  
這篇文章主要介紹了如何在C# 中使用 FFmpeg.NET,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下

FFmpeg 是一套可以用來(lái)記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。采用 LGPL 或 GPL 許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼庫(kù) libavcodec,為了保證高可移植性和編解碼質(zhì)量,libavcodec 里很多 code 都是從頭開發(fā)的。

這篇文章主要介紹如何在 C# 中使用 FFmpeg。

在項(xiàng)目中使用包管理器控制臺(tái)安裝 nuget 包:

PM> Install-Package xFFmpeg.NET

1、從視頻中抓取縮略圖

var inputFile = new MediaFile (@"C:\Path\To_Video.flv");
var outputFile = new MediaFile (@"C:\Path\To_Save_Image.jpg");
 
var ffmpeg = new Engine("C:\\ffmpeg\\ffmpeg.exe");
// 保存位于視頻第 15 秒的幀。
var options = new ConversionOptions { Seek = TimeSpan.FromSeconds(15) };
await ffmpeg.GetThumbnailAsync(inputFile, outputFile, options);

2、獲取視頻元數(shù)據(jù)

var inputFile = new MediaFile (@"C:\Path\To_Video.flv");
 
var ffmpeg = new Engine("C:\\ffmpeg\\ffmpeg.exe");
var metadata = await ffmpeg.GetMetadataAsync(inputFile);
 
Console.WriteLine(metadata.Duration);

3、基本轉(zhuǎn)換

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

4、將 Flash 視頻轉(zhuǎn)換為 DVD

var inputFile = new MediaFile (@"C:\Path\To_Video.flv");
var outputFile = new MediaFile (@"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、將 FLV 轉(zhuǎn)換為 MP4

var inputFile = new MediaFile (@"C:\Path\To_Video.flv");
var outputFile = new MediaFile (@"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 MediaFile (@"C:\Path\To_Video.flv");
var outputFile = new MediaFile (@"C:\Path\To_Save_ExtractedVideo.flv");
 
var ffmpeg = new Engine("C:\\ffmpeg\\ffmpeg.exe");
var options = new ConversionOptions();
 
options.CutMedia(TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(25));
await ffmpeg.ConvertAsync(inputFile, outputFile, options);

以上就是 FFmpeg.NET 類庫(kù)才常用操作。

項(xiàng)目地址:https://github.com/cmxl/FFmpeg.NET

以上就是如何在C# 中使用 FFmpeg.NET的詳細(xì)內(nèi)容,更多關(guān)于C# 使用FFmpeg.NET的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#中的GDI+圖像編程詳解

    C#中的GDI+圖像編程詳解

    本文詳細(xì)講解了C#中的GDI+圖像編程,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • C#中字符串分割的多種方式

    C#中字符串分割的多種方式

    在C#編程語(yǔ)言中,字符串處理是日常開發(fā)中不可或缺的一部分,字符串分割是處理文本數(shù)據(jù)時(shí)常用的操作,它允許我們將一個(gè)長(zhǎng)字符串分解成多個(gè)子字符串,本文給大家介紹了C#中字符串分割的多種方式,需要的朋友可以參考下
    2025-01-01
  • C#實(shí)現(xiàn)拼圖小游戲

    C#實(shí)現(xiàn)拼圖小游戲

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)拼圖小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C#基于Socket的TCP通信實(shí)現(xiàn)聊天室案例

    C#基于Socket的TCP通信實(shí)現(xiàn)聊天室案例

    這篇文章主要為大家詳細(xì)介紹了C#基于Socket的TCP通信實(shí)現(xiàn)聊天室案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#編程中常見數(shù)據(jù)結(jié)構(gòu)的比較(Unity3D游戲開發(fā))

    C#編程中常見數(shù)據(jù)結(jié)構(gòu)的比較(Unity3D游戲開發(fā))

    在本篇內(nèi)容里我們給大家整理了關(guān)于Unity3D游戲開發(fā)中C#編程中常見數(shù)據(jù)結(jié)構(gòu)的比較相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們參考下。
    2019-05-05
  • C#對(duì)稱加密(AES加密)每次生成的結(jié)果都不同的實(shí)現(xiàn)思路和代碼實(shí)例

    C#對(duì)稱加密(AES加密)每次生成的結(jié)果都不同的實(shí)現(xiàn)思路和代碼實(shí)例

    這篇文章主要介紹了C#對(duì)稱加密(AES加密)每次生成的結(jié)果都不同的實(shí)現(xiàn)思路和代碼實(shí)例,每次解密時(shí)從密文中截取前16位,這就是實(shí)現(xiàn)隨機(jī)的奧秘,本文同時(shí)給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-07-07
  • c#的時(shí)間日期操作示例分享(c#獲取當(dāng)前日期)

    c#的時(shí)間日期操作示例分享(c#獲取當(dāng)前日期)

    這篇文章主要介紹了c#的時(shí)間日期操作示例,在給定時(shí)間戳返回指定的時(shí)間格式和獲取當(dāng)前時(shí)間方法,需要的朋友可以參考下
    2014-03-03
  • Quartz.Net實(shí)現(xiàn)原理及使用方法詳解

    Quartz.Net實(shí)現(xiàn)原理及使用方法詳解

    這篇文章主要介紹了Quartz.Net實(shí)現(xiàn)原理及使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • C#異步調(diào)用示例詳解

    C#異步調(diào)用示例詳解

    這篇文章主要為大家詳細(xì)介紹了C#異步調(diào)用的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • C#中List用法介紹詳解

    C#中List用法介紹詳解

    本文詳細(xì)講解了C#中List用法介紹,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12

最新評(píng)論

海兴县| 凤阳县| 扬中市| 淳化县| 青阳县| 无锡市| 新源县| 赞皇县| 西青区| 山丹县| 蛟河市| 石嘴山市| 远安县| 金乡县| 榕江县| 腾冲县| 太白县| 施秉县| 潢川县| 南汇区| 雅安市| 来安县| 个旧市| 阳春市| 广宗县| 永修县| 墨玉县| 康平县| 天门市| 海南省| 东山县| 临武县| 宁强县| 黄山市| 都江堰市| 河间市| 安阳县| 榆林市| 郎溪县| 秭归县| 越西县|