1.5.34.1. linuxserver/ffmpeg

[!TIP]

前半部分是翻译官方的文档,最后一部分是我的简单试用(个别软件会深度试用),如果对Docker已经有一定的了解了,可以直接跳转到最后面 翻译之外 这部分来查看。

FFmpeg → https://ffmpeg.org/

GitHub → https://github.com/linuxserver/docker-ffmpeg/releases

Docker Hub → https://hub.docker.com/r/linuxserver/ffmpeg

FFmpeg 是一个完善的跨平台的录制、转码、串流视频和音频的解决方案。


1.5.34.1.1. 支持的系统架构

得益于docker的跨平台属性,我们的镜像也支持多架构(如,x86-64、arm64、armhf)。

直接拉取 linuxserver/ffmpeg 应该就可以自动获取适合你系统架构的版本,当然你也可以通过 tag 获取特定的版本。

架构 Tag
x86-64 amd64-latest
arm64 arm64v8-latest
armhf arm32v7-latest

1.5.34.1.2. 拉取镜像

docker pull linuxserver/ffmpeg

1.5.34.1.3. 使用方法

以下是一些简单的示例。

与我们其他大部分的惊险个不同,该镜像仅通过输入FFmpeg命令在命令行中短暂地运行。为了能很好地使用该镜像,你需要了解Docker的基本使用方法并了解FFmpeg命令。在下面的示例中,我们将通过CLI来映射 /config 作为我们的工作目录并假设 input.mkv 文件在工作目录内。

我们应该使用输入文件的 用户/组 来运行FFmpeg,从而避免权限问题。

该镜像在 x86 平台下,支持硬件加速,具体可以参考下面的示例中的变量。

1.5.34.1.3.1. 基本使用

docker run --rm -it \
  -v $(pwd):/config \
  linuxserver/ffmpeg \
  -i /config/input.mkv \
  -c:v libx264 \
  -b:v 4M \
  -vf scale=1280:720 \
  -c:a copy \
  /config/output.mkv

1.5.34.1.3.2. 硬件加速(VAAPI)

docker run --rm -it \
  --device=/dev/dri:/dev/dri \
  -v $(pwd):/config \
  linuxserver/ffmpeg \
  -vaapi_device /dev/dri/renderD128 \
  -i /config/input.mkv \
  -c:v h264_vaapi \
  -b:v 4M \
  -vf 'format=nv12|vaapi,hwupload,scale_vaapi=w=1280:h=720' \
  -c:a copy \
  /config/output.mkv

1.5.34.1.3.3. Nvidia硬件加速

docker run --rm -it \
  --runtime=nvidia \
  -v $(pwd):/config \
  linuxserver/ffmpeg \
  -hwaccel nvdec \
  -i /config/input.mkv \
  -c:v h264_nvenc \
  -b:v 4M \
  -vf scale=1280:720 \
  -c:a copy \
  /config/output.mkv

1.5.34.1.3.4. 本地构建

如果你希望本地自定义这些镜像或自定义逻辑

git clone https://github.com/linuxserver/docker-ffmpeg.git
cd docker-ffmpeg
docker build \
  --no-cache \
  --pull \
  -t linuxserver/ffmpeg:latest .

可以使用 multiarch/qemu-user-static 在 x86_64 平台上构建 ARM 镜像

docker run --rm --privileged multiarch/qemu-user-static:register --reset

完成后,即可使用 -f Dockerfile.aarch64 来构建镜像。


1.5.34.1.4. 翻译之外

FFmpeg是比较有名的媒体工具了,但自己对其了解的比较少,暂时就不进行深入的试用了。

powered by Gitbook该页面修订时间: 2020-11-04 13:30:59

results matching ""

    No results matching ""