Wyjaśnienie melodii x264

41

Uruchomienie tego polecenia:

ffmpeg -i xr.mp4 -tune ya zu.mp4

ujawnia możliwe wartości strojenia dla x264 i z kolei FFmpeg:

[libx264 @ 0000000002167100] Możliwe melodie: animacja filmu ziarno stillimage psnr ssim
                                             zerolatency kodu szybkiego

Jednak nie mogłem znaleźć referencji wyjaśniającej, co faktycznie robią te wartości.

Steven Penny
źródło

Odpowiedzi:

63

Oto, co robią tryby:

  • film - przeznaczony do treści filmowych o wysokiej przepływności / wysokiej jakości. Zastosowano tutaj niższe odblokowanie.
  • animation- przeznaczony do kreskówek itp., W których odblokowywanie jest wzmocnione w celu skompensowania większych, płaskich obszarów. Wykorzystano więcej ramek referencyjnych.
  • grain - należy to wykorzystać w przypadku materiału, który jest już ziarnisty. Tutaj ziarno nie będzie tak filtrowane.
  • stillimage - jak sama nazwa wskazuje, optymalizuje kodowanie zdjęć poprzez obniżenie filtra odblokowującego.
  • psnroraz ssim- są to tryby debugowania, które optymalizują tylko dobre wartości PSNR i SSIM. Lepsze wskaźniki niekoniecznie oznaczają jednak lepszą jakość.
  • fastdecode - wyłącza CABAC i wbudowany filtr odblokowujący, aby umożliwić szybsze dekodowanie na urządzeniach o niższej mocy obliczeniowej.
  • zerolatency - optymalizacja do szybkiego kodowania i przesyłania strumieniowego z niskim opóźnieniem

Możesz zobaczyć szczegółowe opcje zastosowane do każdej melodii za pomocą x264 --fullhelp:

--tune <string>         Tune the settings for a particular type of source
                          or situation
                              Overridden by user settings.
                              Multiple tunings are separated by commas.
                              Only one psy tuning can be used at a time.
                              - film (psy tuning):
                                --deblock -1:-1 --psy-rd <unset>:0.15
                              - animation (psy tuning):
                                --bframes {+2} --deblock 1:1
                                --psy-rd 0.4:<unset> --aq-strength 0.6
                                --ref {Double if >1 else 1}
                              - grain (psy tuning):
                                --aq-strength 0.5 --no-dct-decimate
                                --deadzone-inter 6 --deadzone-intra 6
                                --deblock -2:-2 --ipratio 1.1 
                                --pbratio 1.1 --psy-rd <unset>:0.25
                                --qcomp 0.8
                              - stillimage (psy tuning):
                                --aq-strength 1.2 --deblock -3:-3
                                --psy-rd 2.0:0.7
                              - psnr (psy tuning):
                                --aq-mode 0 --no-psy
                              - ssim (psy tuning):
                                --aq-mode 2 --no-psy
                              - fastdecode:
                                --no-cabac --no-deblock --no-weightb
                                --weightp 0
                              - zerolatency:
                                --bframes 0 --force-cfr --no-mbtree
                                --sync-lookahead 0 --sliced-threads
                                --rc-lookahead 0
Llogan
źródło
1
Miałem wrażenie, że - film z melodią jest ziarnisty, ale z tego, co mówisz, jest synonimem wysokiej jakości wkładu; w zasadzie, jeśli moje źródła są zawsze świetnej jakości, to powinienem zawsze używać tej melodii. Następnie należy użyć ziarna kukurydzy do takich rzeczy, jak bardzo stary materiał filmowy. Czy to jest poprawne?
Florin Andrei
6
@Florin Oba są dla źródeł wysokiej jakości, ale --tune filmbędą filtrować niektóre ziarna i --tune grainzachowają więcej. AIUI tego ostatniego należy używać tylko wtedy, gdy ziarno jest ważną częścią grafiki, która nadal może być zauważalna przy ustawieniach celu.
Tobu
7
--tune filmdotyczy treści na żywo: wszystko nakręcone kamerą, w przeciwieństwie do animacji cel lub generowanego komputerowo tekstu / wykresów. Nadaje się nawet do nieco realistycznej animacji 3D, więc nie pozwól, aby „film” Cię pochłonął. Działa w przypadku źródeł ziarnistych i nie ziarnistych oraz równoważy zatrzymywanie ziarna z ogólną jakością bitrate, podczas gdy --tune grainbędzie starał się zachować ziarno za wszelką cenę; przydatne, jeśli z jakiegoś powodu konieczne jest utrzymanie ziarna. --tune filmrobi nie tylko pomoc dla dużej przepływności (rzeczywiście, stroje wydają się mieć więcej wpływu na niższym bitrate w ogóle).
thomasrutter
8
Uwaga: „nieruchomy obraz” jest przeznaczony dla osób piszących narzędzia, które używają x264 do kodowania pojedynczej klatki nieruchomej, jako alternatywy dla JPEG lub JPEG2000. Może to jednak być przydatne dla osób nagrywających wideo, które jest zasadniczo pokazem slajdów ze zdjęć, na których statyczny obraz jest wyświetlany niezmieniony dla wielu klatek przed przejściem do następnego obrazu, o ile dosłownie jest to statyczny pokaz slajdów bez przejść. Chodzi o to, że „nieruchomy obraz” polega na tym, że poprawia on pewne optymalizacje psy, które poprawiłyby pojedyncze klatki kosztem szkodliwego ruchu.
thomasrutter