Niestety, każda z popularnych przeglądarek inaczej obsługuje kolory w filmach HTML5, co utrudnia uzyskiwanie jednolitych kolorów.
Strumień H.264 (MP4) może opcjonalnie kodować, który zestaw kolorów podstawowych, właściwości przenoszenia i współczynniki macierzy są używane; można je ustawić za pomocą np. ffmpeg -x264opts colorprim=bt709:transfer=bt709:colormatrix=smpte170m
. Przynajmniej w systemach Mac OS X, Safari i QuickTime zwróć uwagę na te bity w wideo H.264 i przekonwertuj kolory z określonego kodowania na profil kolorów monitora, tworząc ładne i spójne kolory. Jednak wydaje się, że Chrome po prostu ignoruje te bity i zakłada, że zarówno wideo H.264, jak i VP8 używa kolorów podstawowych BT.709 (nawet w przypadku wideo VP8 SD, które według specyfikacji VP8 powinno być BT.601), chociaż spowoduje to konwersję na profil kolorów monitora. Z drugiej strony Firefox zdaje się pomijać konwersję wyjściową dla elementów wideo VP8 i zakłada, że twój monitor ma sRGB, więc kolory nie są spójne pomiędzy monitorami o różnych profilach kolorów i prawdopodobnie odbiegają od szerokiego monitora gamut. (Testowałem tylko na Macu, przeglądarki mogą działać inaczej na innym systemie operacyjnym.)
Niestety nie mam żadnych dobrych rozwiązań. Być może uda się rozwiązać ten problem przez manipulating the video in Javascript using a canvas, chociaż coś takiego może mieć słabą wydajność.
który działa w teorii. ale kolor filmu w kolorze bg zależy od rzeczywistych kolorów wyświetlanych w filmie. tak, że kolor bg zmieni się wraz z przejściem wideo –
@MihneaBelcin Jak widać, pytanie dotyczy wideo ze statycznym tłem (krawędzie wideo nie zmieniają koloru.) Pomyśl o białym tle i znaku w środkowy). W przeciwnym razie próba dopasowania go do gradientu/kolorów nie ma sensu. I jestem prawie pewna, że działa "w praktyce", jak również wdrożyłem go więcej niż raz. –
Postać w środku będzie miała wpływ na kolor bg. Przynajmniej mi się to zdarzyło .. więC#FFF bg jest #FEFE, ponieważ postać w środku ... –