获取带字幕的视频的屏幕截图 [英] Get screenshot of video with subtitles

查看:79
本文介绍了获取带字幕的视频的屏幕截图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用包含字幕在内的ffmpeg获取视频的单个帧

I'm trying to get a single frame of a video with ffmpeg including the the subtitles

ffmpeg -ss 00:09:18 -i movie.mkv -vf字幕= subtitles.srt -vframes 1screenshot.png

ffmpeg -ss 00:09:18 -i movie.mkv -vf subtitles=subtitles.srt -vframes 1 screenshot.png

正在输出屏幕截图,但字幕不在图像上.

The screenshot is outputting but the subtitles are not on the image.

我是ffmpeg的新手,所以如果有人可以帮助我,那就太好了!

I'm new to ffmpeg so if anyone could help me, that would be awesome!

这是我得到的输出示例:

Here's an example of output that I'm getting:

ffmpeg版本2.8.11-0ubuntu0.16.04.1版权所有(c)2000-2017 the使用gcc 5.4.0构建的FFmpeg开发人员(Ubuntu5.4.0-6ubuntu1〜16.04.4)20160609配置:--prefix =/usr --extra-version = 0ubuntu0.16.04.1 --build-suffix = -ffmpeg --toolchain = hardened --libdir =/usr/lib/x86_64-linux-gnu --incdir =/usr/include/x86_64-linux-gnu --cc = cc --cxx = g ++ --enable-gpl --enable-shared --disable-stripping --disable-解码器= libopenjpeg-禁用解码器= libschroedinger-启用avresample-启用aavisynth-启用gnutls-启用ladspa-启用libass-启用libbluray-启用libbs2b-启用libcaca--enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg--enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --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-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv libavutil 54. 31.100/54. 31.100 libavcodec 56. 60.100/56. 60.100 libavformat 56. 40.101/56. 40.101 libavdevice 56. 4.100/56. 4.100 libavfilter 5. 40.101/5. 40.101 libavresample 2. 1. 0/2. 1. 0 libswscale 3. 1.101/3. 1.101 libswresample 1. 2.101/1. 2.101 libpostproc 53. 3.100/53. 3.100 [aac @ 0xfe73c0]元素类型不匹配3!= 0 [aac @ 0xfe73c0]元素类型不匹配1!= 0最后一条消息重复了1次,来自'Community.S01E01.720p.5.1Ch.Web-DL.ReEnc-DeeJayAhmed.mkv'的输入#0,matroska,webm:
元数据:编码器:libebml v1.3.1 + libmatroska v1.4.2creation_time:2015-10-16 19:35:27持续时间:00:25:25.15,开始:0.000000,比特率:1135 kb/s流#0:0:视频:h264(高),yuv420p,1280x720 [SAR 1:1 DAR 16:9],23.98 fps,23.98 tbr,1k tbn,47.95 tbc(默认)元数据:bps:947111BPS-ENG:947111持续时间:00:25:25.107000000DURATION-eng:00:25:25.107000000NUMBER_OF_FRAMES:36566NUMBER_OF_FRAMES-eng:36566NUMBER_OF_BYTES:180555811NUMBER_OF_BYTES-eng:180555811_STATISTICS_WRITING_APP:mkvmerge v8.4.0(更好的飞行方式")32位_STATISTICS_WRITING_APP-eng:mkvmerge v8.4.0('更好的飞行方式')32位_STATISTICS_WRITING_DATE_UTC:2015-10-16 19:35:27_STATISTICS_WRITING_DATE_UTC-eng:2015-10-16 19:35:27_STATISTICS_TAGS:BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES_STATISTICS_TAGS-eng:BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES流#0:1(eng):音频:aac(HE-AAC),48000 Hz,5.1,fltp(默认)元数据:每秒BPS:186250BPS-eng:186250持续时间:00:25:25.120000000DURATION-eng:00:25:25.120000000NUMBER_OF_FRAMES:35745NUMBER_OF_FRAMES-eng:35745NUMBER_OF_BYTES:35506701NUMBER_OF_BYTES-eng:35506701_STATISTICS_WRITING_APP:mkvmerge v8.4.0(更好的飞行方式")32位_STATISTICS_WRITING_APP-eng:mkvmerge v8.4.0('更好的飞行方式')32位_STATISTICS_WRITING_DATE_UTC:2015-10-16 19:35:27_STATISTICS_WRITING_DATE_UTC-eng:2015-10-16 19:35:27_STATISTICS_TAGS:BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES_STATISTICS_TAGS-eng:BPS持续时间NUMBER_OF_FRAMES NUMBER_OF_BYTES [Parsed_subtitles_0 @ 0x106ce60]整形器:FriBidi0.19.7(SIMPLE)HarfBuzz-ng 1.0.1(COMPLEX)[Parsed_subtitles_0 @ 0x106ce60]使用字体提供程序fontconfig输出#0 image2至'screenshot.png':元数据:编码器:Lavf56.40.101流#0:0:视频:png,rgb24,1280x720 [SAR 1:1 DAR 16:9],q = 2-31,200 kb/s,23.98 fps,23.98 tbn,23.98 tbc(默认)元数据:bps:947111BPS-ENG:947111持续时间:00:25:25.107000000DURATION-eng:00:25:25.107000000NUMBER_OF_FRAMES:36566NUMBER_OF_FRAMES-eng:36566NUMBER_OF_BYTES:180555811NUMBER_OF_BYTES-eng:180555811_STATISTICS_WRITING_APP:mkvmerge v8.4.0(更好的飞行方式")32位_STATISTICS_WRITING_APP-eng:mkvmerge v8.4.0('更好的飞行方式')32位_STATISTICS_WRITING_DATE_UTC:2015-10-16 19:35:27_STATISTICS_WRITING_DATE_UTC-eng:2015-10-16 19:35:27_STATISTICS_TAGS:BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES_STATISTICS_TAGS-eng:BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES编码器:Lavc56.60.100 png流映射:流#0:0->#0:0(h264(本地)-> png(本地))按[q]停止,按[?]表示帮助帧= 1 fps = 0.0q = -0.0 Lsize = N/A时间= 00:00:00.04比特率= N/A视频:1109kB音频:0kB字幕:0kB其他流:0kB全局标头:0kB混合开销:未知

ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609 configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --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-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --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-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 [aac @ 0xfe73c0] element type mismatch 3 != 0 [aac @ 0xfe73c0] element type mismatch 1 != 0 Last message repeated 1 times Input #0, matroska,webm, from 'Community.S01E01.720p.5.1Ch.Web-DL.ReEnc-DeeJayAhmed.mkv':
Metadata: encoder : libebml v1.3.1 + libmatroska v1.4.2 creation_time : 2015-10-16 19:35:27 Duration: 00:25:25.15, start: 0.000000, bitrate: 1135 kb/s Stream #0:0: Video: h264 (High), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default) Metadata: BPS : 947111 BPS-eng : 947111 DURATION : 00:25:25.107000000 DURATION-eng : 00:25:25.107000000 NUMBER_OF_FRAMES: 36566 NUMBER_OF_FRAMES-eng: 36566 NUMBER_OF_BYTES : 180555811 NUMBER_OF_BYTES-eng: 180555811 _STATISTICS_WRITING_APP: mkvmerge v8.4.0 ('A better way to fly') 32bit _STATISTICS_WRITING_APP-eng: mkvmerge v8.4.0 ('A better way to fly') 32bit _STATISTICS_WRITING_DATE_UTC: 2015-10-16 19:35:27 _STATISTICS_WRITING_DATE_UTC-eng: 2015-10-16 19:35:27 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:1(eng): Audio: aac (HE-AAC), 48000 Hz, 5.1, fltp (default) Metadata: BPS : 186250 BPS-eng : 186250 DURATION : 00:25:25.120000000 DURATION-eng : 00:25:25.120000000 NUMBER_OF_FRAMES: 35745 NUMBER_OF_FRAMES-eng: 35745 NUMBER_OF_BYTES : 35506701 NUMBER_OF_BYTES-eng: 35506701 _STATISTICS_WRITING_APP: mkvmerge v8.4.0 ('A better way to fly') 32bit _STATISTICS_WRITING_APP-eng: mkvmerge v8.4.0 ('A better way to fly') 32bit _STATISTICS_WRITING_DATE_UTC: 2015-10-16 19:35:27 _STATISTICS_WRITING_DATE_UTC-eng: 2015-10-16 19:35:27 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES [Parsed_subtitles_0 @ 0x106ce60] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.0.1 (COMPLEX) [Parsed_subtitles_0 @ 0x106ce60] Using font provider fontconfig Output #0, image2, to 'screenshot.png': Metadata: encoder : Lavf56.40.101 Stream #0:0: Video: png, rgb24, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn, 23.98 tbc (default) Metadata: BPS : 947111 BPS-eng : 947111 DURATION : 00:25:25.107000000 DURATION-eng : 00:25:25.107000000 NUMBER_OF_FRAMES: 36566 NUMBER_OF_FRAMES-eng: 36566 NUMBER_OF_BYTES : 180555811 NUMBER_OF_BYTES-eng: 180555811 _STATISTICS_WRITING_APP: mkvmerge v8.4.0 ('A better way to fly') 32bit _STATISTICS_WRITING_APP-eng: mkvmerge v8.4.0 ('A better way to fly') 32bit _STATISTICS_WRITING_DATE_UTC: 2015-10-16 19:35:27 _STATISTICS_WRITING_DATE_UTC-eng: 2015-10-16 19:35:27 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES encoder : Lavc56.60.100 png Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> png (native)) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A video:1109kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

推荐答案

应添加-copyts选项.

The -copyts option should be added.

ffmpeg -ss 00:09:18 -copyts -i movie.mkv -vf subtitles=subtitles.srt -vframes 1 screenshot.png

字幕过滤器依赖于输入时间戳来知道何时叠加字幕,但是快速查找( -i 之前的 -ss )会在将其传递给字幕过滤器.

The subtitles filter relies on input timestamps to know when to overlay subtitles, but a fast seek (-ss before -i) resets the timestamps of the trimmed portion before passing it along to the subtitles filter.

这篇关于获取带字幕的视频的屏幕截图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆