FFMPEG使用复制编解码器提取调整后的1秒大小

时间:2019-04-28 18:12:04

标签: ffmpeg

如何从视频中提取1秒(使用快速搜索),并使用vp9调整大小?我总是得到同样的错误。这是我正在尝试的基本命令:

ffmpeg -ss 00:00:10 -i test.webm -to 00:00:01 -filter:v "scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease" -c:v libvpx-vp9 -y output.webm

它返回:

"Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)

玩转之后,我意识到这将起作用:

ffmpeg -ss 00:00:10 -i test.webm -to 00:00:01 -c copy -y output.webm

不理想,但至少可以正常工作,因此我添加了过滤器:

ffmpeg -ss 00:00:10 -i test.webm -to 00:00:01 -filter:v "scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease" -c copy -y output.webm

蚂蚁然后我得到:

"Filtering and streamcopy cannot be used together."

我尝试了各种组合,均未成功。任何提示将不胜感激。谢谢


这是第一个命令的完整日志:

    ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
      built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
      configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
      libavutil      55. 78.100 / 55. 78.100
      libavcodec     57.107.100 / 57.107.100
      libavformat    57. 83.100 / 57. 83.100
      libavdevice    57. 10.100 / 57. 10.100
      libavfilter     6.107.100 /  6.107.100
      libavresample   3.  7.  0 /  3.  7.  0
      libswscale      4.  8.100 /  4.  8.100
      libswresample   2.  9.100 /  2.  9.100
      libpostproc    54.  7.100 / 54.  7.100
    Splitting the commandline.
    Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '00:00:10'.
    Reading option '-i' ... matched as input url with argument 'test.webm'.
    Reading option '-to' ... matched as option 'to' (record or transcode stop time) with argument '00:00:01'.
    Reading option '-filter:v' ... matched as option 'filter' (set stream filtergraph) with argument 'scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease'.
    Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'libvpx-vp9'.
    Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
    Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
    Reading option 'output.webm' ... matched as output url.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option y (overwrite output files) with argument 1.
    Applying option v (set logging level) with argument debug.
    Successfully parsed a group of options.
    Parsing a group of options: input url test.webm.
    Applying option ss (set the start time offset) with argument 00:00:10.
    Successfully parsed a group of options.
    Opening an input file: test.webm.
    [NULL @ 0x55ce679f8920] Opening 'test.webm' for reading
    [file @ 0x55ce679f9340] Setting default whitelist 'file,crypto'
    [matroska,webm @ 0x55ce679f8920] Format matroska,webm probed with size=2048 and score=100
    st:0 removing common factor 1000000 from timebase
    [matroska,webm @ 0x55ce679f8920] Before avformat_find_stream_info() pos: 566 bytes read:32768 seeks:0 nb_streams:1
    [matroska,webm @ 0x55ce679f8920] All info found
    [matroska,webm @ 0x55ce679f8920] After avformat_find_stream_info() pos: 72449 bytes read:72449 seeks:0 frames:1
    Input #0, matroska,webm, from 'test.webm':
      Metadata:
        ENCODER         : Lavf57.83.100
      Duration: 00:00:15.03, start: 5.016000, bitrate: 1146 kb/s
        Stream #0:0(eng), 1, 1/1000: Video: vp9 (Profile 0), 1 reference frame, yuv420p(tv), 1280x720, 0/1, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
        Metadata:
          DURATION        : 00:00:15.025000000
    Successfully opened the file.
    Parsing a group of options: output url output.webm.
    Applying option to (record or transcode stop time) with argument 00:00:01.
    Applying option filter:v (set stream filtergraph) with argument scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease.
    Applying option c:v (codec name) with argument libvpx-vp9.
    Successfully parsed a group of options.
    Opening an output file: output.webm.
    [file @ 0x55ce67b1e820] Setting default whitelist 'file,crypto'
    Successfully opened the file.
    detected 8 logical cores
    Stream mapping:
      Stream #0:0 -> #0:0 (vp9 (native) -> vp9 (libvpx-vp9))
    Press [q] to stop, [?] for help
    cur_dts is invalid (this is harmless if it occurs once at the start per stream)
        Last message repeated 1 times
    [matroska,webm @ 0x55ce679f8920] first_dts 5016 not matching first dts 10395 (pts 10395, duration 41) in the queue
    cur_dts is invalid (this is harmless if it occurs once at the start per stream)
        Last message repeated 6 times
    [Parsed_scale_0 @ 0x55ce67a7c520] Setting 'w' to value 'min(iw,1280)'
    [Parsed_scale_0 @ 0x55ce67a7c520] Setting 'h' to value 'min(ih,720)'
    [Parsed_scale_0 @ 0x55ce67a7c520] Setting 'force_original_aspect_ratio' to value 'decrease'
    [Parsed_scale_0 @ 0x55ce67a7c520] Setting 'flags' to value 'bicubic'
    [Parsed_scale_0 @ 0x55ce67a7c520] w:min(iw,1280) h:min(ih,720) flags:'bicubic' interl:0
    [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting 'video_size' to value '1280x720'
    [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting 'pix_fmt' to value '0'
    [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting 'time_base' to value '1/1000'
    [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting 'pixel_aspect' to value '1/1'
    [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting 'sws_param' to value 'flags=2'
    [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting 'frame_rate' to value '24000/1001'
    [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] w:1280 h:720 pixfmt:yuv420p tb:1/1000 fr:24000/1001 sar:1/1 sws_param:flags=2
    [format @ 0x55ce67ad7d60] compat: called with args=[yuv420p|yuva420p|yuv422p|yuv440p|yuv444p|gbrp]
    [format @ 0x55ce67ad7d60] Setting 'pix_fmts' to value 'yuv420p|yuva420p|yuv422p|yuv440p|yuv444p|gbrp'
    [AVFilterGraph @ 0x55ce67aec740] query_formats: 6 queried, 5 merged, 0 already done, 0 delayed
    [Parsed_scale_0 @ 0x55ce67a7c520] w:1280 h:720 fmt:yuv420p sar:1/1 -> w:1280 h:720 fmt:yuv420p sar:1/1 flags:0x4
    [libvpx-vp9 @ 0x55ce67b32200] v1.7.0
    [libvpx-vp9 @ 0x55ce67b32200] --prefix=/usr --enable-pic --enable-shared --disable-install-bins --disable-install-srcs --size-limit=16384x16384 --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --target=x86_64-linux-gcc
    [libvpx-vp9 @ 0x55ce67b32200] vpx_codec_enc_cfg
    [libvpx-vp9 @ 0x55ce67b32200] generic settings
      g_usage:                      0
      g_threads:                    8
      g_profile:                    0
      g_w:                          320
      g_h:                          240
      g_bit_depth:                  8
      g_input_bit_depth:            8
      g_timebase:                   {1/30}
      g_error_resilient:            0
      g_pass:                       0
      g_lag_in_frames:              25
    [libvpx-vp9 @ 0x55ce67b32200] rate control settings
      rc_dropframe_thresh:          0
      rc_resize_allowed:            0
      rc_resize_up_thresh:          60
      rc_resize_down_thresh:        30
      rc_end_usage:                 0
      rc_twopass_stats_in:          (nil)(0)
      rc_target_bitrate:            256
    [libvpx-vp9 @ 0x55ce67b32200] quantizer settings
      rc_min_quantizer:             0
      rc_max_quantizer:             63
    [libvpx-vp9 @ 0x55ce67b32200] bitrate tolerance
      rc_undershoot_pct:            25
      rc_overshoot_pct:             25
    [libvpx-vp9 @ 0x55ce67b32200] decoder buffer model
      rc_buf_sz:                    6000
      rc_buf_initial_sz:            4000
      rc_buf_optimal_sz:            5000
    [libvpx-vp9 @ 0x55ce67b32200] 2 pass rate control settings
      rc_2pass_vbr_bias_pct:        50
      rc_2pass_vbr_minsection_pct:  0
      rc_2pass_vbr_maxsection_pct:  2000
    [libvpx-vp9 @ 0x55ce67b32200] keyframing settings
      kf_mode:                      1
      kf_min_dist:                  0
      kf_max_dist:                  128
    [libvpx-vp9 @ 0x55ce67b32200]
    [libvpx-vp9 @ 0x55ce67b32200] vpx_codec_enc_cfg
    [libvpx-vp9 @ 0x55ce67b32200] generic settings
      g_usage:                      0
      g_threads:                    0
      g_profile:                    0
      g_w:                          1280
      g_h:                          720
      g_bit_depth:                  8
      g_input_bit_depth:            8
      g_timebase:                   {1001/24000}
      g_error_resilient:            0
      g_pass:                       0
      g_lag_in_frames:              25
    [libvpx-vp9 @ 0x55ce67b32200] rate control settings
      rc_dropframe_thresh:          0
      rc_resize_allowed:            0
      rc_resize_up_thresh:          60
      rc_resize_down_thresh:        30
      rc_end_usage:                 0
      rc_twopass_stats_in:          (nil)(0)
      rc_target_bitrate:            200
    [libvpx-vp9 @ 0x55ce67b32200] quantizer settings
      rc_min_quantizer:             0
      rc_max_quantizer:             63
    [libvpx-vp9 @ 0x55ce67b32200] bitrate tolerance
      rc_undershoot_pct:            25
      rc_overshoot_pct:             25
    [libvpx-vp9 @ 0x55ce67b32200] decoder buffer model
      rc_buf_sz:                    6000
      rc_buf_initial_sz:            4000
      rc_buf_optimal_sz:            5000
    [libvpx-vp9 @ 0x55ce67b32200] 2 pass rate control settings
      rc_2pass_vbr_bias_pct:        50
      rc_2pass_vbr_minsection_pct:  0
      rc_2pass_vbr_maxsection_pct:  2000
    [libvpx-vp9 @ 0x55ce67b32200] keyframing settings
      kf_mode:                      1
      kf_min_dist:                  0
      kf_max_dist:                  128
    [libvpx-vp9 @ 0x55ce67b32200]
    [libvpx-vp9 @ 0x55ce67b32200] vpx_codec_control
    [libvpx-vp9 @ 0x55ce67b32200]   VP8E_SET_CPUUSED:             1
    [libvpx-vp9 @ 0x55ce67b32200]   VP8E_SET_ARNR_MAXFRAMES:      0
    [libvpx-vp9 @ 0x55ce67b32200]   VP8E_SET_ARNR_STRENGTH:       3
    [libvpx-vp9 @ 0x55ce67b32200]   VP8E_SET_ARNR_TYPE:           3
    [libvpx-vp9 @ 0x55ce67b32200]   VP8E_SET_STATIC_THRESHOLD:    0
    [libvpx-vp9 @ 0x55ce67b32200]   VP9E_SET_COLOR_SPACE:         0
    [libvpx-vp9 @ 0x55ce67b32200]   VP9E_SET_COLOR_RANGE:         0
    [libvpx-vp9 @ 0x55ce67b32200]   VP9E_SET_TARGET_LEVEL:        255
    [libvpx-vp9 @ 0x55ce67b32200] Using deadline: 1000000
    Output #0, webm, to 'output.webm':
      Metadata:
        encoder         : Lavf57.83.100
        Stream #0:0(eng), 0, 1/1000: Video: vp9 (libvpx-vp9), 1 reference frame, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 0/1, q=-1--1, 200 kb/s, 23.98 fps, 1k tbn, 23.98 tbc (default)
        Metadata:
          DURATION        : 00:00:15.025000000
          encoder         : Lavc57.107.100 libvpx-vp9
        Side data:
          cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    cur_dts is invalid (this is harmless if it occurs once at the start per stream)
        Last message repeated 120 times
    [out_0_0 @ 0x55ce67ac35a0] EOF on sink link out_0_0:default.
    No more output streams to write to, finishing.
    [webm @ 0x55ce67b2e2a0] get_metadata_duration returned: 15025000
    [webm @ 0x55ce67b2e2a0] Write early duration from recording time = 1000
    [webm @ 0x55ce67b2e2a0] end duration = 0
    [webm @ 0x55ce67b2e2a0] stream 0 end duration = 0
    frame=    0 fps=0.0 q=0.0 Lsize=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
    video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    Input file #0 (test.webm):
      Input stream #0:0 (video): 120 packets read (1031599 bytes); 112 frames decoded;
      Total: 120 packets (1031599 bytes) demuxed
    Output file #0 (output.webm):
      Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0 bytes);
      Total: 0 packets (0 bytes) muxed
    Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
    112 frames successfully decoded, 0 decoding errors
    [AVIOContext @ 0x55ce67b2e9a0] Statistics: 13 seeks, 9 writeouts
    [AVIOContext @ 0x55ce67a01660] Statistics: 2137508 bytes read, 4 seeks

0 个答案:

没有答案