Send a raw argument string to the FFmpeg command-line program. This is a direct command. The function passes the string to FFmpeg unchanged, after the path of the FFmpeg program. So you are responsible for the quoting and the order of the options.
See also
ffmpeg_codecs() and ffmpeg_encoders() ask FFmpeg what it
supports. The ffm_*() pipeline functions, such as
ffm_run(), are a safer way to build a command.
Other direct command functions:
ffprobe(),
mediainfo()
Examples
# A direct command: the function passes the string to FFmpeg unchanged
ffmpeg("-version")
#> [1] "ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers"
#> [2] "built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)"
#> [3] "configuration: --prefix=/usr --extra-version=3ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared"
#> [4] "libavutil 58. 29.100 / 58. 29.100"
#> [5] "libavcodec 60. 31.102 / 60. 31.102"
#> [6] "libavformat 60. 16.100 / 60. 16.100"
#> [7] "libavdevice 60. 3.100 / 60. 3.100"
#> [8] "libavfilter 9. 12.100 / 9. 12.100"
#> [9] "libswscale 7. 5.100 / 7. 5.100"
#> [10] "libswresample 4. 12.100 / 4. 12.100"
#> [11] "libpostproc 57. 3.100 / 57. 3.100"