kopia lustrzana https://github.com/linuxserver/docker-documentation
Bot Updating Documentation
rodzic
68d7567a37
commit
b8ae31eb67
|
@ -12,22 +12,26 @@ title: ffmpeg
|
||||||
[](https://github.com/linuxserver "view the source for all of our repositories.")
|
[](https://github.com/linuxserver "view the source for all of our repositories.")
|
||||||
[](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
|
[](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
|
||||||
|
|
||||||
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
|
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
|
||||||
|
|
||||||
* regular and timely application updates
|
* regular and timely application updates
|
||||||
* easy user mappings (PGID, PUID)
|
* easy user mappings (PGID, PUID)
|
||||||
* custom base image with s6 overlay
|
* custom base image with s6 overlay
|
||||||
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
|
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
|
||||||
* regular security updates
|
* regular security updates
|
||||||
|
|
||||||
Find us at:
|
Find us at:
|
||||||
|
|
||||||
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
||||||
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
||||||
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
|
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
|
||||||
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
|
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
|
||||||
|
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
|
||||||
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
|
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
|
||||||
|
|
||||||
[](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fffmpeg)
|
# [linuxserver/ffmpeg](https://github.com/linuxserver/docker-ffmpeg)
|
||||||
|
|
||||||
|
[](https://scarf.sh)
|
||||||
[](https://github.com/linuxserver/docker-ffmpeg)
|
[](https://github.com/linuxserver/docker-ffmpeg)
|
||||||
[](https://github.com/linuxserver/docker-ffmpeg/releases)
|
[](https://github.com/linuxserver/docker-ffmpeg/releases)
|
||||||
[](https://github.com/linuxserver/docker-ffmpeg/packages)
|
[](https://github.com/linuxserver/docker-ffmpeg/packages)
|
||||||
|
@ -39,12 +43,11 @@ Find us at:
|
||||||
|
|
||||||
[FFmpeg](https://ffmpeg.org) - A complete, cross-platform solution to record, convert and stream audio and video.
|
[FFmpeg](https://ffmpeg.org) - A complete, cross-platform solution to record, convert and stream audio and video.
|
||||||
|
|
||||||
|
|
||||||
[](https://ffmpeg.org)
|
[](https://ffmpeg.org)
|
||||||
|
|
||||||
## Supported Architectures
|
## Supported Architectures
|
||||||
|
|
||||||
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||||
|
|
||||||
Simply pulling `lscr.io/linuxserver/ffmpeg:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
Simply pulling `lscr.io/linuxserver/ffmpeg:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||||
|
|
||||||
|
@ -54,7 +57,7 @@ The architectures supported by this image are:
|
||||||
| :----: | :----: | ---- |
|
| :----: | :----: | ---- |
|
||||||
| x86-64 | ✅ | amd64-\<version tag\> |
|
| x86-64 | ✅ | amd64-\<version tag\> |
|
||||||
| arm64 | ✅ | arm64v8-\<version tag\> |
|
| arm64 | ✅ | arm64v8-\<version tag\> |
|
||||||
| armhf| ❌ | arm32v7-\<version tag\> |
|
| armhf | ❌ | |
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
@ -64,17 +67,19 @@ If an input file is detected we will run FFmpeg as that user/group so the output
|
||||||
The image supports Hardware acceleration on x86 pay close attention to the variables for the examples below.
|
The image supports Hardware acceleration on x86 pay close attention to the variables for the examples below.
|
||||||
|
|
||||||
### Included Intel Drivers (latest versions compiled):
|
### Included Intel Drivers (latest versions compiled):
|
||||||
- iHD Driver: Supports gen8+ (default for Intel)
|
|
||||||
- i965 Driver: Supports gen5+ (for gen5-gen9.5 it can be enabled by setting env var `LIBVA_DRIVER_NAME=i965` in docker arguments)
|
* iHD Driver: Supports gen8+ (default for Intel)
|
||||||
- Libva (VAAPI): Supports gen5+ with i965 driver and gen8+ with iHD driver
|
* i965 Driver: Supports gen5+ (for gen5-gen9.5 it can be enabled by setting env var `LIBVA_DRIVER_NAME=i965` in docker arguments)
|
||||||
- Qsv Dispatcher: OneVPL (supports both OneVPL and MSDK runtimes and should automatically switch)
|
* Libva (VAAPI): Supports gen5+ with i965 driver and gen8+ with iHD driver
|
||||||
- Qsv Runtime:
|
* Qsv Dispatcher: OneVPL (supports both OneVPL and MSDK runtimes and should automatically switch)
|
||||||
- OneVPL: Supports gen12+
|
* Qsv Runtime:
|
||||||
- MSDK (libmfx): Supports gen8 - gen12
|
|
||||||
|
* OneVPL: Supports gen12+
|
||||||
|
* MSDK (libmfx): Supports gen8 - gen12
|
||||||
|
|
||||||
### Basic Transcode
|
### Basic Transcode
|
||||||
|
|
||||||
```
|
```bash
|
||||||
docker run --rm -it \
|
docker run --rm -it \
|
||||||
-v $(pwd):/config \
|
-v $(pwd):/config \
|
||||||
linuxserver/ffmpeg \
|
linuxserver/ffmpeg \
|
||||||
|
@ -88,7 +93,7 @@ docker run --rm -it \
|
||||||
|
|
||||||
### Hardware accelerated (VAAPI) ([click for more info](https://trac.ffmpeg.org/wiki/Hardware/VAAPI))
|
### Hardware accelerated (VAAPI) ([click for more info](https://trac.ffmpeg.org/wiki/Hardware/VAAPI))
|
||||||
|
|
||||||
```
|
```bash
|
||||||
docker run --rm -it \
|
docker run --rm -it \
|
||||||
--device=/dev/dri:/dev/dri \
|
--device=/dev/dri:/dev/dri \
|
||||||
-v $(pwd):/config \
|
-v $(pwd):/config \
|
||||||
|
@ -104,7 +109,7 @@ docker run --rm -it \
|
||||||
|
|
||||||
### Hardware accelerated (QSV) ([click for more info](https://trac.ffmpeg.org/wiki/Hardware/QuickSync))
|
### Hardware accelerated (QSV) ([click for more info](https://trac.ffmpeg.org/wiki/Hardware/QuickSync))
|
||||||
|
|
||||||
```
|
```bash
|
||||||
docker run --rm -it \
|
docker run --rm -it \
|
||||||
--device=/dev/dri:/dev/dri \
|
--device=/dev/dri:/dev/dri \
|
||||||
-v $(pwd):/config \
|
-v $(pwd):/config \
|
||||||
|
@ -118,9 +123,10 @@ docker run --rm -it \
|
||||||
```
|
```
|
||||||
|
|
||||||
### Nvidia Hardware accelerated ([click for more info](https://trac.ffmpeg.org/wiki/HWAccelIntro#CUDANVENCNVDEC))
|
### Nvidia Hardware accelerated ([click for more info](https://trac.ffmpeg.org/wiki/HWAccelIntro#CUDANVENCNVDEC))
|
||||||
*Nvidia support requires [Nvidia container toolkit](https://github.com/NVIDIA/nvidia-container-toolkit) and the Nvidia drivers installed on the host*
|
|
||||||
|
|
||||||
```
|
Nvidia support __requires__ [Nvidia container toolkit](https://github.com/NVIDIA/nvidia-container-toolkit) and the Nvidia drivers installed on the host.
|
||||||
|
|
||||||
|
```bash
|
||||||
docker run --rm -it \
|
docker run --rm -it \
|
||||||
--runtime=nvidia \
|
--runtime=nvidia \
|
||||||
-v $(pwd):/config \
|
-v $(pwd):/config \
|
||||||
|
@ -138,7 +144,7 @@ docker run --rm -it \
|
||||||
|
|
||||||
Vulkan support has been added to x86_64 (tested with Intel and AMD iGPU) ([click for more info](https://trac.ffmpeg.org/wiki/HWAccelIntro#Vulkan)).
|
Vulkan support has been added to x86_64 (tested with Intel and AMD iGPU) ([click for more info](https://trac.ffmpeg.org/wiki/HWAccelIntro#Vulkan)).
|
||||||
|
|
||||||
```
|
```bash
|
||||||
docker run --rm -it \
|
docker run --rm -it \
|
||||||
--device=/dev/dri:/dev/dri \
|
--device=/dev/dri:/dev/dri \
|
||||||
-v $(pwd):/config \
|
-v $(pwd):/config \
|
||||||
|
@ -151,25 +157,28 @@ docker run --rm -it \
|
||||||
-f null - -benchmark
|
-f null - -benchmark
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** Vulkan supports three drivers:
|
#### Vulkan supports three drivers
|
||||||
- ANV: To enable for Intel, set the env var `ANV_VIDEO_DECODE=1`
|
|
||||||
- RADV: To enable on AMD, set the env var `RADV_PERFTEST=video_decode`
|
* ANV: To enable for Intel, set the env var `ANV_VIDEO_DECODE=1`
|
||||||
- NVIDIA: To enable on Nvidia, install Nvidia Vulkan Beta drivers on the host per [this article](https://lynne.ee/vulkan-video-decoding.html#driver-support)
|
* RADV: To enable on AMD, set the env var `RADV_PERFTEST=video_decode`
|
||||||
|
* NVIDIA: To enable on Nvidia, install Nvidia Vulkan Beta drivers on the host per [this article](https://lynne.ee/vulkan-video-decoding.html#driver-support)
|
||||||
|
|
||||||
## Building locally
|
## Building locally
|
||||||
|
|
||||||
If you want to make local modifications to these images for development purposes or just to customize the logic:
|
If you want to make local modifications to these images for development purposes or just to customize the logic:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
git clone https://github.com/linuxserver/docker-ffmpeg.git
|
git clone https://github.com/linuxserver/docker-ffmpeg.git
|
||||||
cd docker-ffmpeg
|
cd docker-ffmpeg
|
||||||
docker build \
|
docker build \
|
||||||
--no-cache \
|
--no-cache \
|
||||||
--pull \
|
--pull \
|
||||||
-t linuxserver/ffmpeg:latest .
|
-t lscr.io/linuxserver/docker-ffmpeg:latest .
|
||||||
```
|
```
|
||||||
|
|
||||||
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
|
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
|
||||||
```
|
|
||||||
|
```bash
|
||||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue