Note: This is contributed content intended for advanced users. You can contribute by clicking to send a pull request with your changes.
The encoder used by FFmpeg can be configured within your
docker-compose.yml config file.
Experimental hardware accelerated transcoding on a Raspberry Pi (and compatible devices)
may be enabled using the
It defaults to
libx264 if no value is set or transcoding with
Please refer to the official documentation for a full list of encoders and their implementation status.
Some server configurations, specifically Raspberry Pi's, may run into memory allocation issues when using hardware acceleration. Monitor your server logs carefully and increase available GPU and/or CMA memory allocations if necessary.
The Docker container will also need access to one or more video devices.
h264_v4l2m2m encoder on a Raspberry Pi, also add:
devices: - "/dev/video11:/dev/video11"
Additional advanced configuration options:
PHOTOPRISM_FFMPEG_BUFFERS: "64" # FFmpeg capture buffers (default: 32)
Hardware accelerated transcoding within Photoprism is currently experimental. It may not work on all server configurations. Some users report unexpected hangs in the FFmpeg process when attempting to transcode large video files.