ffmpeg-是否适合多行文本(具有不同的字体),并具有自动换行和自动字体大小?

ffmpeg-是否适合多行文本(具有不同的字体),并具有自动换行和自动字体大小?

尽量将这个问题的信息量降到最低。如果太长,请见谅,感谢您阅读!

我试图让这些文本(它们有不同的字体和字体大小)适合头像图像的右侧,但遇到了困难。输出是一个 m3u8 播放列表文件,由前端 JS 视频播放器播放。请查看当前输出:https://postimg.cc/nXx34z96。此命令由 Node.js 控制器生成(这就是为什么您可以在其中找到多个 drawtext 过滤器,它们来自 for 循环)并且由于隐私原因我无法在此处复制粘贴它。

问题:有没有什么方法可以呈现所有文本副本,无论它们的字体系列和字体大小如何,对于所有三种文本:

  • 文本不会被剪切或丢失
  • 自动添加换行符
  • 字体大小自动缩放

这样每行最多可以容纳 2 行文本?让我们根据字体系列假设每行最多 X 个字符(有些字体的字形比其他字体更宽)。

非常感谢任何反馈/指导!非常感谢!

所需的图形草图如下。

           line1-with-font1
           line2-with-font1(-if-needed)

[avatar]   line1-with-font2
[ here ]   line2-with-font2(-if-needed)

           line1-with-font3
           line2-with-font3(-if-needed)

我也尝试过将文本写入具有透明背景的图像(这样我就可以随后将其叠加到视频中)但我遇到了 png 图像上的文本太模糊的问题(使用了 imagemagickconvert并使用了不同的设置)。

当前命令

time ffmpeg -y -i 5e47a1be4df117b7f79596dda7987c45.mp4 -i avatar.png -i ../../preview/helper-videos/bokeh.mp4 -i 1629885277.mp3 -preset ultrafast -crf 18 -filter_complex " [0:v]scale=878:494:force_original_aspect_ratio=decrease,pad=878:494:(ow-iw)/2:(oh-ih)/2,setsar=1,format=yuva420p[video]; [video]fade=in :0 :25[video]; [2:v]scale=1756:988:force_original_aspect_ratio=increase,format=rgba,colorchannelmixer=aa=0.2[motionOverlay];[video][motionOverlay]overlay[video]; [video]drawbox= x=0 :y=0 :w=iw :h=ih :[email protected] :t='fill' :enable='between(t,3,21)'[video]; [1:v]scale=-2:247:force_original_aspect_ratio=increase,format=yuva420p[scaledCoverPhoto]; [video][scaledCoverPhoto]overlay=:x=w/2:y=(H-h)/2:enable='between(t,4,21)' ,drawtext=fontfile=../../preview/fonts/opensans-regular.ttf\n` +
"              :text='Main text here, could be long enough to split in multiple lines'\n" +
'              :fontcolor=0xFFFFFF\n' +
'              :fontsize=40\n' +
"              :alpha='\n" +
'              \n' +
"              if(lt(t,5),0,if(lt(t,6),(t-5)/1,if(lt(t,22),1,if(lt(t,28),(1-(t-27))/1,0))))'\n" +
'              :x=W/2\n' +
'              :y=h/2-120, drawtext=fontfile=../../preview/fonts/greatvibes-regular.ttf\n' +
"            :text='This is'\n" +
'            :fontcolor=0xFFFFFF\n' +
'            :fontsize=46\n' +
"            :alpha='if(lt(t,5),0,if(lt(t,7),(t-5)/1,if(lt(t,22),1,if(lt(t,28),(1-(t-27))/1,0))))'\n" +
'                :x=(w-text_w)/2 + 100\n' +
'                :y=200 - text_h/2,drawtext=fontfile=../../preview/fonts/greatvibes-regular.ttf\n' +
"            :text='the title'\n" +
'            :fontcolor=0xFFFFFF\n' +
'            :fontsize=46\n' +
"            :alpha='if(lt(t,5),0,if(lt(t,7),(t-5)/1,if(lt(t,22),1,if(lt(t,28),(1-(t-27))/1,0))))'\n" +
'                :x=(w-text_w)/2 + 100\n' +
'                :y=250 - text_h/2,drawtext=fontfile=../../preview/fonts/greatvibes-regular.ttf\n' +
"            :text='that can'\n" +
'            :fontcolor=0xFFFFFF\n' +
'            :fontsize=46\n' +
"            :alpha='if(lt(t,5),0,if(lt(t,7),(t-5)/1,if(lt(t,22),1,if(lt(t,28),(1-(t-27))/1,0))))'\n" +
'                :x=(w-text_w)/2 + 100\n' +
'                :y=300 - text_h/2,drawtext=fontfile=../../preview/fonts/greatvibes-regular.ttf\n' +
"            :text='be long'\n" +
'            :fontcolor=0xFFFFFF\n' +
'            :fontsize=46\n' +
"            :alpha='if(lt(t,5),0,if(lt(t,7),(t-5)/1,if(lt(t,22),1,if(lt(t,28),(1-(t-27))/1,0))))'\n" +
'                :x=(w-text_w)/2 + 100\n' +
'                :y=350 - text_h/2,drawtext=fontfile=../../preview/fonts/greatvibes-regular.ttf\n' +
"            :text='enough'\n" +
'            :fontcolor=0xFFFFFF\n' +
'            :fontsize=46\n' +
"            :alpha='if(lt(t,5),0,if(lt(t,7),(t-5)/1,if(lt(t,22),1,if(lt(t,28),(1-(t-27))/1,0))))'\n" +
'                :x=(w-text_w)/2 + 100\n' +
'                :y=400 - text_h/2,drawtext=fontfile=../../preview/fonts/greatvibes-regular.ttf\n' +
"            :text='too'\n" +
'            :fontcolor=0xFFFFFF\n' +
'            :fontsize=46\n' +
"            :alpha='if(lt(t,5),0,if(lt(t,7),(t-5)/1,if(lt(t,22),1,if(lt(t,28),(1-(t-27))/1,0))))'\n" +
'                :x=(w-text_w)/2 + 100\n' +
'                :y=450 - text_h/2, drawtext=fontfile=../../preview/fonts/opensans-regular.ttf\n' +
"          :text='A subtitle here, can be long, also'\n" +
'          :fontcolor=0xFFFFFF\n' +
'          :fontsize=20\n' +
"          :alpha='if(lt(t,5),0,if(lt(t,8),(t-5)/1,if(lt(t,22),1,if(lt(t,28),(1-(t-27))/1,0))))'\n" +
'              :x=(w-text_w)/2 + 120\n' +
'              :y=(h-text_h)/2 + text_h*2 + 180, format=yuv420p, scale=-2:494 " -shortest -map 3:a -format hls -sn -hls_time 5 -hls_list_size 0 -hls_flags split_by_time -hls_playlist_type event -g 4 -r 25 output/index.m3u8'

命令输出

LOG: [
'INFO',
'stderr:',
'ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers\n' +
'  built with Apple clang version 12.0.5 (clang-1205.0.22.9)\n' +
'  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.4_2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-avresample --enable-videotoolbox\n' +
'  libavutil      56. 70.100 / 56. 70.100\n' +
'  libavcodec     58.134.100 / 58.134.100\n' +
'  libavformat    58. 76.100 / 58. 76.100\n' +
'  libavdevice    58. 13.100 / 58. 13.100\n' +
'  libavfilter     7.110.100 /  7.110.100\n' +
'  libavresample   4.  0.  0 /  4.  0.  0\n' +
'  libswscale      5.  9.100 /  5.  9.100\n' +
'  libswresample   3.  9.100 /  3.  9.100\n' +
'  libpostproc    55.  9.100 / 55.  9.100\n' +
"Input #0, image2, from '07201487ede265cdea98d02930cd90dd.jpg':\n" +
'  Duration: 00:00:00.04, start: 0.000000, bitrate: 62761 kb/s\n' +
'  Stream #0:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 411x494 [SAR 96:96 DAR 411:494], 25 fps, 25 tbr, 25 tbn, 25 tbc\n' +
'Stream mapping:\n' +
'  Stream #0:0 (mjpeg) -> scale\n' +
'  fade -> Stream #0:0 (libx264)\n' +
'Press [q] to stop, [?] for help\n' +
'[swscaler @ 0x7fceb8008000] deprecated pixel format used, make sure you did set range correctly\n' +
'[libx264 @ 0x7fceb3809400] using SAR=411/494\n' +
'[libx264 @ 0x7fceb3809400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2\n' +
'[libx264 @ 0x7fceb3809400] profile High 4:4:4 Predictive, level 1.0, 4:4:4, 8-bit\n' +
'[libx264 @ 0x7fceb3809400] 264 - core 163 r3060 5db6aa6 - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - 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=4 threads=3 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\n' +
"Output #0, mp4, to 'coverPhoto-35034893880715867923.mp4':\n" +
'  Metadata:\n' +
'    encoder         : Lavf58.76.100\n' +
'  Stream #0:0: Video: h264 (avc1 / 0x31637661), yuvj444p(pc, bt470bg/unknown/unknown, progressive), 100x100 [SAR 411:494 DAR 411:494], q=2-31, 25 fps, 12800 tbn\n' +
'    Metadata:\n' +
'      encoder         : Lavc58.134.100 libx264\n' +
'    Side data:\n' +
'      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A\n' +
'frame=    1 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    \rframe=  102 fps=0.0 q=28.0 size=       0kB time=00:00:02.08 bitrate=   0.2kbits/s speed=4.14x    \rframe=  200 fps=199 q=28.0 size=       0kB time=00:00:06.00 bitrate=   0.1kbits/s speed=5.96x    \rframe=  327 fps=217 q=28.0 size=       0kB time=00:00:11.08 bitrate=   0.0kbits/s speed=7.35x    \rframe=  456 fps=227 q=28.0 size=       0kB time=00:00:16.24 bitrate=   0.0kbits/s speed=8.08x    \rframe=  475 fps=225 q=-1.0 Lsize=      32kB time=00:00:18.88 bitrate=  13.7kbits/s speed=8.95x    \n' +
'video:25kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 25.380770%\n' +
'[libx264 @ 0x7fceb3809400] frame I:3     Avg QP:14.28  size:  3258\n' +
'[libx264 @ 0x7fceb3809400] frame P:120   Avg QP:23.93  size:    91\n' +
'[libx264 @ 0x7fceb3809400] frame B:352   Avg QP:33.22  size:    13\n' +
'[libx264 @ 0x7fceb3809400] consecutive B-frames:  1.1%  0.0%  1.3% 97.7%\n' +
'[libx264 @ 0x7fceb3809400] mb I  I16..4:  2.0% 58.5% 39.5%\n' +
'[libx264 @ 0x7fceb3809400] mb P  I16..4:  0.0%  0.0%  0.1%  P16..4:  5.5%  0.6%  0.8%  0.0%  0.0%    skip:93.0%\n' +
'[libx264 @ 0x7fceb3809400] 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: 0.0% L1:93.1% BI: 6.9%\n' +
'[libx264 @ 0x7fceb3809400] 8x8 transform intra:56.2% inter:44.5%\n' +
'[libx264 @ 0x7fceb3809400] coded y,u,v intra: 58.3% 48.0% 46.2% inter: 1.0% 0.7% 0.7%\n' +
'[libx264 @ 0x7fceb3809400] i16 v,h,dc,p:  0%  0% 100%  0%\n' +
'[libx264 @ 0x7fceb3809400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu:  6%  5% 72%  3%  3%  3%  2%  3%  3%\n' +
'[libx264 @ 0x7fceb3809400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 23% 10%  6%  9%  6%  7%  7% 11%\n' +
'[libx264 @ 0x7fceb3809400] Weighted P-Frames: Y:6.7% UV:6.7%\n' +
'[libx264 @ 0x7fceb3809400] ref P L0: 93.6%  2.7%  2.0%  1.7%\n' +
'[libx264 @ 0x7fceb3809400] ref B L1: 96.6%  3.4%\n' +
'[libx264 @ 0x7fceb3809400] kb/s:10.57\n' +
'ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers\n' +
'  built with Apple clang version 12.0.5 (clang-1205.0.22.9)\n' +
'  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.4_2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-avresample --enable-videotoolbox\n' +
'  libavutil      56. 70.100 / 56. 70.100\n' +
'  libavcodec     58.134.100 / 58.134.100\n' +
'  libavformat    58. 76.100 / 58. 76.100\n' +
'  libavdevice    58. 13.100 / 58. 13.100\n' +
'  libavfilter     7.110.100 /  7.110.100\n' +
'  libavresample   4.  0.  0 /  4.  0.  0\n' +
'  libswscale      5.  9.100 /  5.  9.100\n' +
'  libswresample   3.  9.100 /  3.  9.100\n' +
'  libpostproc    55.  9.100 / 55.  9.100\n' +
"Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '5e47a1be4df117b7f79596dda7987c45.mp4':\n" +
'  Metadata:\n' +
'    major_brand     : isom\n' +
'    minor_version   : 512\n' +
'    compatible_brands: isomiso2avc1mp41\n' +
'    encoder         : Lavf58.29.100\n' +
'    media_type      : 0\n' +
'    hd_video        : 0\n' +
'  Duration: 00:00:21.29, start: 0.000000, bitrate: 1139 kb/s\n' +
'  Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 878x494 [SAR 3952:3951 DAR 16:9], 1136 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)\n' +
'    Metadata:\n' +
'      handler_name    : VideoHandler\n' +
'      vendor_id       : [0][0][0][0]\n' +
"Input #1, png_pipe, from '07201487ede265cdea98d02930cd90dd.jpg.png':\n" +
'  Duration: N/A, bitrate: N/A\n' +
'  Stream #1:0: Video: png, rgb24(pc), 431x514 [SAR 3779:3779 DAR 431:514], 25 fps, 25 tbr, 25 tbn, 25 tbc\n' +
"Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '../../preview/helper-videos/bokeh.mp4':\n" +
'  Metadata:\n' +
'    major_brand     : mp42\n' +
'    minor_version   : 0\n' +
'    compatible_brands: isommp42\n' +
'    creation_time   : 2012-03-21T12:18:56.000000Z\n' +
'  Duration: 00:00:07.00, start: 0.000000, bitrate: 1060 kb/s\n' +
'  Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1152x720, 1054 kb/s, 25 fps, 25 tbr, 50 tbn, 50 tbc (default)\n' +
'    Metadata:\n' +
'      creation_time   : 1970-01-01T00:00:00.000000Z\n' +
'      handler_name    : VideoHandler\n' +
'      vendor_id       : [0][0][0][0]\n' +
'  Stream #2:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 3 kb/s (default)\n' +
'    Metadata:\n' +
'      creation_time   : 2012-03-21T12:18:56.000000Z\n' +
'      handler_name    : IsoMedia File Produced by Google, 5-11-2011\n' +
'      vendor_id       : [0][0][0][0]\n' +
"Input #3, mp3, from '1629885277.mp3':\n" +
'  Metadata:\n' +
'    title           : The Gift of Love\n' +
'    TLEN            : 228773\n' +
'    publisher       : Musical Reflections, Inc.\n' +
'    genre           : Instrumental\n' +
"    album           : Love's Journey\n" +
'    album_artist    : Tami Briggs\n' +
'    track           : 7\n' +
'    artist          : Tami Briggs\n' +
'    date            : 1999-00-00\n' +
'    encoder         : Lavf58.29.100\n' +
'    id3v2_priv.WM/MediaClassPrimaryID: \\xbc}`\\xd1#\\xe3\\xe2K\\x86\\xa1H\\xa4*(D\\x1e\n' +
'    id3v2_priv.WM/MediaClassSecondaryID: \\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\n' +
'    id3v2_priv.WM/WMContentID: \\xee\\xb1,V\\xa5H*A\\x9c\\x07\\xbb/\\xbb3\\xc2\\xba\n' +
'    id3v2_priv.WM/UniqueFileIdentifier: A\\x00M\\x00G\\x00a\\x00_\\x00i\\x00d\\x00=\\x00R\\x00 \\x00 \\x00 \\x007\\x007\\x003\\x003\\x008\\x008\\x00;\\x00A\\x00M\\x00G\\x00p\\x00_\\x00i\\x00d\\x00=\\x00P\\x00 \\x00 \\x00 \\x007\\x000\\x007\\x000\\x009\\x004\\x00;\\x00A\\x00M\\x00G\\x00t\\x00_\\x00i\\x00d\\x00=\\x00T\\x00 \\x00 \\x007\\x008\\x00\n' +
'    id3v2_priv.WM/WMCollectionID: (\\xc2\\xd0\\x91\\x17\\xa1rK\\xa3\\xfd\\xea\\xe6QBA\\x81\n' +
'    id3v2_priv.WM/WMCollectionGroupID: (\\xc2\\xd0\\x91\\x17\\xa1rK\\xa3\\xfd\\xea\\xe6QBA\\x81\n' +
'    id3v2_priv.WM/Provider: A\\x00M\\x00G\\x00\\x00\\x00\n' +
'    id3v2_priv.XMP  : <?xpacket begin="\\xef\\xbb\\xbf" id="W5M0MpCehiHzreSzNTczkc9d"?>\\x0a<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c014 79.156821, 2014/08/29-03:07:50        ">\\x0a <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\\x0a  <rdf\n' +
'  Duration: 00:03:44.21, start: 0.025057, bitrate: 128 kb/s\n' +
'  Stream #3:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s\n' +
'    Metadata:\n' +
'      encoder         : Lavc58.54\n' +
'Codec AVOption format (set pixel type) specified for output file #0 (output/index.m3u8) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.\n' +
'Stream mapping:\n' +
'  Stream #0:0 (h264) -> scale (graph 0)\n' +
'  Stream #1:0 (png) -> scale (graph 0)\n' +
'  Stream #2:0 (h264) -> scale (graph 0)\n' +
'  scale (graph 0) -> Stream #0:0 (libx264)\n' +
'  Stream #3:0 -> #0:1 (mp3 (mp3float) -> aac (native))\n' +
'Press [q] to stop, [?] for help\n' +
'[libx264 @ 0x7fd66c813400] using SAR=1/1\n' +
'[libx264 @ 0x7fd66c813400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2\n' +
'[libx264 @ 0x7fd66c813400] profile Constrained Baseline, level 3.1, 4:2:0, 8-bit\n' +
'[libx264 @ 0x7fd66c813400] 264 - core 163 r3060 5db6aa6 - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=15 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=4 keyint_min=1 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0\n' +
"Output #0, hls, to 'output/index.m3u8':\n" +
'  Metadata:\n' +
'    major_brand     : isom\n' +
'    minor_version   : 512\n' +
'    compatible_brands: isomiso2avc1mp41\n' +
'    hd_video        : 0\n' +
'    media_type      : 0\n' +
'    encoder         : Lavf58.76.100\n' +
'  Stream #0:0: Video: h264, yuv420p(tv, progressive), 878x494 [SAR 1:1 DAR 439:247], q=2-31, 25 fps, 90k tbn (default)\n' +
'    Metadata:\n' +
'      encoder         : Lavc58.134.100 libx264\n' +
'    Side data:\n' +
'      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A\n' +
'  Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s\n' +
'    Metadata:\n' +
'      encoder         : Lavc58.134.100 aac\n' +
"frame=    1 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    \rframe=   26 fps=0.0 q=19.0 size=N/A time=00:00:00.40 bitrate=N/A dup=1 drop=0 speed=0.677x    \rframe=   55 fps= 50 q=14.0 size=N/A time=00:00:01.56 bitrate=N/A dup=2 drop=0 speed=1.41x    \rframe=   82 fps= 51 q=15.0 size=N/A time=00:00:02.64 bitrate=N/A dup=3 drop=0 speed=1.63x    \rframe=  104 fps= 49 q=19.0 size=N/A time=00:00:03.52 bitrate=N/A dup=4 drop=0 speed=1.64x    \rframe=  129 fps= 49 q=17.0 size=N/A time=00:00:04.52 bitrate=N/A dup=5 drop=0 speed= 1.7x    \r[hls @ 0x7fd66c80ba00] Opening 'output/index0.ts' for writing\n" +
"[hls @ 0x7fd66c80ba00] Opening 'output/index.m3u8.tmp' for writing\n" +
"frame=  150 fps= 47 q=16.0 size=N/A time=00:00:05.36 bitrate=N/A dup=6 drop=0 speed=1.69x    \rframe=  169 fps= 46 q=18.0 size=N/A time=00:00:06.12 bitrate=N/A dup=7 drop=0 speed=1.66x    \rframe=  227 fps= 54 q=15.0 size=N/A time=00:00:08.44 bitrate=N/A dup=9 drop=0 speed=2.02x    \r[hls @ 0x7fd66c80ba00] Opening 'output/index1.ts' for writing\n" +
"[hls @ 0x7fd66c80ba00] Opening 'output/index.m3u8.tmp' for writing\n" +
"frame=  280 fps= 60 q=20.0 size=N/A time=00:00:10.56 bitrate=N/A dup=11 drop=0 speed=2.25x    \rframe=  342 fps= 66 q=17.0 size=N/A time=00:00:13.04 bitrate=N/A dup=14 drop=0 speed=2.51x    \r[hls @ 0x7fd66c80ba00] Opening 'output/index2.ts' for writing\n" +
"[hls @ 0x7fd66c80ba00] Opening 'output/index.m3u8.tmp' for writing\n" +
"frame=  410 fps= 72 q=18.0 size=N/A time=00:00:15.76 bitrate=N/A dup=16 drop=0 speed=2.76x    \rframe=  490 fps= 79 q=16.0 size=N/A time=00:00:18.96 bitrate=N/A dup=20 drop=0 speed=3.06x    \r[hls @ 0x7fd66c80ba00] Opening 'output/index3.ts' for writing\n" +
"[hls @ 0x7fd66c80ba00] Opening 'output/index.m3u8.tmp' for writing\n" +
"[hls @ 0x7fd66c80ba00] Opening 'output/index4.ts' for writing\n" +
"[hls @ 0x7fd66c80ba00] Opening 'output/index.m3u8.tmp' for writing\n" +
'frame=  532 fps= 82 q=-1.0 Lsize=N/A time=00:00:21.28 bitrate=N/A dup=21 drop=0 speed=3.29x    \n' +
'video:11798kB audio:333kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown\n' +
'[libx264 @ 0x7fd66c813400] frame I:133   Avg QP:14.64  size: 68603\n' +
'[libx264 @ 0x7fd66c813400] frame P:399   Avg QP:17.71  size:  7410\n' +
'[libx264 @ 0x7fd66c813400] mb I  I16..4: 100.0%  0.0%  0.0%\n' +
'[libx264 @ 0x7fd66c813400] mb P  I16..4:  9.8%  0.0%  0.0%  P16..4: 28.5%  0.0%  0.0%  0.0%  0.0%    skip:61.7%\n' +
'[libx264 @ 0x7fd66c813400] coded y,uvDC,uvAC intra: 58.0% 41.2% 27.3% inter: 16.6% 7.9% 0.1%\n' +
'[libx264 @ 0x7fd66c813400] i16 v,h,dc,p: 36% 28% 18% 18%\n' +
'[libx264 @ 0x7fd66c813400] i8c dc,h,v,p: 61% 20% 14%  6%\n' +
'[libx264 @ 0x7fd66c813400] kb/s:4541.68\n' +
'[aac @ 0x7fd66c820400] Qavg: 931.453\n' +
'\n' +
'real\t0m6.605s\n' +
'user\t0m16.878s\n' +
'sys\t0m0.465s'
]

相关内容