Thanks for that additional information.
Consistent colorspace rendering on all browsers turns out to be surprisingly tricky: See
- Trouble transcoding iPhone8 video, possibly stalling progress of library import - #3 by mrm
- Talking About Colorspaces and FFmpeg | by InVideo | InSide InVideo | Medium
- https://ffmpeg.org/ffmpeg-filters.html#colorspace
PhotoStructure has a (couple!) settings to control ffmpeg
transcoding. If you’re using docker, set this ENV:
PS_FFMPEG_TRANSCODE_ARGS='["-c:a","aac","-c:v","libx264","-pix_fmt","yuv420p","-vf","colorspace=all=bt709:iall=bt601-6-625:fast=1","-colorspace","1","-color_primaries","1","-color_trc","1","-movflags","faststart","-profile:v","high"]'
or if it’s easier, change the system settings.toml:
ffmpegTranscodeArgs = [
"-c:a",
"aac",
"-c:v",
"libx264",
"-pix_fmt",
"yuv420p",
"-vf",
"colorspace=all=bt709:iall=bt601-6-625:fast=1",
"-colorspace",
"1",
"-color_primaries",
"1",
"-color_trc",
"1",
"-movflags",
"faststart",
"-profile:v",
"high"
]
Then restart PhotoStructure, visit a problematic video, and then click “Re-sync this asset” to tell PhotoStructure to re-transcode that video with the new settings.
I’ve made this the new default value for v2.1: I’ll try it out on the example videos and see how that goes.