Командная строка ffmpeg, чтобы вставить часть аудио в mp3 в другой файл - PullRequest
0 голосов
/ 13 января 2020

Хотите скопировать с 3-й секунды b.mp3 до 2:05 секунд b.mp3 и добавить к концу a.mp3 (его длина 3:23).

Команда:

ffmpeg -i a.mp3 -i b.mp3

Выход:

ffmpeg version 4.0.4-0ubuntu1 Copyright (c) 2000-2019 the FFmpeg developers   built with gcc 8 (Ubuntu 8.2.0-7ubuntu1)
  configuration: --prefix=/usr --extra-version=0ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
Input #0, mp3, from 'a.mp3':
  Metadata:
    encoder         : Lavf58.12.100
  Duration: 00:02:48.00, start: 0.011021, bitrate: 144 kb/s
    Stream #0:0: Audio: mp3, 48000 Hz, stereo, fltp, 144 kb/s
    Metadata:
      encoder         : Lavc58.18
Input #1, mp3, from 'b.mp3':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf58.12.100
  Duration: 00:01:33.02, start: 0.011995, bitrate: 117 kb/s
    Stream #1:0: Audio: mp3, 44100 Hz, stereo, fltp, 117 kb/s
    Metadata:
      encoder         : Lavc58.18
At least one output file must be specified

1 Ответ

1 голос
/ 14 января 2020

Поскольку ваши входы имеют одинаковое расположение каналов и частоту дискретизации, вы можете использовать демультиплексор concat с директивами inpoint / outpoint. Это позволяет избежать перекодировки, поэтому качество сохраняется и процесс будет быстрым.

Make input.txt:

file 'a.mp3'
file 'b.mp3'
inpoint 3
outpoint 122

Run ffmpeg:

ffmpeg -f concat -i input.txt -c copy -vn output.mp3

Либо используйте фильтры atrim, asepts и concat, но фильтрация требует кодирования и будет медленнее.

...