Do czego służy -crf w ffmpeg


20

Podczas konwersji tablicy plików JPEG do pliku wideo (format ogg) korzystałem z opcji -crf. Jakie są prawidłowe zakresy dla -crf? Obecnie używam 23.

Nie mogę znaleźć zakładki, którą przeczytałem, aby wiedzieć, co robi ta flaga, i spędziłem trochę czasu w Google.

Oto argumenty, których używam w tej chwili:

-f image2 -r 10 -i " + _sourcePath + @"\img%05d.jpg -crf 18  -y -r 10 " + _destPath + "\\" + _filename + ".ogg"

1
Nic nie wiem o tym poleceniu, ale jest bardzo dobrze udokumentowane tutaj: ffmpeg.org/ffmpeg.html .
Ben Plont,

1
Czy używasz libx264 (dla wideo H.264) lub libvpx (dla wideo VP8)? Pokaż swoją komendę ffmpeg i pełne dane wyjściowe konsoli.
llogan

Cześć, przepraszam za opóźnienie. Musiałem wyprowadzać psa. Poprawię moje pytanie. Dzięki
Andrew Simpson,

1
Pytanie brzmi więc, czy chcesz zachować to pytanie raczej ogólne dla CRF, czy też masz konkretny problem, z którym potrzebujesz pomocy. W tym drugim przypadku musielibyśmy uzyskać pełne wyjście wiersza poleceń (tj. Wszystko od „wersji ffmpeg…” do ostatniego bitu) i rzeczywiste polecenie, którego używasz, ale niestety, istniejące odpowiedzi byłyby bezużyteczne. Jeśli masz konkretny problem, możesz zadać nowe pytanie.
slhck

@slhck Cześć, masz absolutną rację. Muszę nauczyć się być bardziej szczegółowym i wszechstronnym w przyszłości. Ponieważ była to Twoja odpowiedź, bardziej odpowiadała moim potrzebom niż wszystkim innym, ale wszystkie inne były również pouczające. Będę stąpać ostrożniej w przyszłości :) Dziękuję za poświęcony czas. Bardzo mile widziane.
Andrew Simpson,

Odpowiedzi:


20

Odnosi się to do współczynnika stałej szybkości ( crf).

Jak zauważyli inni (Dzięki wszystkim), wartości będą zależeć od używanego enkodera.

Dla x264 twój poprawny zakres to 0-51:

Zakres skali kwantyzatora wynosi 0-51: gdzie 0 jest bezstratne, 23 jest domyślne, a 51 jest najgorsze z możliwych. Niższa wartość jest wyższa jakość i subiektywnie jest rozsądny zakres 18-28. Rozważ 18 jako wizualnie bezstratną lub prawie taką: powinna wyglądać tak samo lub prawie tak samo jak wejście, ale technicznie nie jest bezstratna.

Dla vpx zakres jest 4-63(jak odpowiedział @ sebastian-hoffner ):

Domyślnie wartość CRF może wynosić od 4–63, a 10 jest dobrym punktem wyjścia. Niższe wartości oznaczają lepszą jakość.

W obu przypadkach niższe jest lepsze . Z mojego doświadczenia widzę x264 znacznie częściej.

Bezwstydne łącze Slhck (mod SU) wygląda na dobre informacje.


Zakres dla VPX wynosi od 0-63, a nie 4-63, zalecana stawka to 15-30
Suhayb

3

Flaga CRF zapewnia zmienną przepływność dla stałej jakości, jeśli dobrze rozumiem stronę połączoną poniżej. Domyślny zakres wynosi od 4 do 63, ale można go jeszcze bardziej ulepszyć.

Więcej informacji można znaleźć na https://trac.ffmpeg.org/wiki/vpxEncodingGuide .


Trochę mnie to zagubiło, oboje prowadzimy do tej samej strony, a każda strona mówi coś nieco innego (to znaczy zakresy). W każdym razie oba wydają mi się uzasadnione, więc jestem tym trochę zaskoczony.
nerdwaller

cześć, dzięki za to. Chcę poprawić jakość strumienia wideo, aby zrobić to przy niskim CRF?
Andrew Simpson,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.