ffmpeg - 两个几乎相同的 ffmpeg 命令,一个有效,另一个卡住

标签 ffmpeg

在这两个示例中,我将两个输入传递给 ffmpeg对第一个输入应用过滤器,并将其全部输出到 .mp4 .

示例 1

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

示例 2
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

在日志输出中,我可以了解它挂断的位置。

输出示例 1

输出到这个 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

输出示例 2

当它到达 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:1 帧从大小:640x480 fmt:yuv420p 更改为大小:320x240 fmt:yuv420p”

首先将您的输入视频缩放到相同的大小,然后进行叠加。

关于ffmpeg - 两个几乎相同的 ffmpeg 命令,一个有效,另一个卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32815297/

相关文章:

python - 无法在 OpenCV(Python)中打开视频

c++ - 在 GLFW 窗口中显示 FFMPEG 解码帧

video - ffmpeg - 偏移视频的裁剪部分

audio - 当我将无声音频 (mp3) 附加到现有音频列表时,最终音频会出现乱码?

无法复制 FFMpeg Prores 质量设置

video - 查找远程媒体文件的视频分辨率和视频持续时间

c++ - 如何以编程方式使用 ffmpeg faststart 标志?

flash - 将 RTMP 协议(protocol)重定向到另一个 RTMP 流

ruby-on-rails-3 - 使用 Rails 进行后台视频处理

docker - 将本地视频文件流式传输为 RTSP 并发布到端口