PhotoPrism may use ffmpeg to transcode common video formats to MPEG-4 AVC. This container / codec combination doesn't require transcoding as it can be played natively by most modern browsers, see https://caniuse.com/mpeg4.
OGV, VP8, VP9, AV1, WebM and HEVC videos will be streamed directly in case they are supported by your browser and if they do not exceed the configured bitrate limit. Otherwise those formats will be transcoded as well.
For a list of codecs ffmpeg supports, run this command in a terminal:
- Not all video and audio formats can be played with every browser. For example, AAC - the default audio codec for MPEG-4 AVC / H.264 - is supported natively in Chrome, Safari, and Edge, while it is only optionally supported by the OS in Firefox and Opera.
- HEVC/H.265 video files can have a
.mp4file extension too, which is often associated with AVC only. This is because MP4 is a container format, meaning that the actual video content may be compressed with H.264, H.265, or something else. The file extension doesn't really tell you anything other than that it's probably a video file.
While the QuickTime
.mov container format served as the basis for MPEG-4,
there are differences and the two are not quite interchangeable. They still
play in most browsers and won't be transcoded automatically for this reason.