У меня есть видео, которое подается в форматах MP4 или WebM, в зависимости от поддержки браузера. Я заметил, что в Chrome WebM заметно темнее, чем при локальном просмотре файлов в VLC или даже в другом браузере, например Firefox:
Chrome
![Chrome WebM vs MP4](https://i.stack.imgur.com/trukn.gif)
Firefox
![Firefox WebM vs MP4](https://i.stack.imgur.com/AKbbU.gif)
Первоначальная проблема была с видео, которые я сам перекодировал с помощью ffmpeg
:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 2M output.webm
Для справки, здесь находится техническая информация входного файла (согласно ffmpeg
):
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2019-01-11T18:48:36.000000Z
Duration: 00:00:12.01, start: 0.000000, bitrate: 2114 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m), 1280x508, 2105 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Metadata:
creation_time : 2019-01-11T18:48:36.000000Z
handler_name : ?Mainconcept Video Media Handler
encoder : AVC Coding
Я подумал, что это может быть связано с опциями CLI, которые я передавал, поэтому я попытался поиграть с другой опцией кодирования (например, с использованием режима постоянного качества (CQ) и двухпроходного кодирования) но все же видел различия в яркости в Chrome. После этого я заметил те же проблемы на носителе, который был автоматически закодирован из cloudinary , и я подумал, что, если я вижу различия там, это, вероятно, не имеет ничего общего с моими флагами параметров кодирования.
Прежде чем я зайду слишком далеко вниз по кроличьей норе, могу ли я что-нибудь с этим контролировать? Или это просто проблема с декодером, который использует Chrome (который отличается от того, что использует VLC или Firefox).
UPDATE
См. этот комментарий из перекрестного поста, который ссылается на ошибку Chromium - https://bugs.chromium.org/p/chromium/issues/detail?id=851216 - как на основную причину. Если вы отключите аппаратное ускорение декодирования видео в Chrome, «обесцвечивание» исчезнет. По состоянию на июль 2019 года ошибка все еще не устранена.