在这两个示例中,我都将两个输入传递给ffmpeg
,将过滤器应用于第一个输入,并将其全部输出到.mp4
。
ffmpeg -y -threads 4 -ss 23.536 -t 44.854 -i .tmp/processing/vid-one.webm -ss 13.516 -t 54.874 -i .tmp/processing/vid-two.webm -filter_complex "[0]scale=320:-1,pad=2*iw:2*ih:0:120[left];[1]scale=320:-1[right];[left][right]overlay=main_w/2:120,scale=640:480" -shortest .tmp/processing/temp-23536-68390.mp4
ffmpeg -y -threads 4 -ss 68.39 -t 3.646 -i .tmp/processing/vid-one.webm -ss 58.37 -t 13.666 -i .tmp/processing/vid-two.webm -filter_complex "[0]scale=320:-1,pad=2*iw:2*ih:0:120[left];[1]scale=320:-1[right];[left][right]overlay=main_w/2:120,scale=640:480" -shortest .tmp/processing/temp-68390-72036.mp4
在日志记录输出中,我可以了解它的挂起位置。
输出到达此frame=
行,它会像这样更新输出
ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.7.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --enable-opencl --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, matroska,webm, from '.tmp/processing/vid-one.webm':
Metadata:
encoder : libwebm-0.2.1.0
creation_time : 2015-09-27 18:54:09
Duration: 00:01:10.35, start: 0.000000, bitrate: 45 kb/s
Stream #0:0(eng): Audio: opus, 48000 Hz, mono, fltp (default)
Stream #0:1(eng): Video: vp8, yuv420p, 640x480, SAR 1:1 DAR 4:3, 1k tbr, 1k tbn, 1k tbc (default)
Input #1, matroska,webm, from '.tmp/processing/vid-two.webm':
Metadata:
encoder : libwebm-0.2.1.0
creation_time : 2015-09-27 18:54:19
Duration: 00:00:59.58, start: 0.000000, bitrate: 356 kb/s
Stream #1:0(eng): Audio: opus, 48000 Hz, mono, fltp (default)
Stream #1:1(eng): Video: vp8, yuv420p, 640x480, SAR 1:1 DAR 4:3, 1k tbr, 1k tbn, 1k tbc (default)
[libx264 @ 0x7faa59843e00] using SAR=1/1
[libx264 @ 0x7faa59843e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7faa59843e00] profile High, level 5.2
[libx264 @ 0x7faa59843e00] 264 - core 144 r2533 c8a773e - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - 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=6 lookahead_threads=1 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 '.tmp/processing/temp-23536-68390.mp4':
Metadata:
encoder : Lavf56.36.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 1k fps, 16k tbn, 1k tbc (default)
Metadata:
encoder : Lavc56.41.100 libx264
Stream #0:1(eng): Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 48000 Hz, mono, s16, 128 kb/s (default)
Metadata:
encoder : Lavc56.41.100 libvo_aacenc
Stream mapping:
Stream #0:1 (vp8) -> scale (graph 0)
Stream #1:1 (vp8) -> scale (graph 0)
scale (graph 0) -> Stream #0:0 (libx264)
Stream #0:0 -> #0:1 (opus (native) -> aac (libvo_aacenc))
Press [q] to stop, [?] for help
Input stream #0:1 frame changed from size:640x480 fmt:yuv420p to size:320x240 fmt:yuv420p
Input stream #1:1 frame changed from size:640x480 fmt:yuv420p to size:1016x846 fmt:yuv420p
frame=13321 fps=268 q=33.0 size= 1321kB time=00:00:41.85 bitrate= 258.5kbits/s dup=13frame=25895 fps=258 q=33.0 size= 2268kB time=00:00:44.81 bitrate= 414.5kbits/s dup=25frame=35230 fps=244 q=33.0 size= 2936kB time=00:00:44.81 bitrate= 536.6kbits/s dup=35frame=41866 fps=231 q=33.0 size= 3552kB time=00:00:44.81 bitrate= 649.4kbits/s dup=41Past duration 0.999992 too large
frame=41868 fps=231 q=-1.0 Lsize= 4089kB time=00:00:44.85 bitrate= 746.8kbits/s dup=41862 drop=20
video:3108kB audio:479kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 13.986680%
[libx264 @ 0x7faa59843e00] frame I:168 Avg QP:18.70 size: 12936
[libx264 @ 0x7faa59843e00] frame P:10552 Avg QP:14.49 size: 37
[libx264 @ 0x7faa59843e00] frame B:31148 Avg QP:17.67 size: 20
[libx264 @ 0x7faa59843e00] consecutive B-frames: 0.8% 0.0% 0.0% 99.2%
[libx264 @ 0x7faa59843e00] mb I I16..4: 40.0% 39.7% 20.3%
[libx264 @ 0x7faa59843e00] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.2% 0.0% 0.0% 0.0% 0.0% skip:99.7%
[libx264 @ 0x7faa59843e00] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.0% 0.0% 0.0% direct: 0.0% skip:100.0% L0: 7.4% L1:92.6% BI: 0.0%
[libx264 @ 0x7faa59843e00] 8x8 transform intra:39.8% inter:54.0%
[libx264 @ 0x7faa59843e00] coded y,uvDC,uvAC intra: 31.6% 26.7% 16.9% inter: 0.0% 0.1% 0.0%
[libx264 @ 0x7faa59843e00] i16 v,h,dc,p: 68% 22% 9% 1%
[libx264 @ 0x7faa59843e00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 45% 14% 1% 3% 5% 2% 5% 3%
[libx264 @ 0x7faa59843e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 47% 10% 1% 2% 2% 3% 2% 3%
[libx264 @ 0x7faa59843e00] i8c dc,h,v,p: 73% 13% 12% 2%
[libx264 @ 0x7faa59843e00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7faa59843e00] ref P L0: 99.3% 0.4% 0.1% 0.2%
[libx264 @ 0x7faa59843e00] ref B L0: 68.7% 31.3%
[libx264 @ 0x7faa59843e00] ref B L1: 99.3% 0.7%
[libx264 @ 0x7faa59843e00] kb/s:608.06
当它到达frame=
行时,它会挂起
ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.7.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --enable-opencl --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, matroska,webm, from '.tmp/processing/vid-one.webm':
Metadata:
encoder : libwebm-0.2.1.0
creation_time : 2015-09-27 18:54:09
Duration: 00:01:10.35, start: 0.000000, bitrate: 45 kb/s
Stream #0:0(eng): Audio: opus, 48000 Hz, mono, fltp (default)
Stream #0:1(eng): Video: vp8, yuv420p, 640x480, SAR 1:1 DAR 4:3, 1k tbr, 1k tbn, 1k tbc (default)
Input #1, matroska,webm, from '.tmp/processing/vid-two.webm':
Metadata:
encoder : libwebm-0.2.1.0
creation_time : 2015-09-27 18:54:19
Duration: 00:00:59.58, start: 0.000000, bitrate: 356 kb/s
Stream #1:0(eng): Audio: opus, 48000 Hz, mono, fltp (default)
Stream #1:1(eng): Video: vp8, yuv420p, 640x480, SAR 1:1 DAR 4:3, 1k tbr, 1k tbn, 1k tbc (default)
[libx264 @ 0x7fdb4a802600] using SAR=1/1
[libx264 @ 0x7fdb4a802600] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7fdb4a802600] profile High, level 5.2
[libx264 @ 0x7fdb4a802600] 264 - core 144 r2533 c8a773e - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - 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=6 lookahead_threads=1 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 '.tmp/processing/temp-68390-72036.mp4':
Metadata:
encoder : Lavf56.36.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 1k fps, 16k tbn, 1k tbc (default)
Metadata:
encoder : Lavc56.41.100 libx264
Stream #0:1(eng): Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 48000 Hz, mono, s16, 128 kb/s (default)
Metadata:
encoder : Lavc56.41.100 libvo_aacenc
Stream mapping:
Stream #0:1 (vp8) -> scale (graph 0)
Stream #1:1 (vp8) -> scale (graph 0)
scale (graph 0) -> Stream #0:0 (libx264)
Stream #0:0 -> #0:1 (opus (native) -> aac (libvo_aacenc))
Press [q] to stop, [?] for help
Input stream #0:1 frame changed from size:640x480 fmt:yuv420p to size:320x240 fmt:yuv420p
Input stream #1:1 frame changed from size:640x480 fmt:yuv420p to size:1016x846 fmt:yuv420p
frame= 0 fps=0.0 q=0.0 Lsize= 17kB time=00:00:01.97 bitrate= 71.8kbits/s
版本:ffmpeg version 2.7.2
答案 0 :(得分:0)
此问题来自帧大小更改:“输入流#0:1帧从大小:640x480 fmt:yuv420p更改为大小:320x240 fmt:yuv420p”
首先将输入视频缩放为相同大小,然后进行叠加。