Anhängen von Audiodateien an Videos

1

Ich habe folgende Dateien:

01.mp4

G:\>ffmpeg -i 01.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '01.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.63.104
  Duration: 00:14:21.42, start: 0.000000, bitrate: 3746 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720, 3616 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(unk): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 123 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

02.mp4

G:\>ffmpeg -i 02.mp4    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '02.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isom
    creation_time   : 2013-12-06 17:49:10
    encoder         : FAAC 1.26.1 (Apr 29 2008) UNSTABLE
  Duration: 00:01:21.75, start: 0.023220, bitrate: 120 kb/s
    Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 119 kb/s (default)
    Metadata:
      creation_time   : 2013-12-06 17:49:10

03.mp4

G:\>ffmpeg -i 03.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '03.mp4':
  Metadata:
    major_brand     : M4V
    minor_version   : 0
    compatible_brands: M4V M4A mp42isom
  Duration: 00:20:31.98, start: 0.000000, bitrate: 1928 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 1796 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc (default)
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)

Ich muss die Dateien anhängen 02.mp4und 03.mp4an 01.mp4; so dass nach dem Ende des ersten Videos (um 00: 14: 21.42 ); Die nächste Datei (nur Audio vorhanden, kein Videostream) würde abgespielt (mit leerem / weißem / schwarzem Hintergrund?). Die Audiodauer beträgt ~ 2 Minuten, nach denen die dritte Datei abgespielt wird.

PS : Bitte schlagen Sie nicht vor, Wiedergabelisten zu erstellen. Ich möchte eine mkv / mp4-Datei als Ergebnis. Die Datei soll an mehrere andere Personen verteilt werden, und es ist lästig, allen von der Sequenz usw. zu erzählen

Ich habe mit MKVToolNix und FFmpeg herumgespielt und es geschafft, die Größe der beiden Videodateien ( 01.mp4und 03.mp4) zu ändern und zusammenzuführen . aber ich habe noch keine ahnung, wie ich vorgehen soll, um den audio-stream mit einem leeren video-frame einzufügen ...


FFmpeg Informationen

ffmpeg version N-58869-gae33007 Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec  7 2013 22:01:45 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 56.100 / 52. 56.100
  libavcodec     55. 45.100 / 55. 45.100
  libavformat    55. 22.100 / 55. 22.100
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     3. 92.100 /  3. 92.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100

hjpotter92
quelle

Antworten:

1

Ich denke, Sie können hier die Lavfi-Eingabe mit Filterfarbe verwenden. Hier ist ein Beispielbefehl:

ffmpeg -i 1.mp4 -i 2.mp4 -i 3.wav -f lavfi -i "color=black:size=1920x1080:duration=40" \
-filter_complex "[0:v][1:v][3:v]concat=n=3[out_video];[0:a][1:a][2:a]concat=n=3:v=0:a=1[out_audio]" \
-y -map [out_audio] -map [out_video] out.mp4

Wo 1.mp4 und 2.mp4 Dateien mit Video sind, ist 3.wav Datei mit Audio. Die Größe des Lavfi-Eingangs sollte der Videogröße von 1.mp4 und 2.mp4 entsprechen. Die Dauer der Lavfi-Eingabe sollte der Dauer der 3.wav-Datei entsprechen.

Ich hoffe es hilft.

ptQa
quelle
Ich habe den Prozess gestartet. Ich werde Ihnen das Ergebnis mitteilen, sobald es fertig ist.
hjpotter92