mpv icon indicating copy to clipboard operation
mpv copied to clipboard

Encoding gif of Bluray rips with MPV makes it washed out. Color space error?

Open blazesol opened this issue 2 months ago • 4 comments

mpv Information

mpv v0.40.0-401-g99d6d4c1c Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
 built on Oct 19 2025 17:17:47
libplacebo version: v7.357.0 (v7.351.0-87-g9bffcaf-dirty)
FFmpeg version: N-121473-gdc39a576a
FFmpeg library versions:
   libavcodec      62.16.100
   libavdevice     62.2.100
   libavfilter     11.9.100
   libavformat     62.6.101
   libavutil       60.13.100
   libswresample   6.2.100
   libswscale      9.3.100

Other Information

- Windows version: Microsoft Windows [Version 10.0.26100.6899]
- GPU model, driver and version: Intel(R) Arc(TM) Graphics 32.0.101.6881
- Source of mpv: https://github.com/zhongfly/mpv-winbuild/releases

My webm converter shows this when attempting to convert outputs: 
> [avisynth @ 0290e8a0] unknown AviSynth colorspace -1610285048_

The color space of the video(s) that I am trying to make into a gif:
> Color primaries: ITU-R BT.2020
> Color transfer function: SMPTE ST2084 (PQ)
> Color space: ITU-R BT.2020 Range

Here is a comparison: 
![Image](https://github.com/user-attachments/assets/64c2cffc-3f7f-40b0-a15c-fe2ddf68eb58)

Here is a screenshot of the info: 
<img width="1915" height="1075" alt="Image" src="https://github.com/user-attachments/assets/375d1d92-c70a-417e-80f5-c856b2262221" />

Reproduction Steps

I ripped several 4K UHD BluRay CDs with MakeMKV. When using mpv to create a gif or to cut a part of the rip, the output gif or video cut is very washed out, almost sepia-like.

Expected Behavior

I expected it to work as normal, since screenshotting or making other videos into a gif works just fine with no color issues.

Actual Behavior

It is specifically the BluRay rips that are causing mpv to create washed-out outputs. I am unsure how to fix this. It seems to be an issue with the color space, but so far, no changes I've made to my mpv.conf file have worked to rectify the issue. Maybe I'm missing something.

Log File

output2.txt

Sample Files

No response

I carefully read all instruction and confirm that I did the following:

  • [x] I tested with the latest mpv version to validate that the issue is not already fixed.
  • [x] I provided all required information including system and mpv version.
  • [x] I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of --log-file=output.txt.
  • [x] I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • [x] I attached the full, untruncated log file.
  • [x] I attached the backtrace in the case of a crash.

blazesol avatar Oct 20 '25 02:10 blazesol

You need to tonemap it Suggestion: use libplacebo in FFmpeg ffmpeg -ss xx -to xx -i xxx -vf libplacebo=color_primaries=bt709:color_trc=bt709,format=rgb8 xxx.gif

If you want higher quality GIF, you can pipe Y4M to gifski

L4cache avatar Oct 20 '25 02:10 L4cache

You need to tonemap it Suggestion: use libplacebo in FFmpeg ffmpeg -ss xx -to xx -i xxx -vf libplacebo=color_primaries=bt709:color_trc=bt709,format=rgb8 xxx.gif

Is there a way I can tonemap it in my mpv.conf file? I typically just use hotkeys to create the gif, right within the mpv player itself, using scripts like https://github.com/ekisu/mpv-webm I'm unfortunately fairly uneducated on this topic.

blazesol avatar Oct 20 '25 03:10 blazesol

You need to tonemap it Suggestion: use libplacebo in FFmpeg ffmpeg -ss xx -to xx -i xxx -vf libplacebo=color_primaries=bt709:color_trc=bt709,format=rgb8 xxx.gif

Is there a way I can tonemap it in my mpv.conf file? I typically just use hotkeys to create the gif, right within the mpv player itself, using scripts like https://github.com/ekisu/mpv-webm I'm unfortunately fairly uneducated on this topic.

It looks like the script is doing transcoding via a separate call to mpv commandline tool? I guess you'll have to modiy that script... playback options don't apply to transcoding.

L4cache avatar Oct 20 '25 04:10 L4cache

Is there a way I can tonemap it in my mpv.conf file? I typically just use hotkeys to create the gif, right within the mpv player itself, using scripts like https://github.com/ekisu/mpv-webm I'm unfortunately fairly uneducated on this topic.

It looks like the script is doing transcoding via a separate call to mpv commandline tool? I guess you'll have to modiy that script... playback options don't apply to transcoding.

I honestly have no idea how to do it. Do you mean I should be modifying the webm.lua file? It seems to have bt709 already listed. Image

blazesol avatar Oct 24 '25 11:10 blazesol