Video File Support¶
Codecs and Containers¶
Running the following command in a terminal displays a list of supported codecs:
See our advanced setup guide to learn how to configure hardware video transcoding.
- 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.
- 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.
Hybrid Photo/Video Formats¶
For more information on hybrid photo/video file formats, e.g. Apple Live Photos and Samsung/Google Motion Photos, see github.com/photoprism/photoprism/tree/develop/pkg/live and /developer-guide/media/live/.
PHOTOPRISM_FFMPEG_SIZE config option allows to limit the resolution of transcoded videos. It accepts the following standard sizes, while other values are automatically adjusted to the next supported size:
|720||SD TV, Mobile|
|1280||HD TV, SXGA|
|2048||DCI 2K, Tablets|
|2560||Quad HD, Notebooks|
|3840||4K Ultra HD|
|4096||DCI 4K, Retina 4K|
|7680||8K Ultra HD 2|
Technical References and Tutorials¶
|Web Video Codec Guide||https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs|
|Web Video Content-Type Headers||https://developer.mozilla.org/en-US/docs/Web/Media/Formats/codecs_parameter|
|Media Container Formats||https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Containers|
|MP4 Signature Format||https://www.file-recovery.com/mp4-signature-format.htm|
|List of file signatures (Wikipedia)||https://en.wikipedia.org/wiki/List_of_file_signatures|
|How to use the io.Reader interface||https://yourbasic.org/golang/io-reader-interface-explained/|
|AV1 Codec ISO Media File Format||https://aomediacodec.github.io/av1-isobmff|