Videobereich ausschneiden
5. November 2023
Manchmal stolpert man über Videos, die hochkant hochgeladen wurden. Mit
$ youtube-dl https://www.youtube.com/watch?v=GMQdHHY7CC4
lässt sich das Video zwar herunterladen, aber beim Anschauen wird der Sichtbereich von den Balken oben und unten weiterhin eingeengt.
Abhilfe schafft ffmpeg
mit folgendem Aufruf.
$ ffmpeg -i input.mp4 -vf "crop:w:h:x:y" output.mp4
Dabei ist w
die Breite des Ausschnitts und h
dessen Höhe.
Mit x
und y
werden die Koordinaten bestimmt von denen ausgehend der Ausschnitt beginnt.
Beispielhaft für den erwähnten Film lautet der Aufruf folgendermaßen.
$ ffmpeg -i Der\ Zauberer\ und\ die\ Banditen\ 1959\ \[GMQdHHY7CC4\].webm -vf "crop=540:236:0:422" Der\ Zauberer\ und\ die\ Banditen\ 1959.webm
ffmpeg version n6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13.2.1 (GCC) 20230801
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
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
Input #0, matroska,webm, from 'Der Zauberer und die Banditen 1959 [GMQdHHY7CC4].webm':
Metadata:
ENCODER : Lavf60.3.100
Duration: 01:17:07.35, start: 0.000000, bitrate: 726 kb/s
Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv), 540x1080, SAR 1:1 DAR 1:2, 25 fps, 25 tbr, 1k tbn (default)
Metadata:
DURATION : 01:17:07.320000000
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Metadata:
DURATION : 01:17:07.348000000
Stream mapping:
Stream #0:0 -> #0:0 (vp9 (native) -> vp9 (libvpx-vp9))
Stream #0:1 -> #0:1 (opus (native) -> opus (libopus))
Press [q] to stop, [?] for help
[libopus @ 0x55a8d9771840] No bit rate set. Defaulting to 96000 bps.
[libvpx-vp9 @ 0x55a8d9772680] v1.13.1
[libvpx-vp9 @ 0x55a8d9772680] Neither bitrate nor constrained quality specified, using default CRF of 32
Output #0, webm, to 'Der Zauberer und die Banditen 1959.webm':
Metadata:
encoder : Lavf60.3.100
Stream #0:0(eng): Video: vp9, yuv420p(tv, progressive), 540x236 [SAR 1:1 DAR 135:59], q=2-31, 25 fps, 1k tbn (default)
Metadata:
DURATION : 01:17:07.320000000
encoder : Lavc60.3.100 libvpx-vp9
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, flt, 96 kb/s (default)
Metadata:
DURATION : 01:17:07.348000000
encoder : Lavc60.3.100 libopus
frame=115683 fps= 96 q=30.0 Lsize= 165235kB time=01:17:07.32 bitrate= 292.5kbits/s speed=3.83x
video:134691kB audio:28296kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.378435%