NVidia Youtube Too Datk Video
Gry,  Software,  Varia

nVidia + Youtube = zbyt ciemne video

[For English – scroll down] Zauważyłem, że wgrywając fragmenty gier na Youtube są one po konwersji zdecydowanie ciemniejsze niż te odtwarzane bezpośrednio z dysku (VLC).

Oryginalne nagranie za pomocą nVidia GeForce Experience Shadowplay jest przyciemnione po wgraniu na Youtube (po wgraniu np. na Facebook takiego efektu przyciemnienia nie ma).

Przez to obraz traci szczegóły zwłaszcza w ciemniejszych miejscach. Przy jasnych scenach nie widać aż tak dużego pogorszenia jakości. Jednak w ciemnych partiach rozgrywki jest to co najmniej irytujące.

Oryginalne nagranie – zbyt ciemne

Okazuje się, że filmy nagrywane przez nVidia GeForce Experience zapisywane są – w uproszczeniu – „nietypowo”. Przez co YouTube przeprowadza konwersję, przyciemniającą obraz.

Okazuje się, że wystarczy zmienić jeden parametr w metadanych nagranego filmu mp4 (nie wymagana jest konwersja) aby po wgraniu na Youtube otrzymać jaśniejszy, a więc identyczny z oryginałem obraz.

Mała poprawka – duża zmiana

Za pomocą ffmpeg możemy podmienić zapis w metadanych i w ten sposób „naprawić” plik mp4 w sposób „poprawnie zrozumiały” dla Youtube.

Dzięki temu nie stracimy jakości i video nie będzie przyciemnione:

Rozwiązanie

Należy zmodyfikować metadane pliku mp4 nagranego za pomocą nVidia GeForce Experience np. za pomocą ffmpeg:

ffmpeg -i „a.mp4” -bsf:v h264_metadata=video_full_range_flag=1 -c:v copy -c:a copy „a-fixed.mp4”

Gdzie: a.mp4 to nazwa naszego nagrania (oryginalnego) a z kolei a-fixed.mp4 to nazwa naszego nagrania z poprawionymi metadanymi. Ffmpeg kopiuje dźwięk i obraz zmieniając metadane, więc film nie jest konwertowany, dzięki czemu jest to szybka operacja, ograniczona jedynie prędkością dysku HDD/SSD.

NVidia Youtube Too Datk Video

Więcej przykładów i porównań poniżej

Plik mp4 wgrany bez poprawi – video na YouTube zbyt ciemne

Plik mp4 wgrany po poprawce ffmpeg – video na Youtube poprawne

Plik mp4 wgrany bez poprawi – video na YouTube zbyt ciemne

Plik mp4 wgrany po poprawce ffmpeg – video na Youtube poprawne

Plik mp4 wgrany bez poprawi – video na YouTube zbyt ciemne

Plik mp4 wgrany po poprawce ffmpeg – video na Youtube poprawne

English

Original gameplay is too dark

Original nVidia GeForce Experience recording is too dark while uploaded to Youtube

Small fix makes video OK

Original nVidia GeForce Experience recording fixed with ffmpeg is OK while uploaded to Youtube

Solution and explanation

I’ve found solution and explanation posted in English: „The key point is that Shadowplay generates a BT601 color matrix with a full color range (0-255). This is a rare combination, since BT601 is regularly used with a partial color range (16-235). Consequently, whenever YouTube sees BT601, it takes the video as a partial color range by default. ” Original post here…

And here is how to fix video file with ffmpeg before uploading to Youtube

ffmpeg -i „a.mp4” -bsf:v h264_metadata=video_full_range_flag=1 -c:v copy -c:a copy „a-fixed.mp4”

The End

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *