有人知道适用于FFMPEG的C#绑定集吗?

34

有没有人知道C#的一组绑定,可以直接操作FFMpeg库?我可以直接使用ffmpeg.exe,但很难将其作为单独进程同步/控制。感谢任何帮助。

4个回答

7
我看到了这个库:

ffmpeg-sharp是FFmpeg多媒体套件的包装库,为C#提供易于使用的包装器。


3
我刚刚检查了最新的ffmpeg-sharp版本,但它无法编译。 :-( - Jakub Šturc
1
-1:目前没有任何编译通过。 - casperOne
6
距离我上次着手处理此项目已经有一段时间了(超过3年),我知道这个问题非常旧,但我只是想说我已经对库进行了重大更新,现在它可以编译并且示例可以运行。希望它能够很好地为你的项目或其他可能看到这篇文章的人工作。 - Justin Cherniak
1
@JustinCherniak 谢谢,希望你能继续开发你的封装程序。市面上少有好的替代品。 - D.Rosado
1
同样的问题,示例播放器编译通过,但是一旦我尝试播放标准的mp4或其他任何文件,就会抛出异常。 - timonsku
显示剩余4条评论

5

这个确实可以工作。不幸的是,函数签名没有设置自动封送;预计会有很多 IntPtr 参数。 - Roman Starkov
不幸的是,TAO Framework 项目已经消失了。 - D.Rosado
好吧,“消失”不是正确的词……您仍然可以从SF存档[链接](http://sourceforge.net/projects/taoframework/files/The%20Tao%20Framework/)检索所有版本。 - MrCC

5

将其作为单独的进程进行控制实际上非常容易。如果重定向StandardOut和StandardError,那么您可以订阅Process.OnData*事件并接收命令行输出。然后使用正则表达式轻松解析状态行,并计算出诸如%完成之类的内容。

最困难的是确定要传递什么命令行以获得良好的质量!如果您使用H.264/AAC+,我建议您参考此页面此页面


很好的提示,Greg。链接无法使用,所以可能只需在Google上搜索“ffmpeg-x264-encoding-guide”(不带引号)。 - Avi
很遗憾,没有选项可以使其接受/输出XML或JSON或其他标准化的内容(一些命令行应用程序,例如bzr,现在正在这样做,因为这使得自动化更容易)。此外,FFMPEG有时会重复更新同一行,或插入换行符并非确定性地重复信息...这可能会使自动化变得非常困难。 - BrainSlugs83


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接