Ich habe einige Zeit im Internet nach einem soliden FFmpeg- Wrapper für C # /. NET gesucht . Aber ich habe noch nichts Nützliches gefunden. Ich habe die folgenden drei Projekte gefunden, aber alle scheinen im frühen Alpha-Stadium tot zu sein.
FFmpeg.NET
ffmpeg-scharfes
FFLIB.NET
Meine Frage ist also, ob jemand von einem Wrapper-Projekt weiß, das ausgereifter ist?
Ich suche keine vollständige Transcodierungs-Engine mit Job-Warteschlangen und mehr. Nur ein einfacher Wrapper, damit ich keinen Befehlszeilenaufruf ausführen und dann die Konsolenausgabe analysieren muss, sondern Methodenaufrufe ausführen und Ereignislistener für den Fortschritt verwenden kann.
Und bitte zögern Sie nicht, aktive Projekte zu erwähnen, auch wenn diese noch im Anfangsstadium sind.
Antworten:
Dies ist ein eigener Wrapper: https://github.com/AydinAdn/MediaToolkit
MediaToolkit kann:
Bit rate
,Frame rate
,Resolution / size
,Aspect ratio
,Duration of video
Audio sample rate
DVD
,DV
,DV50
,VCD
,SVCD
Ich aktualisiere es im Laufe der Zeit und Sie können es gerne verwenden. Sie können es auch über die Package Manager-Konsole installieren.
quelle
Nachdem ich mehrere Wrapper ausprobiert hatte, ging ich folgendermaßen vor: FFmpeg erzeugte automatisch unsichere Bindungen für C # /. NET und Mono .
Es handelt sich um eine Reihe von Interop-Bindungen auf niedriger Ebene für jede Klasse im FFmpeg-Namespace. Vielleicht nicht so bequem zu verwenden wie ein tatsächlicher Wrapper, aber IMO ist die beste Lösung für die Arbeit mit FFmpeg in .Net, wenn Sie nicht triviale Dinge tun möchten.
Vorteile:
Nachteile:
Hinweis: In diesem Thread geht es um die Verwendung der FFmpeg-API. In einigen Anwendungsfällen ist es jedoch am besten, einfach die Befehlszeilenschnittstelle von ffmpeg.exe zu verwenden .
quelle
Versuchen Sie dies, ich glaube, ich habe etwas geschrieben, das Sie für einen einfachen Wrapper verwenden können.
http://jasonjano.wordpress.com/2010/02/09/a-simple-c-wrapper-for-ffmpeg/
quelle
Ich habe FFmpeg aus einer ASP.NET / Windows-Dienstanwendung (.NET) verwendet. Am Ende habe ich jedoch die Befehlszeile verwendet, ohne die Konsole zu analysieren. Auf diese Weise hatte ich eine einfache Möglichkeit, Updates von FFmpeg zu steuern und mehrere Konvertierungen auf mehreren Kernen auszuführen.
quelle
Sie können dieses Nuget-Paket verwenden:
Ich weiß, dass Sie nach einem ausgereiften Projekt gefragt haben, aber ich habe kein Projekt gesehen, das meine Erwartungen erfüllt, also habe ich beschlossen, mein eigenes zu machen. Sie können Konvertierungen einfach in die Warteschlange stellen und parallel ausführen, Methoden zum Konvertieren von Medien in verschiedene Formate, Senden Ihrer eigenen Argumente an ffmpeg und Analysieren der Ausgabe von ffmpeg + Ereignis-Listener mit dem aktuellen Fortschritt.
Install-Package Xabe.FFmpeg
Ich versuche, einen benutzerfreundlichen, plattformübergreifenden FFmpeg-Wrapper zu erstellen.
Weitere Informationen hierzu finden Sie unter https://xabe.net/product/xabe_ffmpeg/
Mehr Infos hier: https://xabe.net/product/xabe_ffmpeg/#documentation
Die Konvertierung ist einfach:
Wenn Sie Fortschritte wollen:
quelle
Ich spiele mit einer ffmpeg-Wrapper-Bibliothek namens MediaHandler Pro aus
http://www.mediasoftpro.com
scheint bisher vielversprechend.
quelle
MediaHandler
laichenffmpeg.exe
als Prozess seine Arbeit zu tun, oder ist es eine tatsächliche P / Invoke - Bibliothek?Ich habe das Gleiche recherchiert und ursprünglich MediaToolKit (in einer anderen Antwort erwähnt) verwendet, das sich hervorragend für Conversions eignet, aber jetzt brauche ich etwas Robusteres.
Eine Option, die ausgereift und noch aktiv zu sein scheint, ist: https://github.com/hudl/HudlFfmpeg Über die Sie hier mehr lesen können: http://public.hudl.com/bits/archives/2014/08/15/announcing -hudlffmpeg-ac-Framework-zu-machen-ffmpeg-Interaktion-einfach /
Eine andere Option, die möglicherweise nicht für viele Fälle geeignet ist, besteht darin, die Exe direkt von Ihrem c # -Code aus aufzurufen: http://www.codeproject.com/Articles/774093/Another-FFmpeg-exe-Csharp-Wrapper
quelle
Hier gibt es noch eine einfache: http://ivolo.mit.edu/post/Metamorph-Convert-Audio-Video-to-Any-Format-on-Windows-Linux-and-Mac.aspx
quelle
Los geht's ... Der größte Teil dieses Codes ist 2+ Jahre alt, daher fehlen viele asynchrone Dinge und es wird eine veraltete Namenskonvention verwendet. Läuft seit geraumer Zeit in einer Produktionsumgebung ~ JT
// Für den Prozessläufer suchen Sie nach ProcessRunner von Roger Knapp
quelle
Dieser Wrapper lässt die Methode nicht in eine Schleife fallen. Versuchen Sie das, es hat bei mir funktioniert.
quelle
Ich habe FFPMEG.net von Codeplex gegabelt.
Wird noch aktiv gearbeitet.
https://github.com/spoiledtechie/FFMpeg.Net
Es werden nicht die DLLs verwendet, sondern die Exe. Es ist also tendenziell stabiler.
quelle
Siehe Automatisch generierter FFmpeg-Wrapper für C # /. NET und Mono , ein großartiges Projekt, das als der einzig wahre, vollständige .NET-Wrapper für FFmpeg-Interop da draußen erscheint.
quelle