YouTube stale podnosi jakość moich filmów

2

Mam problem z kodowaniem wideo do YouTube. Treść nie jest zbyt „przyjazna dla kompresji” (to materiał do gry Battlefield 4), ale jestem w 100% pozytywny, a wyniki mogą być lepsze. Niektóre linki:

Polecenie, którego używam do wywołania kodera:

ffmpeg.exe -i %INPUT%.avs -c:v libx264 -profile high -g 15 -keyint_min 15 -coder 1 ^
-preset slow -bf 2 -subq 9 -crf 18 -c:a libvorbis -pix_fmt yuv420p %OUTPUT%.mp4

Próbowałem wielu różnych konfiguracji:

Ale żadne z nich nie sprawia, że ​​sprawy wyglądają inaczej. Nawet surowy, niezmodyfikowany materiał nagrany za pomocą ShadowPlay wygląda źle: http://youtu.be/bLR-QavrpGU . Może powinienem wypróbować jakiś inny koder? Lub użyj innego kontenera? Wybrałem swoje opcje zgodnie z oficjalnym przewodnikiem YouTube: https://support.google.com/youtube/answer/1722171

Nie mam teraz pomysłów. Każda podpowiedź byłaby bardzo ceniona.

P.S. Zdaję sobie sprawę, że ramka, do której się odwołuję, to koszmar każdego enkodera, ale dlaczego jest TAK ZŁY? I dlaczego ma to wpływ na cały obraz, a nie tylko na najtrudniejsze jego części?

EDYTOWAĆ : Próbowałem kodowania ze stałą szybkością transmisji (dwuprzebiegową):

Album ze zrzutami ekranu został zaktualizowany. 50m wydaje się być trochę lepsze niż wszystkie inne (ostrzejsze krawędzie, rozpoznawalne elementy HUD, takie jak czerwona ikona czołgu na drzewie po lewej stronie jeepa; oczywiście z wyjątkiem przeskalowanego 1440p, ale jest poza konkurencją) , ale to jeszcze nie jest bliskie temu, co miało być.

Olegs Jeremejevs
źródło

Odpowiedzi:

2

Niewiele możesz zrobić. Jeśli oryginalny plik wygląda źle w YouTube, a następnie ponowne kodowanie nie poprawi sytuacji. Zakładam, że ponownie kodujesz swój „surowy, niezmodyfikowany materiał nagrany za pomocą ShadowPlay”. Zawsze zaleca się przesyłanie oryginalnej treści, jeśli to możliwe, chyba że jest to plik otyły i niepraktyczne jest przesyłanie, ponieważ YouTube zamierza ponownie kodować wszystko, co podasz. Moim zdaniem wersja twojego pierwszego linku w jakości HD nie wygląda mi strasznie, a porównywanie zrzutów ekranu nie jest dokładnie „sprawiedliwe”, ponieważ ludzkie oko nie ogląda takich filmów.

Jeśli chodzi o twoje polecenie:

  • Wygląda przyzwoicie dla ponownego kodowania: -crf jest tutaj najważniejszym czynnikiem. Możesz spróbować nieco niższej wartości. Niektórzy twierdzą, że widzą różnicę.

  • Osobiście pominę -g 15 -keyint_min 15 -coder 1 -bf 2 -subq 9 ponieważ presety radzą sobie z większością tych opcji i są generalnie mądrzejsze ode mnie.

  • -pix_fmt yuv420p prawdopodobnie nie jest potrzebny w YouTube, ale zwróć uwagę, że brzydki odtwarzacz (QuickTime, itp.) może nie dekodować właściwie niczego poza przestrzenią kolorów YUV (planarną) z podpróbkowaniem chroma 4: 2: 0.

  • Koder automatycznie wybierze profil, więc nie musisz go używać -profile (co powinno być -profile:v ponieważ istnieje -profile dla niektórych koderów audio). Ta opcja jest zazwyczaj używana, jeśli twój dekoder lub urządzenie nie obsługuje bardziej zaawansowanych profili.

  • Możesz ewentualnie kopia strumieniowa dźwięk ( -c:a copy ) zamiast go ponownie kodować, ale zgaduję, że dźwięk wejściowy był nieskompresowany.

  • Zobaczenie pełnego wyjścia konsoli ffmpeg pomogłoby w dalszych sugestiach i zapobiegło zgadywaniu.

  • Nie jest to pomocna sugestia, ale inna strona może zapewnić lepszą jakość.

Zobacz także:

llogan
źródło
1
Filmy też nie są dla mnie złe. Nie doskonały, ale więcej niż akceptowalny. Zdecydowanie sugerowałbym, aby nie wykonywać kodowania ze stałą szybkością transmisji bitów, ponieważ będzie to bolało części, w których jest dużo akcji. Być może dodanie filtra wyostrzającego może pomóc - ale w porównaniu z klipem drugiego faceta, „surowy niezmodyfikowany materiał” wygląda naprawdę ładnie.
slhck
W porządku, teraz, kiedy ponownie oglądałem niektóre z filmów, wydają się być w porządku w ruchu (choć muszę nienawidzić, jak cały tekst staje się zamazany w mniej niż kilkunastu klatkach z każdej klatki kluczowej). Wiem, że preferowany jest crf, ale wypróbowałem każdą możliwą opcję. Nadmierne / nadmiarowe parametry zostały wprowadzone z powodu poważnej desperacji, a nie z zamiaru :) Należy ustawić pewną przestrzeń kolorów, więc dlaczego nie zalecana. I masz rację co do dźwięku. W końcu myślę, że pójdę z crf 18, nie muszę tracić więcej czasu na to :) Dzięki za pomoc.
Olegs Jeremejevs
No dalej, dlaczego edytować, to była mała zabawa poza tematem ty tam byłeś :)
Olegs Jeremejevs
1
@OlegsJeremejevs To teraz „jajko wielkanocne”.
llogan
3

Problem polega na tym, że YouTube ogranicza szybkość transmisji wideo 1080p do 6 Mb / s, ponieważ przeważająca większość użytkowników utrzymuje średnią prędkość pobierania 5,8 Mb / s.

(Większość ich użytkowników jest zbyt głupich, by obrzucać się ustawieniami, a nawet wiedzieć, co może powodować ich opóźnienie, więc dokonali zmiany (w okresie lipiec-sierpień uważam), aby naprawić narzekanie mas.)

Proponuję naprawić, ale w tej chwili nie ma. W ciągu ostatnich 3 miesięcy wprowadzono wiele opłacalnych poprawek, ale wszystkie zostały usunięte, ponieważ YouTube dostosowuje swoją infrastrukturę. Oto coś, co możesz wypróbować, ale YMMV i YT mogły go już wyłączyć.

  1. Nagrywaj w rozdzielczości 1920x1080
  2. Koduj na 2048x1152, używając najniższej przepływności, z którą możesz sobie poradzić.
  3. Przekazać plik.
  4. Powiedz swoim użytkownikom, aby grali w „oryginał” lub 1440p, niezależnie od tego, jaka opcja jest dla nich dostępna.

Wyniki.

Jeśli użytkownicy zostawiają wideo w 1080p, MOŻE być dla nich nieco bardziej niewyraźny niż poprzednie filmy 1080p. YT pobiera próbkowanie w dół do 2048x1152 i obniża przepływność do 6Mbps. Jeśli strumienie są przesyłane z pełną rozdzielczością, nadal będą próbkowane w dół, chociaż na własnych maszynach, i zostaną im przydzielone DUŻO wyższe bitrate. Wyższy bitrate jest zarówno dobry jak i zły. Pozwala im uzyskać obraz o wyższej jakości, ale większość ludzi będzie musiała wstępnie załadować połowę filmu, aby zapobiec wstrzymaniu ładowania. Odtwarzanie w desce rozdzielczej ograniczy je również do 30 sekund wstępnego ładowania, jeśli nie wyłączyły go ręcznie, więc będą tego potrzebować.

Ian
źródło
Dzieki za sugestie. Miałem ten sam pomysł na temat 1440p, jak wspomniano w edycji. Oto wynikowy film . IMO, wygląda lepiej, nawet w 1080p (szkoda, że ​​ShadowPlay nie obsługuje jeszcze wyższych rozdzielczości, ponieważ gram na 1600p).
Olegs Jeremejevs
-1
-movflags faststart B:\output.mp4

Spróbuj dodać to do końcowego wyniku przed przesłaniem.

Zachowaj klatki HD na 24 lub 25 i jakość poniżej 4, spróbuj dopasować specyfikacje wideo poszukiwany przez YouTube przed przesłaniem. NTSC jest jak 24000/1001. PAL ma wartość 25,0. Prawdopodobnie trzeba zapłacić Youtube, aby przesłać najlepszą jakość w subskrypcji usługa.

Roger Ball
źródło