iPhone videos play with sound but no video

Videos (especially from iPhones) appear blank when they are clicked on, but they do play audio.

This bug will be fixed in the next release (which may take a week or two, it’s taking some time to get all the tests passing: I’ve changed both how RAW and HEIF images are being decoded.)

Here’s the bug details from the release notes:

  • :sparkles:/:bug: Prior versions of PhotoStructure would decide if a file needed to be transcoded by examining the MIMEtype of the video.This works OK for several formats, but for video container types that can store several different codecs, MIMEtype is not sufficiently comprehensive.Instead, PhotoStructure now looks at the container type, and the audio and video codecs used, to see if the video will play correctly on most evergreen desktop and mobile browsers.

The workaround is to force these video types to transcode:

  1. Visit one of these problematic videos, and open the asset info panel. The mimetype should be video/quicktime. (If it isn’t, please reply to this topic!)

  2. Shut down PhotoStructure

  3. Edit your library settings.toml in a text editor, and scroll down to this section:

# +–––––––––––––––––––––––––––+
# |  doNotTranscodeMimetypes  |
# +–––––––––––––––––––––––––––+
#
# Videos are transcoded when the "transcodeVideos" is set to true and is not
# one of the following mimetypes. See
# https://www.iana.org/assignments/media-types/media-types.xhtml#video for a
# complete list. If you are setting this via an environment variable, you can
# separate the values either like a PATH (like "video/quicktime:video/mp4") or
# use JSON encoding (like "['video/quicktime','video/mp4']").
# (env: "PS_DO_NOT_TRANSCODE_MIMETYPES")
  1. Uncomment the default value and remove the "video/quicktime" line:
doNotTranscodeMimetypes = [
  "video/mp4",
  "video/mpv",
  "video/mp2t"
]
  1. Restart PhotoStructure.

  2. Unfortunately, sync won’t fix this automatically: it’ll think all the files are in sync with the filesystem, and not check the transcoded video. You can either rebuild your library (via the nav menu), or visit the affected videos and click “sync this asset” from the ⋮ menu.

  3. When the next release comes out, (which should be in a couple weeks), you’ll want to delete this change: the new defaults should handle this more correctly. Just remove the lines that you uncommented.