Skip to content

Browsing and Playing Videos

Navigate to Videos to browse all your videos. To play a video, click .

Please note that 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.

Screenshot

In case FFmpeg is disabled or not installed, videos cannot be indexed because still images cannot be created. You should also have ExifTool enabled to extract metadata such as duration, resolution, and codec.

Live Photos

Short videos up to 3 seconds are categorized and displayed as Live Photos, regardless of your phone's make and model. You can recognize this by the icon that appears in the upper left corner.

Move the mouse cursor over the thumbnail to play the video without changing the view. You can limit a search to Live Photos by using the type:live filter or the keyword live.

Screenshot

Transcoding

For maximum browser compatibility, PhotoPrism can transcode video codecs and containers supported by FFmpeg to MPEG-4 AVC, as well as extract still images for thumbnail creation:

  • if FFmpeg is disabled or not installed, indexing and importing videos is not possible because still images cannot be created
  • if ExifTool is disabled or not installed, indexing and importing videos is only partially possible because the video metadata cannot be extracted and thus the duration, resolution, and codec are unknown
  • MPEG-4 AVC videos can be played natively by most modern browsers and are not re-encoded, even if they exceed the configured bitrate limit; to reduce the size of AVC videos, you can manually replace the original files with a smaller version or wait for a future release that offers this functionality
  • OGV, VP8, VP9, AV1, WebM, and HEVC videos will be streamed directly if they are supported by your browser and do not exceed the configured bitrate limit
  • other formats must always be transcoded

If necessary, videos are transcoded on demand. This can cause unacceptable delays when large video files are played for the first time.

In this case, you can run the following command in a terminal to pre-transcode all video files as needed:

docker compose exec photoprism photoprism convert

Our setup guide for advanced users explains how to configure hardware video transcoding.

Make sure that there is enough disk space available on your server before transcoding all video files, as this may require a significant amount of extra storage.

HEVC/H.265 video files can have a .mp4 file 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.