вставить видео в видео ffmpeg в точное время

У меня есть видео out.mp4 - 30 секунд. Я хочу добавить новое видео image1.mp4 - 5 секунд на выходе. Mp4 - 10 секунд. У меня есть этот код, чтобы поместить мой image1.mp4 в out.mp4.

ffmpeg -i F:\out.mp4  -vf "movie=image2.mp4 , scale=200:-1,fade=out:200:alpha=1 , [inner]; [in][inner] overlay=70:70 [out]"  -c:v libx264  -s "1080x720" completed.mp4

выход

    >ffmpeg -i F:\out.mp4 -vf "movie=image2.mp4 , scale=200:-1,fade=out:100:alpha=1
 [inner]; [in][inner] overlay=70:70 [out]"  completed.mp4
ffmpeg version N-70411-g7da7d26 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.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-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-lib
modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --en
able-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
 --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enab
le-zlib
  libavutil      54. 19.100 / 54. 19.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 24.101 / 56. 24.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'F:\out.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.24.101
  Duration: 00:00:16.67, start: 0.000000, bitrate: 309 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 800x640 [
SAR 1:1 DAR 5:4], 306 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
[swscaler @ 0000000005608ea0] deprecated pixel format used, make sure you did se
t range correctly
[libx264 @ 0000000002c1c3a0] using SAR=1/1
[libx264 @ 0000000002c1c3a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0000000002c1c3a0] profile High, level 3.1
[libx264 @ 0000000002c1c3a0] 264 - core 144 r2525 40bb568 - H.264/MPEG-4 AVC cod
ec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 r
ef=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed
_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pski
p=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 deci
mate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_
adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=2
5 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.6
0 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'completed.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.24.101
    Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 8
00x640 [SAR 1:1 DAR 5:4], q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc56.26.100 libx264
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame=   68 fps=0.0 q=29.0 size=      96kB time=00:00:00.63 bitrate=1245.6kbits/
frame=  111 fps=107 q=29.0 size=     161kB time=00:00:02.06 bitrate= 637.5kbits/
frame=  155 fps=100 q=29.0 size=     222kB time=00:00:03.53 bitrate= 514.3kbits/
frame=  212 fps=103 q=29.0 size=     270kB time=00:00:05.43 bitrate= 406.5kbits/
frame=  270 fps=105 q=29.0 size=     292kB time=00:00:07.36 bitrate= 324.9kbits/
frame=  314 fps=102 q=29.0 size=     465kB time=00:00:08.83 bitrate= 431.6kbits/
frame=  382 fps=106 q=29.0 size=     569kB time=00:00:11.10 bitrate= 420.0kbits/
frame=  461 fps=112 q=29.0 size=     597kB time=00:00:13.73 bitrate= 356.2kbits/
frame=  500 fps=107 q=-1.0 Lsize=     629kB time=00:00:16.60 bitrate= 310.3kbits
/s
video:623kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing o
verhead: 0.984177%
[libx264 @ 0000000002c1c3a0] frame I:3     Avg QP:15.65  size: 90538
[libx264 @ 0000000002c1c3a0] frame P:190   Avg QP:21.18  size:  1663
[libx264 @ 0000000002c1c3a0] frame B:307   Avg QP:30.53  size:   161
[libx264 @ 0000000002c1c3a0] consecutive B-frames: 18.0%  0.0%  1.2% 80.8%
[libx264 @ 0000000002c1c3a0] mb I  I16..4: 17.4% 72.4% 10.2%
[libx264 @ 0000000002c1c3a0] mb P  I16..4:  0.0%  0.3%  0.2%  P16..4:  5.0%  1.3
%  0.9%  0.0%  0.0%    skip:92.2%
[libx264 @ 0000000002c1c3a0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  2.1%  0.3
%  0.1%  direct: 0.1%  skip:97.4%  L0:39.2% L1:52.6% BI: 8.2%
[libx264 @ 0000000002c1c3a0] 8x8 transform intra:68.7% inter:65.2%
[libx264 @ 0000000002c1c3a0] coded y,uvDC,uvAC intra: 79.0% 49.6% 23.6% inter: 1
.1% 1.6% 0.2%
[libx264 @ 0000000002c1c3a0] i16 v,h,dc,p: 92%  5%  1%  2%
[libx264 @ 0000000002c1c3a0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19%  8% 22%  7%  8%
12%  5% 13%  6%
[libx264 @ 0000000002c1c3a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 18% 16%  5%  6%
 8%  6%  7%  6%
[libx264 @ 0000000002c1c3a0] i8c dc,h,v,p: 63% 16% 18%  3%
[libx264 @ 0000000002c1c3a0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0000000002c1c3a0] ref P L0: 59.0% 18.1% 17.1%  5.8%
[libx264 @ 0000000002c1c3a0] ref B L0: 83.8% 11.7%  4.5%
[libx264 @ 0000000002c1c3a0] ref B L1: 96.5%  3.5%
[libx264 @ 0000000002c1c3a0] kb/s:305.76

person Ti Amo Laky    schedule 22.03.2015    source источник
comment
Вам необходимо включить полный вывод консоли из вашей команды.   -  person llogan    schedule 23.03.2015
comment
Запустите команду. Как только он закончит, скопируйте вывод и вставьте его в свой вопрос.   -  person llogan    schedule 23.03.2015
comment
ок, я поставил консоль вывода :)   -  person Ti Amo Laky    schedule 23.03.2015
comment
Существует вариант между вариантами, который может помочь stackoverflow.com/a/29222419/32453 (и выбрать фильтр?), Не знаю ...   -  person rogerdpack    schedule 27.03.2015
comment
спасибо, но я не знаю, как я могу сделать это ffmpeg -i F: \ out.mp4 -vf movie = image2.mp4, scale = 200: -1, fade = out: 100: alpha = 1, select = between ( t \, 4 \, 9) [внутренний]; [in] [inner] overlay = 70: 70 [out] completed.mp4, но он выбран из image2.mp4 не для входного видео out.mp4, как я могу применить это для ввода?   -  person Ryodo    schedule 28.03.2015


Ответы (1)


Вы должны разделить исходное видео и объединить три части.

Как видно из списка рассылки ffmpeg-user, в настоящее время нет фильтра, который помог бы "вставить" операции ...

Цитата из обсуждения в августе 2014 года:

Кому это может быть интересно:

Привет, я пользователь ffmpeg. Я знаю, что ffmpeg может объединить два видео или аудио в один новый медиа-файл, но я хочу вставить видео или аудио в середину медиа-файла, например, продолжительность «a.avi» составляет 00:05:00 , а продолжительность "b.rmvb" - 00:01:00, я хочу вставить "b.rmvb" в позицию "00:02:00" a.avi, продолжительность нового a.avi составляет " 00:06:00 ", как это выполнить? если нет, можете ли вы добавить эту новую функцию в ffmpeg и обновить ее? Спасибо за внимание.

Да, это возможно, но вам нужно будет разделить первое видео на 2 видео, а затем объединить все 3. Так работает вставка (даже в программе NLE, такой как Avid, FCP или Premiere).

Обратите внимание, что все форматы должны быть идентичными, и вам нужно будет либо использовать удобный формат для редактирования внутри кадра, либо разделить его на I-кадр.


Список рассылки ffmpeg-user ffmpeg-user на ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user

person F2K    schedule 02.04.2015
comment
Спасибо за ваш пост, как я могу снова записать видео и конкатенировать? - person Ryodo; 03.04.2015
comment
@Ryodo, вы можете найти множество руководств, вот ссылка с кучей полезных команд (разделить и присоединиться тоже) labnol.org/internet/useful-ffmpeg-commands/28490 - person F2K; 04.04.2015