14
Januar
2021
Konvertieren Sie Videos mit variabler Bildrate (VFR) in Videos mit konstanter Bildrate (CFR)
10:11

Konvertieren Sie Videos mit variabler Bildrate (VFR) in Videos mit konstanter Bildrate (CFR)

14 Januar 2021 10:11

Die meisten Smartphone-Videokameras zeichnen Videos mit einer konstanten Bildrate von 30 oder 60 Bildern pro Sekunde auf.
In der GCam-App lässt sich die Bildrate bei Nachtaufnahmen jedoch automatisch einstellen. Bei unzureichendem Licht sinkt sie auf 14 Bilder und darunter, das Bild wird jedoch heller. Aufnahmen mit variabler Bildrate (VFR) müssen mit einer konstanten Bildrate (CFR) von 30 Bildern pro Sekunde neu kodiert werden.

Wir erhalten Informationen über das Video

Bevor Sie mit dem Transkodieren beginnen, sollten Sie die Dateiparameter mit der Videoauflösung, der Bildrate und den Schallcodierungsparametern, herausfinden.

Lassen Sie uns das Programm installieren:

sudo apt-get install mediainfo mediaInfo-Gui

Schlussfolgerung auf dem Bildschirm der Parameter des Quellvideos:

mediainfo in.mP4

Wo in.mp4 ist die Quelldatei.

Unter anderem wird Folgendes angezeigt:
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 32 s 455 ms
Bit rate : 9 603 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 19.350 FPS
Minimum frame rate : 14.238 FPS
Maximum frame rate : 33.174 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive

In diesem Video beträgt die durchschnittliche Bitrate 19,350 fps (Veränderungsgrenzen von 14-33 fps).

Sviing einer Videoänderung in der Bildrate (FPS) unter Linux

Traditionell ist FFMPEG für die Videoverarbeitung unter Linux verantwortlich.

So rufen Sie FFMPEG an, um die im Artikel gelesene Bildrate zu ändern:
https: // trac.ffmpeg.org/wiki/ChangingFrameRaTe

SVICING Das Video wird vom Befehl aufgerufen:

ffmpeg -i in.mp4 -filter:v fps=fps=30 out.mP4

Wo in.mp4 ist die Quelldatei
Out.mp4 - Ergebnisdatei.

Die Geschwindigkeit des Wiederaufbaus mit einer Auflösung von 1920x1080 am Celeron 2600 -Prozessor betrug 0,25 Bilder pro Sekunde.
Das resultierende Video hat eine konstante Bitrate- und Bildrate:

Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 32 s 467 ms
Bit rate : 6 122 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 FPS

Visuell hat sich beim Spielen des Videos nichts geändert - es gibt auch kleine Idioten, die durch die niedrige Bildrate im Quellvideo verursacht werden. Die Häufigkeit des Personals ist jedoch konstant geworden, was für die Verwendung von Videos oder Hosting beim Hosting geeignet ist, z. B. YouTube oder Rutube.

Qualitätsanpassung in der Codierungsstufe mit dem QP -Parameter

Es ist leicht zu bemerken, dass nach der Transkodierung die Durchflussrate abnahm (sie betrug 9603 kb/s, wurde 6.122 kb/s).
Es ist möglich, den Komprimierungsgrad bei der Transkodierung durch Einrichten von Quantum Qu zu reduzieren oder zu erhöhen.antizer parameter.

Zum Beispiel:
-QP 23

Vollständiger Befehl zum Wiederherstellen von Videos (Parameter -QP 23 kann unterschiedlich sein):

ffmpeg -i in.mp4 -filter:v fps=fps=30 -qp 23 out.mP4

Die Abhängigkeit des Bitrate -Testvideos 1920x1080 mit einer progressiven (p) Umkehrung von 30 Bildern pro Sekunde aus dem Parameter qp ist in der Tabelle angezeigt.
Je größer das QP, desto stärker die Kompression und niedrigere Qualität.

Die Werte der endgültigen Bitrate werden durch experimentell für ein Video von 974 Frames erhalten. Der Rahmen war anwesend (Nachtaufnahmen des Autos aus nächster Nähe).

Tabelle 1.

-qp bisschenrate
21 10,5 mb/s
22 9 461kb/S
23 8 682kb/S
24 7 720kb/S
25 7 101kb/S
26 6 352kb/S
27 5 588kb/S
28 4 987kb/S
29 4 453kb/S
30 3 966kb/S
31 3 546kb/S
32 3 156kb/S
33 2 824kb/S
34 2 502kb/S
35 2 236kb/S

Die in den Artikeln empfohlene Bitrate liegt im Bereich von 5-8 Mbit / s (der Wert des Parameters „Quanten“ liegt innerhalb von 28-23 ).

Ich habe mir die resultierenden Dateien angesehen - in der Tat gibt es keine Kompressionsartefakte bei 8 Mbit / s (qp = 23 ... 24). Anzeichen einer Komprimierung treten mit einem Strom von weniger als 4 Mbit / s auf (qp = 30 oder mehr)!

Videoqualitätsanpassung mit dem Parameter „Konstante Qualität“ CRF

Ich habe diese Methode im Artikel gelesen
https: // slhck.info/video/2017/02/24/crf-guide.htmL.

Die optimalen Werte CRF liegen ebenfalls im Bereich von 18 bis 25, wo 18 die beste sind, 28 ist die schlechteste Qualität.

Tabelle 2.

-CRF bisschenrate
18 10,4 mb/s
19 9 404kb/S
20 8 482kb/S
21 7 628kb/S
22 6 844kb/S
23 6 122kb/S
24 5 465kb/S
25 4 867kb/S
26 4 329kb/S
27 3 848kb/S
28 3 417kb/S
29 3 032kb/S
30 2 693kb/S
31 2 390kb/S

Die Qualität des Videos in CRF = 23 ist ziemlich gut. Bei CRF = 26 sind die "Quadrate" mit einer schnellen Bewegung der Kamera spürbar.

Einschränkende maximale Durchflussrate einschränken

Damit das Video im Fluss gespielt werden kann, muss die Geschwindigkeit des Bitflusses so einschränken, dass die Bitrate bei den schwierigsten Szenen außerhalb der Grenzen nicht „herausfliegen“, und die Grenzen des Getriebekanals.

Die obere Geschwindigkeitsbegrenzung während der Codierung ist normalerweise durch die folgende Option begrenzt:

-b:v 10000k
Wobei 10.000k die maximale Kanalgeschwindigkeit in Kilobit/Sekunde ist. Die Grenze kann beliebig sein, jedoch höher als die durchschnittliche Bitrate für einen bestimmten CRF (siehe die zweite Tabelle oben). Dieser Parameter ähnelt in IP -Netzwerken - die maximale Geschwindigkeit ist begrenzt.

Welche Methode zur Anpassung der Qualität von Video, QP oder CRF, wählen Sie?

Wenn Sie den QP -Parameter verwenden, ist der Komprimierungsgrad für dynamische und statische Szenen gleich. Dies bedeutet, dass für statisches Personal die Komprimierung übermäßig sein kann und für die Dynamik (auf die das Auge/das Gehirn fast nicht reagiert) - unzureichend.

Der CRF -Parameter funktioniert in entgegengesetzter Weise - bestimmt die durchschnittliche "subjektive" Qualität für alle Rahmen des Videos. Für dynamische Szenen, zum Beispiel, schnelle Tiere, vorbeifahrende Maschinen, werden die scharfen Übergänge verschwommen (Bitrate sparen), aber langsamere Bewegungen sehen besser aus als bei konstantem QP.

Zusatz. Video mit gleichzeitiger Trimmen von Anfang und Ende pünktlicher Markierungen neu

Manchmal muss man den Anfang und das Ende des Videos schneiden. Wenn Sie beispielsweise einen Unfall haben und das Video mit dem Unfallmoment aus dem Registrar transkodieren müssen.

Teamlinie:

ffmpeg -i FILE211027-172845.MOV -qp 35 -filter:v fps=fps=30 -ss 00:00:00 -to 00:00:44 out3.mp4

Wo ist der Anfang (Video starten), enden (Ende des Videos). -QP -Komprimierung (mit -QP 35 Fluss ca. 2,2 mbit/s -maximum -Komprimierung).

Schlussfolgerungen:

  1. Mit dem FFMPEG -Programm können Sie das Video von der variablen Frequenz des Personals in Konstant transkodieren.
  2. Mit der Verwaltung des Komprimierungsgrades (und der Dateigröße) können Sie das Video -Bitrate für QP- oder CRF -Parameter flexibel einstellen.
  3. In Schüssen mit unvorhersehbarem Verkehr ist es besser, CRF = 20 oder 21 zu verwenden, wobei die maximale Bitrate auf Höhe von 10 Mbit / s einschränkt.

Quellen:
https://trac.ffmpeg.org/wiki/ChangingFrameRaTe
Empfohlen Google Bitrate - 8 Мбит/с для FullHD.
https://ru.wikipedia.org/wiki/Constant_Rate_Factor
https://stackoverflow.com/questions/18444194/Spitzenreiter ...



Verwandte Veröffentlichungen