We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 9 months ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(12)
在尝试了几个包装器之后,我选择了这个: FFmpeg auto generated unsafe bindings for C#/.NET and Mono< /a>.
它是 FFmpeg 命名空间中每个类的一组低级互操作绑定。
也许不像实际的包装器那样方便使用,但在我看来,如果您想做一些重要的事情,它是在 .Net 中使用 FFmpeg 的最佳解决方案。
优点:
缺点:
注意:这个线程是关于使用 FFmpeg API 的,但对于某些用例,最好简单地使用 ffmpeg.exe 的 命令行界面。
After trying several wrappers, I went with this: FFmpeg auto generated unsafe bindings for C#/.NET and Mono.
It's a set of low-level interop bindings for every class in the FFmpeg namespace.
Maybe not as convenient to use as an actual wrapper, but IMO it's the best solution for working with FFmpeg in .Net, if you want to do non-trivial things.
Pros:
Cons:
Note: this thread is about using the FFmpeg API, but for some use cases, it's best to simply use ffmpeg.exe's command line interface.
我在 ASP.NET / Windows 服务 (.NET) 应用程序中使用了 FFmpeg。
但我最终使用了命令行,没有解析控制台。
通过使用这个 - 我有一个简单的方法来控制 - FFmpeg 的更新并在多个内核上运行多个转换。
I have used FFmpeg from a ASP.NET / Windows service (.NET) application.
But I ended up using the command-line, without parsing the console.
By using this - I had an easy way to control - updates of FFmpeg and running multiple conversions on multiple Cores.
试试这个,我想我可能已经写了一些可以用于简单包装的东西。
http://jasonjano.wordpress.com/ 2010/02/09/a-simple-c-wrapper-for-ffmpeg/
Try this, I think I might have written something you can use for a simple wrapper.
http://jasonjano.wordpress.com/2010/02/09/a-simple-c-wrapper-for-ffmpeg/
您可以使用这个 nuget 包:
我知道您询问了成熟项目,但我还没有看到任何项目满足我的期望,所以我决定制作自己的项目。
您可以轻松地将转换排队并并行运行,将媒体转换为不同格式的方法,将您自己的参数发送到 ffmpeg 并解析 ffmpeg + 事件侦听器的输出以及当前进度。
Install-Package Xabe.FFmpeg
我正在尝试制作易于使用的跨平台 FFmpeg 包装器。
相关信息
您可以在 https://xabe.net/product/xabe_ffmpeg/ 找到更多 此处的信息:https://xabe.net/product/xabe_ffmpeg/#documentation
转换为简单:
如果你想要进步:
You can use this nuget package:
I know that you asked about mature project, but i haven't seen any project fullfilling my expectaction so i decided to make my own.
You can easily queue conversions and run it parallel, methods to convert media to different formats, send your own arguments to ffmpeg and parse output from ffmpeg + event listener with current progress.
Install-Package Xabe.FFmpeg
I'm trying to make easy to use, cross-platform FFmpeg wrapper.
You can find more information about this at https://xabe.net/product/xabe_ffmpeg/
More info here: https://xabe.net/product/xabe_ffmpeg/#documentation
Conversion is simple:
If you want progress:
我正在玩一个名为 MediaHandler Pro 的 ffmpeg 包装库,来自
http://www.mediasoftpro.com
似乎很有前途迄今为止。
I'm playing around with an ffmpeg wrapper library called MediaHandler Pro from
http://www.mediasoftpro.com
seems promising so far.
我一直在研究同样的事情,最初使用 MediaToolKit (在另一个答案中提到),它对于转换非常有用,但现在我需要更强大的东西。
一种看起来成熟且仍然活跃的选择是:
https://github.com/hudl/HudlFfmpeg
您可以在这里阅读更多相关信息:
http://public.hudl.com/bits/archives/2014/08/15/announcing-hudlffmpeg-ac-framework-to-make-ffmpeg-interaction-simple/
另一种选择,可能不适合很多人情况下,是直接从您的 C# 代码调用 exe:
http://www.codeproject.com/Articles/774093/Another -FFmpeg-exe-Csharp-Wrapper
I have been researching the same thing and originally used MediaToolKit (mentioned in another answer) which worked great for conversions but now I need something a bit more robust.
One option that seems mature and still active is:
https://github.com/hudl/HudlFfmpeg
Which you can read more about here:
http://public.hudl.com/bits/archives/2014/08/15/announcing-hudlffmpeg-a-c-framework-to-make-ffmpeg-interaction-simple/
Another option, which may not suit many cases, is to invoke the exe directly from your c# code:
http://www.codeproject.com/Articles/774093/Another-FFmpeg-exe-Csharp-Wrapper
这里还有另一个简单的: http://ivolo.mit.edu/post/Metamorph-Convert-Audio-Video-to-Any-Format-on-Windows-Linux-and-Mac.aspx
There is another simple one here: http://ivolo.mit.edu/post/Metamorph-Convert-Audio-Video-to-Any-Format-on-Windows-Linux-and-Mac.aspx
开始吧...大部分代码都有 2 年多的历史了,因此缺少很多异步内容,并且使用了过时的命名约定。在生产环境运行相当长一段时间
~ JT
// 有关流程运行程序的内容,请查找 Roger Knapp 的 ProcessRunner
Here ya go... Most of this code is 2+ years old so missing a lot of asynchronous stuff, and using an outdated naming convention. Running in a production enviornment for quite some time
~ JT
// for the process runner stuff look up ProcessRunner by Roger Knapp
这个包装器不会让方法陷入循环。
试试这个,它对我有用。
This wrapper will not let the method fall into a loop.
Try this,it worked for me.
请参阅适用于 C#/.NET 和 Mono 的自动生成的 FFmpeg 包装器,这是一个很棒的项目,看起来像唯一真正、完整的 FFmpeg 互操作 .NET 包装器。
See Auto Generated FFmpeg wrapper for C#/.NET and Mono, an awesome project which seems like the only true, complete .NET wrapper for FFmpeg interop out there.
我从 codeplex 分叉了 FFPMEG.net。
仍在积极开展工作。
https://github.com/spoiledtechie/FFMpeg.Net
它不使用 dll,而是exe。所以它往往会更加稳定。
I forked FFPMEG.net from codeplex.
Still actively being worked on.
https://github.com/spoiledtechie/FFMpeg.Net
It doesn't use the dlls, but rather the exe. So it tends to be more stable.
这是我自己的包装: https://github.com/AydinAdn/MediaToolkit
MediaToolkit 可以:
比特率
、帧速率
、分辨率/大小
、宽高比
、视频时长
音频采样率
DVD
、DV
、DV50
、VCD
、SVCD
我正在不断更新它,欢迎您使用它,您也可以使用包管理器控制台安装它。
This is a wrapper of my own: https://github.com/AydinAdn/MediaToolkit
MediaToolkit can:
Bit rate
,Frame rate
,Resolution / size
,Aspect ratio
,Duration of video
Audio sample rate
DVD
,DV
,DV50
,VCD
,SVCD
I'm updating it as I go along, and you're welcome to use it, you can also install it using the Package Manager Console.