GOOGLE ADS

Montag, 2. Mai 2022

So streamen Sie aus einem .avi-Container, ohne ihn in H264 oder H265 zu codieren

Ich möchte einen.avi-Container streamen und keinen Codec im Codierungsprozess verwenden, d. h. ich möchte nicht, dass er in H264 oder H265 codiert wird. Laden Sie einfach das Video hoch und codieren Sie es nicht. Ich verwende das Azure SDK Mediendienste in.NET. Die Voreinstellungen, die Azure Media Services zum Beispiel in ihrem SDK hat, verwenden alle h264 oder h265, um ein mp4 zu codieren und zurückzugeben. Ich möchte nur.avi hochladen und sehen, ob es möglich ist, dass es keine Komprimierung anwendet, und dann herunterladen.avi Danke!


Lösung des Problems

Füge hier die Antwort hinzu. Es sieht so aus, als wollten Sie einen verlustfreien oder nahezu verlustfreien Codierungsdurchgang mit CRF (Constant Rate Factor Encoding) durchführen. Derzeit gibt es keine Unterstützung für die Einstellung der CRF-Codierung im Standard-Encoder in AMS, aber es wird daran gearbeitet, in naher Zukunft CRF-Codierungseinstellungen zum SDK hinzuzufügen.

Im Moment sind Sie auf die Einstellungen beschränkt, die in der Transform-Voreinstellung in den H264- oder H265-Ebenen verfügbar sind. Sie können alle verfügbaren Codierungseinstellungen am einfachsten in der REST-API anzeigen

https://github.com/Azure/azure-rest-api-specs/blob/main/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/Encoding.json

Oder wenn Sie sich das Transform-Objekt in Ihrem bevorzugten SDK ansehen. Sehen Sie sich die H264Video- und H264-Layer-Klassen im Modell sowie die entsprechenden H265-Klassen für Einstellungen an, die Sie in Ihrem Code steuern können.

https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.media.models.h264video?view=azure-dotnet

https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.media.models.h264layer?view=azure-dotnet

UPDATE: SDK für.NET ist jetzt mit Exposed RateControlMode für H264-Codierung verfügbar, wodurch zwei neue Ratensteuerungsmodi aktiviert werden - CBR (Constant Bit Rate) und CRF (Constant Rate Factor). Siehe https://www.nuget.org/packages/Microsoft.Azure.Management.Media

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...