2012-10-30 20 views
9

Tôi có một video lớn có một số hoạt ảnh quá phức tạp/dài đối với các phương pháp nhúng khác (gif, chuỗi png, v.v.) và chúng tôi đang gặp sự cố với màu sắc trong video. Về cơ bản, chúng tôi bao gồm nền của trang web như một phần của video nhằm ngăn chặn sự xuất hiện của bất kỳ cạnh nào trên video khi video phát. Chúng tôi đang cố gắng để có được nền gradient trên video để phù hợp với điều đó trên trang web, nhưng màu sắc là WAY tắt.Sửa video MP4/Webm

Có đề xuất nào về cách tô màu đúng video MP4 không? Hoặc bất kỳ cách an toàn html5 nào để làm video với kênh alpha?

Trả lời

6

Thật không may, mỗi trình duyệt phổ biến xử lý màu trong các video HTML 5 khác nhau, điều này gây khó khăn cho việc nhận các màu nhất quán.

Bitstream H.264 (MP4) có thể tùy chọn mã hóa tập hợp các màu gốc, đặc điểm truyền và hệ số ma trận bạn đang sử dụng; chúng có thể được đặt với ví dụ: ffmpeg -x264opts colorprim=bt709:transfer=bt709:colormatrix=smpte170m. Ít nhất trên Mac OS X, Safari và Quicktime chú ý đến các bit này trong video H.264 và sẽ chuyển đổi màu từ mã hóa được chỉ định sang cấu hình màu của màn hình, tạo ra màu sắc đẹp và nhất quán. Tuy nhiên, Chrome dường như chỉ bỏ qua các bit này và giả sử rằng cả video H.264 và VP8 đều sử dụng màu nguyên bản BT.709 (ngay cả đối với video VP8 SD mà thông số VP8 nói là BT.601), mặc dù nó sẽ chuyển đổi thành hồ sơ màu sắc của màn hình của bạn. Mặt khác, Firefox dường như bỏ qua việc chuyển đổi đầu ra cho các phần tử VP8 video và giả định rằng màn hình của bạn là sRGB, vì vậy màu sắc không nhất quán giữa các màn hình với các cấu hình màu khác nhau và có khả năng được tắt trên màn hình rộng. (Tôi chỉ được thử nghiệm trên Mac; các trình duyệt có thể hoạt động khác trên một hệ điều hành khác.)

Xin lỗi tôi không có bất kỳ giải pháp tốt nào. Có thể giải quyết vấn đề bằng cách manipulating the video in Javascript using a canvas, mặc dù điều gì đó tương tự có thể có hiệu suất kém.

0

Đối với bất kỳ ai quan tâm: khi đối mặt với tình huống tương tự, một vài lỗi xâm nhập vào tâm trí của tôi như: Tạo một video siêu nhỏ, sử dụng màu nền của ảnh gốc (Chúng sẽ luôn được hiển thị dưới dạng màu tương tự trong bất kỳ trình duyệt nào). Sử dụng nó làm nền và thay đổi kích thước nó thành 100% chẳng hạn.

+0

hoạt động theo lý thuyết. nhưng màu bg của video bị ảnh hưởng bởi các màu thực tế xuất hiện trong video. để màu bg sẽ thay đổi khi video chuyển tiếp –

+0

@MihneaBelcin Như bạn có thể thấy câu hỏi là về một video có nền tĩnh (Các cạnh của video không thay đổi màu sắc. Hãy nghĩ về nền màu trắng và một ký tự trong ở giữa). Nếu không cố gắng để phù hợp với nó với một gradient/màu sắc không có ý nghĩa. Và tôi khá chắc chắn rằng nó hoạt động "trong thực tế" cũng như tôi đã thực hiện nó nhiều hơn một lần. –

+0

nhân vật ở giữa sẽ ảnh hưởng đến màu bg .. ít nhất điều này đã xảy ra với tôi .. vì vậy #FFF bg là #FEFE vì nhân vật ở giữa ... –