2012-10-30 13 views
9

Mam duży film, który zawiera animacje zbyt złożone/długie na inne metody osadzania (sekwencje gif, png, itp.) I mamy problem z kolorami wideo. Zasadniczo uwzględniamy tło strony jako część filmu, aby zapobiec pojawianiu się jakichkolwiek krawędzi na wideo podczas odtwarzania. Staramy się, aby tło gradientowe w filmie było zgodne z tym na stronie internetowej, ale kolory są WYPRZEDZONE.Korygowanie kolorów Wideo MP4/Webm

Czy są jakieś zalecenia dotyczące korekcji kolorów filmu MP4? Lub jakikolwiek bezpieczny dla html5 sposób na robienie filmów za pomocą kanału alfa?

Odpowiedz

6

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ść.

0

Dla wszystkich zainteresowanych: w obliczu tej samej sytuacji do głowy przyszło mi kilka hacków: Stwórz super małe wideo, używając kolorów tła oryginału (Będą zawsze wyświetlane jako ten sam kolor w dowolna przeglądarka). Użyj go jako tła i zmień jego rozmiar na 100%, na przykład.

+0

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 –

+0

@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. –

+0

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 ... –