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:
- Ta sama ramka wyodrębniona ze źródła i wideo przetworzonego przez YouTube: http://imgur.com/a/AwXTv
- Źródło MP4: https://mega.co.nz/#!Z990iCDD!QHpW3h6ZnEy3tlhsCYAEnGGpoY4d4N9ImgdPdlWLwdE
- Sam film: http://youtu.be/0b8ollYsQU8
- Losowy klip faceta grającego na tej samej mapie (oczywiście w porównaniu z wersją 1080p): http://youtu.be/R4Nz2dBZRQY
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:
- http://youtu.be/T9CH4ypbI_I
- http://youtu.be/eFkHGi_kj7U
- http://youtu.be/D7nZFQHWNuw
- http://youtu.be/emzQhiMHxxE
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ą):
- 1080p 8000k ~ 11mb
- 1080p 50000k ~ 72mb
- 1440p 50000k ~ 70mb (to nie jest literówka, to mniej niż 1080p)
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ć.
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ć.
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ć.
źródło
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.
źródło