ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14236|回复: 4

[Linux] 新手求助!ffmpeg如何快速抽帧截图

[复制链接]
发表于 2018-5-7 17:29:39 | 显示全部楼层 |阅读模式
我想快速从视频抽一帧图像 命令是 ffmpeg -ss 00:04:58.386 -i test.rmvb -vframes 1 -y test.jpg -loglevel 56但是发现定位的帧不是关键帧,需要解码很多参考帧,所以不是很快,怎么才能只解码这个时间点之前的关键帧呢。


ps:需求是抽取图像的时间点可以不精确,但是需要比较快

回复

使用道具 举报

发表于 2018-5-8 14:38:26 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-8 15:19:09 | 显示全部楼层
T-Bagwell 发表于 2018-5-8 14:38
https://trac.ffmpeg.org/wiki/Create%20a%20thumbnail%20image%20every%20X%20seconds%20of%20the%20video ...

这个确实可以提取出关键帧,但是速度很慢
回复 支持 反对

使用道具 举报

发表于 2018-5-8 15:29:47 | 显示全部楼层
执行了一下命令行,单独抽取某一帧,不重新编码为图片,耗时输出信息如下:

[AppleScript] 纯文本查看 复制代码
liuqideMacBook-Pro:srcnn liuqi$ time ffmpeg -fflags nobuffer -analyzeduration 2 -probesize 200 -ss 50 -i ~/Movies/objectC/facebook.mp4 -c copy -vframes 1 -y -f null /dev/null
ffmpeg version N-89672-g41e51fbcd9 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
  configuration: --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libspeex --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-version3 --cc='ccache gcc' --enable-nonfree --enable-videotoolbox
  libavutil      56.  7.100 / 56.  7.100
  libavcodec     58.  9.100 / 58.  9.100
  libavformat    58.  3.100 / 58.  3.100
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  8.100 /  7.  8.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/liuqi/Movies/objectC/facebook.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2016-08-13T00:36:19.000000Z
  Duration: 00:03:18.79, start: 0.000000, bitrate: 1849 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 1719 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
    Metadata:
      creation_time   : 2016-08-13T00:36:19.000000Z
      handler_name    : ISO Media file produced by Google Inc.
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      creation_time   : 2016-08-13T00:36:19.000000Z
      handler_name    : ISO Media file produced by Google Inc.
Output #0, null, to '/dev/null':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    encoder         : Lavf58.3.100
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 1719 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc (default)
    Metadata:
      creation_time   : 2016-08-13T00:36:19.000000Z
      handler_name    : ISO Media file produced by Google Inc.
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      creation_time   : 2016-08-13T00:36:19.000000Z
      handler_name    : ISO Media file produced by Google Inc.
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=    1 fps=0.0 q=-1.0 Lsize=N/A time=00:00:00.00 bitrate=N/A speed=   0x
video:93kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

real        0m0.044s
user        0m0.024s
sys        0m0.014s
liuqideMacBook-Pro:srcnn liuqi$
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-9 11:22:24 | 显示全部楼层
T-Bagwell 发表于 2018-5-8 15:29
执行了一下命令行,单独抽取某一帧,不重新编码为图片,耗时输出信息如下:

[mw_shl_code=applescript,tru ...

我是这么做的 time ffmpeg -ss 00:03:08 -itsoffset 10 -discard nokey -i test.rmvb -vframes 1 -y test.jpg

ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-16)
  configuration: --prefix=/data/ffmpeg/
  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
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
[rm @ 0x3e63400] Invalid stream index 2 for index at pos 149650976
Input #0, rm, from 'test.rmvb':
  Metadata:
    Audiences       : Easy RealMedia Tool's Audience;
    audioMode       : music
    Creation Date   : 10/18/2011 4:01:27
    Description     : This File is Created by Easy RealMedia Tools@!
    Email           : rick@redcheek.net
    Generated By    : Easy RealMedia Tools V1.8x
    HomeWeb         : http://redcheek.net
    Keywords        : www.dymycomic.com
    Modification Date: 10/18/2011 4:01:27
    videoMode       : sharp
    File ID         : abafa7e0-8b0e-7513-5fd0-cbf8c19baf30
    title           : [Dymy][Deadman Wonderland][OAD][BIG5][1024X576]
    author          : ???
    copyright       : ???°???M
    comment         :
  Duration: 00:26:55.62, start: 0.000000, bitrate: 741 kb/s
    Stream #0:0: Audio: aac (LC) (raac / 0x63616172), 44100 Hz, stereo, fltp, 96 kb/s
    Stream #0:1: Video: rv40 (RV40 / 0x30345652), yuv420p, 1024x576, 634 kb/s, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc
Stream mapping:
  Stream #0:1 -> #0:0 (rv40 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x418b6a0] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'test.jpg':
  Metadata:
    Audiences       : Easy RealMedia Tool's Audience;
    audioMode       : music
    Creation Date   : 10/18/2011 4:01:27
    Description     : This File is Created by Easy RealMedia Tools@!
    Email           : rick@redcheek.net
    Generated By    : Easy RealMedia Tools V1.8x
    HomeWeb         : http://redcheek.net
    Keywords        : www.dymycomic.com
    Modification Date: 10/18/2011 4:01:27
    videoMode       : sharp
    File ID         : abafa7e0-8b0e-7513-5fd0-cbf8c19baf30
    title           : [Dymy][Deadman Wonderland][OAD][BIG5][1024X576]
    author          : ???
    copyright       : ???°???M
    comment         :
    encoder         : Lavf57.83.100
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 1024x576, q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn, 23.98 tbc
    Metadata:
      encoder         : Lavc57.107.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    1 fps=0.0 q=4.0 Lsize=N/A time=00:00:00.04 bitrate=N/A dup=1 drop=1 speed=0.936x   
video:16kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

real        0m0.074s
user        0m0.057s
sys        0m0.016s
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-4-20 07:55 , Processed in 0.058345 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表