lisamelton / other_video_transcoding

Other tools to transcode videos.
MIT License
540 stars 24 forks source link

Color Issues #181

Closed KupaKodzilla closed 1 year ago

KupaKodzilla commented 1 year ago

Hi, I'm trying to reduce the file size of my library and it's been working pretty well so far but I've been having issues with the colors going wild in the current series I am on.

Left is original, right is other-transcode's output https://puu.sh/JBXPi/59f54ca986.jpg

Original codec info: https://puu.sh/JBXQt/b59ba788ee.png

This is the log: https://pastebin.com/qvSmNM7e

Here is a scan of the original: https://pastebin.com/S1ivRCRh

I used other-transcode --hevc --nvenc --add-audio eng

lisamelton commented 1 year ago

@KupaKodzilla I'm sorry you're having this problem. 😬 And thank you so much for the screenshots and attachments! 👍 That helps a lot.

It appears your input file is some kind of download and not a disc rip because it's in a 10-bit colorspace. And that's what's causing the problem. It's being incorrectly mapped to an 8-bit colorspace.

And, unfortunately, other-transcode doesn't have a facility built in to do that kind of mapping. One reason for that is such conversion is quite complicated using FFmpeg. I've only begun working on this feature and don't anticipate it being available soon.

The good news is that's there's a solution but it requires another tool. The latest version of HandBrake and HandBrakeCLI, its command line version, has an easy to use filter option, --colorspace, which can do this very type of conversion.

So, for now, I would recommend using HandBrake or HandBrakeCLI and that filter.

Does that help?

KupaKodzilla commented 1 year ago

I appreciate the info. Thankfully it's only this series that has this issue. I'll give handbrake a try.

lisamelton commented 1 year ago

@KupaKodzilla Let me know if you need help with getting HandBrake options to match the behavior of other-transcode. If that's even an issue for you.

KupaKodzilla commented 1 year ago

@donmelton The options would be great if you could. I've never used HandBrake. -i t1.mkv -o t2.mkv -e nvenc_h265_10bit -b 4000 --vfr --colorspace bt2020 seems to work but I honestly don't know what half of what I'm doing haha.

lisamelton commented 1 year ago

@KupaKodzilla OK, to emulate something like --hevc --nvenc with HandBrakeCLI, you'll need to add something like this to your command line:

--encoder nvenc_h265_10bit --vb 4000

To emulate something like --add-audio eng, try:

--audio-lang-list eng --all-audio

I think you've already figured out the color space conversion.

KupaKodzilla commented 1 year ago

@donmelton That worked out great, thank you for your advice!