2017-07-29 6 views
1

Ich möchte wissen, wie kann ich schnelle Codierung mit ffmpeg implementieren. ich diesen Code verwendet:Wie man schnelles Kodieren mit ffmpeg einführt?

vcodec libx264 -pix_fmt yuv420p -r 30 -g 60 -b:v 1000k -shortest -acodec libmp3lame -b:a 128k -ar 44100 -threads 0 -preset veryfast 

Aber es nutzt nur 50% CPU (Dual Xeon 2,3 GHz) und 2% (15GB) Ram.

Jetzt möchte ich es eine Menge von CPU und RAM für die schnelle Codierung zu verwenden, wie zu tun? Danke allen

+0

Was ist das Quellvideo für diese Kodierung und woher kommt es? – VTT

+0

Stellen Sie sicher, dass die Ausgabe nicht zeigt 'mit CPU-Fähigkeiten: keine!'. Dies deutet auf ein falsch konfiguriertes x264 und eine langsamere Codierung hin. – LordNeckbeard

Antwort

1

Wie viele Threads verwendet werden, hängt stark von verwendeten Codec, Einstellungen und Hardware ab. Außerdem wird RAM selten mit einer "nur" 1000kBitrate mit einer kleinen Auflösung verwendet. Sie brauchen also vielleicht nie 15 GB RAM.

In Ihrem Fall stellen Sie -threads 0 ein, was "optimale Nutzung" der Hardware bedeutet (wird von einigen Algorithmen automatisch eingestellt). Ich empfehle es nicht, aber Sie können versuchen, -threads 2 für 2 Threads oder -threads 4 für 4 Threads zu setzen. Als Faustregel können Sie einen Thread pro Kern festlegen (wenn Sie 4 Kerne haben, verwenden Sie 4 Threads, 8 Kerne - 8 Threads usw.).

Bitte beachten Sie, dass die simultane Kodierung von Video bei allen Kernen und Audio zu einer niedrigeren Geschwindigkeit führen kann als bei einer anderen "optimalen Nutzung", die von ffmpeg selbst berechnet wird. Probieren Sie es einfach aus ;-)

+0

Danke für die Hilfe, ich habe versucht, auf 'Threads 8' zu erhöhen, aber die Kodierungsgeschwindigkeit hat sich nicht geändert. – prodiskieu

+0

Okay, vielleicht definiert das Preset '' threads'' auch. Versuchen Sie, '' -preset veryfast-threads 2'' einzustellen (notice, '' -preset'' kommt zuerst, also wird '' threads'' überschrieben). –

+0

Vielen Dank, aber die Geschwindigkeit der Codierung ist immer noch konstant. Ich gebe auf: v – prodiskieu

Verwandte Themen