2017-02-03 8 views
0

Я пытаюсь вставить 13 секунд черного видео в начале видео, имеет звук с помощью FFmpeg, как так:Добавить черное видео в видео со звуком

ffmpeg -f lavfi -i "color=c=black:s=720x406:r=25:sar=1/1" -i input.mp4 -filter_complex \ 
"[0:v] trim=end=13,setpts=PTS-STARTPTS [blackstart]; \ 
[blackstart] [1:v] concat=n=2:v=1:a=0[out]" \ 
-map "[out]" -c:a copy output.mp4 

Однако звук не поддерживаются. Что я делаю неправильно? -c: копия, похоже, не работает, если я использую [1: a] где-нибудь?

garrett-retina:~ garrett-macbookretina$ ffmpeg -f lavfi -i "color=c=red:s=720x406:r=25:sar=1/1" -i input.mp4 -filter_complex \ 
> "[0:v] trim=end=13,setpts=PTS-STARTPTS [blackstart]; \ 
> [blackstart] [1:v] concat=n=2:v=1:a=0[out]" \ 
> -map "[out]" -c:a copy output.mp4 
ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers 
    built with Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn) 
    configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda 
    libavutil  55. 34.100/55. 34.100 
    libavcodec  57. 64.101/57. 64.101 
    libavformat 57. 56.100/57. 56.100 
    libavdevice 57. 1.100/57. 1.100 
    libavfilter  6. 65.100/6. 65.100 
    libavresample 3. 1. 0/3. 1. 0 
    libswscale  4. 2.100/4. 2.100 
    libswresample 2. 3.100/2. 3.100 
    libpostproc 54. 1.100/54. 1.100 
Input #0, lavfi, from 'color=c=red:s=720x406:r=25:sar=1/1': 
    Duration: N/A, start: 0.000000, bitrate: N/A 
    Stream #0:0: Video: rawvideo (I420/0x30323449), yuv420p, 720x406 [SAR 1:1 DAR 360:203], 25 tbr, 25 tbn, 25 tbc 
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.56.100 
    Duration: 33:59:47.32, start: 0.000000, bitrate: 179 kb/s 
    Stream #1:0(und): Video: h264 (High) (avc1/0x31637661), yuv420p, 720x406 [SAR 1:1 DAR 360:203], 62 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) 
    Metadata: 
     handler_name : VideoHandler 
    Stream #1:1(und): Audio: aac (LC) (mp4a/0x6134706D), 16000 Hz, stereo, fltp, 114 kb/s (default) 
    Metadata: 
     handler_name : SoundHandler 
[libx264 @ 0x7fa344048400] using SAR=1/1 
[libx264 @ 0x7fa344048400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX 
[libx264 @ 0x7fa344048400] profile High, level 3.0 
[libx264 @ 0x7fa344048400] 264 - core 148 r2748 97eaef2 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=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_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 
Output #0, mp4, to '/Users/garrett-macbookretina/Desktop/Best of Luck With the Wall/exports/test.mp4': 
    Metadata: 
    encoder   : Lavf57.56.100 
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0]/0x0021), yuv420p, 720x406 [SAR 1:1 DAR 360:203], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default) 
    Metadata: 
     encoder   : Lavc57.64.101 libx264 
    Side data: 
     cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 
Stream mapping: 
    Stream #0:0 (rawvideo) -> trim 
    Stream #1:0 (h264) -> concat:in1:v0 
    concat -> Stream #0:0 (libx264) 
Press [q] to stop, [?] for help 
frame=3060008 fps=432 q=-1.0 Lsize= 957795kB time=34:00:00.20 bitrate= 64.1kbits/s speed=17.3x  
video:921972kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.885564% 
[libx264 @ 0x7fa344048400] frame I:16585 Avg QP:13.67 size: 49743 
[libx264 @ 0x7fa344048400] frame P:770518 Avg QP:16.48 size: 91 
[libx264 @ 0x7fa344048400] frame B:2272905 Avg QP:25.11 size: 22 
[libx264 @ 0x7fa344048400] consecutive B-frames: 0.9% 0.1% 0.4% 98.6% 
[libx264 @ 0x7fa344048400] mb I I16..4: 10.2% 39.7% 50.1% 
[libx264 @ 0x7fa344048400] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.7% 0.0% 0.0% 0.0% 0.0% skip:99.1% 
[libx264 @ 0x7fa344048400] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.2% 0.0% 0.0% direct: 0.0% skip:99.8% L0:46.9% L1:53.1% BI: 0.1% 
[libx264 @ 0x7fa344048400] 8x8 transform intra:39.9% inter:52.0% 
[libx264 @ 0x7fa344048400] coded y,uvDC,uvAC intra: 86.1% 77.1% 60.4% inter: 0.0% 0.1% 0.0% 
[libx264 @ 0x7fa344048400] i16 v,h,dc,p: 66% 10% 13% 11% 
[libx264 @ 0x7fa344048400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 20% 14% 6% 7% 7% 7% 7% 11% 
[libx264 @ 0x7fa344048400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 19% 11% 7% 9% 8% 8% 7% 9% 
[libx264 @ 0x7fa344048400] i8c dc,h,v,p: 59% 19% 17% 5% 
[libx264 @ 0x7fa344048400] Weighted P-Frames: Y:0.0% UV:0.0% 
[libx264 @ 0x7fa344048400] ref P L0: 53.9% 4.0% 16.6% 25.5% 0.0% 
[libx264 @ 0x7fa344048400] ref B L0: 27.9% 71.6% 0.5% 
[libx264 @ 0x7fa344048400] ref B L1: 97.6% 2.4% 
[libx264 @ 0x7fa344048400] kb/s:61.71 
garrett-retina:~ garrett-macbookretina$ 

ответ

2

Вам также необходимо добавить тихий звук. Один из методов, при помощи anullsrc:

ffmpeg \ 
-f lavfi -i "color=c=black:s=720x406:r=25:sar=1/1:d=13" \ 
-f lavfi -t 1 -i anullsrc=cl=stereo:r=16000 \ 
-i input.mp4 \ 
-filter_complex \ 
"[2:v]setpts=PTS-STARTPTS[video]; \ 
[0:v][1:a][video][2:a]concat=n=2:v=1:a=1[v][a]" \ 
-map "[v]" -map "[a]" output.mp4 

Бесшумная аудио длительности требуется только, чтобы быть короче, чем черная длительность видео; фильтр concat автоматически поместит остальные.

Я не могу проверить этот пример на данный момент, но если он сломан, дайте мне знать, и я могу исправить его позже.

+0

Спасибо, это работает, я не знаю наверняка до утра, когда рендер сделан. Вторая строка - это то, что меня смущает. Является ли порядок '[0: v] [1: a] [видео] [2: a]', потому что их нужно сгруппировать по двум, видео и аудио, а затем следующему конкатенированному видео и аудио? Я думаю, что теперь я получаю разницу между '[0: v]' и т. Д. И другими псевдонимами, такими как '[video]' - первое соглашение об алиасах относится к тому, что касается права на фильтр? Почему это 'n = 2', когда есть три входных файла? – garrettlynch

+0

@garrettlynch 1. Правильно 2. Имена ввода/вывода для фильтров называются * метками ссылок * и могут ссылаться на входные файлы ('[1: a]' -аудио-поток ввода №2) и также могут ссылаться на входы и выходы фильтров ('[video]'). 3. 'n = 2' относится к числу сегментов, к которым вы хотите присоединиться: в этом случае 2 сегмента видео + аудио. 4. Если вы хотите выполнить короткий тест, вы можете добавить опцию «-t 30» для 30-секундного теста. – LordNeckbeard

+0

Хорошо, это имеет смысл. Спасибо за объяснение, только ffmpeg использовал только последние пять дней, но сейчас нажимаю :) – garrettlynch

 Смежные вопросы

  • Нет связанных вопросов^_^