dburianov/ffmpeg

By dburianov

Updated 8 months ago

Image

2.3K

ffmpeg

pipeline statuscoverage reportLatest Release

Linux ARM64 and AMD64 platform both

GIt repository: https://gitlab.com/burianov/ffmpeg

Tested on:

Linux 3a37615f3c9f 6.2.0-34-generic #34~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep  7 13:12:03 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Linux 330b39f1c79f 6.1.0-rpi4-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.54-1+rpt2 (2023-10-05) aarch64 aarch64 aarch64 GNU/Linux

Version:

ffmpeg version 6.0-c5039e1 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)

How to use

Nvidia GPU Encodign for web cam
docker run \
    --rm \
    --name c920 \
    --device /dev/video0:/dev/video0 \
    --device /dev/snd:/dev/snd \
    --gpus all \
    -e NVIDIA_VISIBLE_DEVICES=all \
    -e NVIDIA_DRIVER_CAPABILITIES=compute,utility,video \
    ffmpeg:nvidia \
    -hwaccel_device 0 \
    -hwaccel cuvid \
    -f alsa -i hw:5 \
    -f v4l2 -vcodec h264 -framerate 30 -video_size 1920x1080 -i /dev/video0 \
    -codec:v h264_nvenc -b:v 5M -codec:a libfdk_aac -b:a 128k -ac 1 -ar 48000 \
    -f flv rtmp://a.rtmp.youtube.com/live2/aaaa-bbbb-cccc-dddd-eeee

Build configuraton for cpu encoding

  configuration:
    --prefix=/usr/ffmpeg_build
    --pkg-config-flags=--static
    --extra-cflags=-I/usr/ffmpeg_build/include
    --extra-ldflags=-L/usr/ffmpeg_build/lib
    --extra-libs='-lpthread -lm -ldl'
    --bindir=/usr/local/bin
    --disable-doc
    --disable-ffplay
    --enable-gpl
    --enable-libopenjpeg
    --enable-libaom
    --enable-libass
    --enable-libfdk-aac
    --enable-libfreetype
    --enable-libmp3lame
    --enable-libopus
    --enable-libvorbis
    --enable-libvpx
    --enable-libx264
    --enable-nonfree
    --enable-libxcb
    --enable-libpulse
    --enable-alsa
    --enable-filter=movie
    --enable-filter=drawtext
    --enable-libfreetype
    --enable-filter=overlay
    --enable-filter=yadif
    --enable-libopencore-amrnb
    --enable-libopencore-amrwb
    --enable-libass
    --enable-libvidstab
    --enable-libwebp
    --enable-libxvid
    --enable-openssl
    --enable-libkvazaar
    --ld=g++
    --enable-libvmaf
    --enable-libx265
    --enable-postproc
    --enable-small
    --enable-version3
    --enable-libsvtav1
    --enable-libdav1d
    --enable-libsrt
    --enable-libzmq
    --enable-libbluray
    --build-suffix=6.0
    --extra-version=6.0
    libavutil      58.  2.100 / 58.  2.100
    libavcodec     60.  3.100 / 60.  3.100
    libavformat    60.  3.100 / 60.  3.100
    libavdevice    60.  1.100 / 60.  1.100
    libavfilter     9.  3.100 /  9.  3.100
    libswscale      7.  1.100 /  7.  1.100
    libswresample   4. 10.100 /  4. 10.100
    libpostproc    57.  1.100 / 57.  1.100

monitoring

https://github.com/NVIDIA/dcgm-exporter

Docker Pull Command

docker pull dburianov/ffmpeg