Получаю кадры из видео при помощи ffmpeg (вернее, MPlayer - The Movie Player), задавая временнУю метку с сохранением кадра в файл. В принципе работает, но на некоторых фильмах получается мазня. При этом, если воспроизводить видео, то всё номрально. Понятно, что это проблема с кодированием(декодированием) и поиском ключевого кадра.
Можно как-то имправить эту проблему без декодирования всего фильма от начала до временной метки?
Для получения кадра использую такой список команд:
L"mplayer.exe -slave \"fullpath.mkv\" -really-quiet -nosound -vo jpeg:outdir=\\\"outpath.jpg\\\" -frames 1 -ss %u"
информация о кодировщике, полученная из MediaInfo.dll
General
Unique ID: 219569894619963036230858554311364138418 (0xA52F9F9D4458C290B00900F3BA9555B2)
Complete name: ivideo\Жан Рено\2005 - Империя волков.mkv
Format: Matroska
Format version: Version 4 / Version 2
File size: 2.39 GiB
Duration: 2 h 8 min
Overall bit rate: 2 662 kb/s
Encoded date: UTC 2015-05-24 0737
Writing application: mkvmerge v7.6.0 ('Garden of Dreams') 64bit built on Feb 8 2015 1344
Writing library: libebml v1.3.1 + libmatroska v1.4.2
Video
ID: 1
Format: AVC
Format/Info: Advanced Video Codec
Format profile: High@L4.1
Format settings, CABAC: Yes
Format settings, ReFrames: 5 frames
Codec ID: V_MPEG4/ISO/AVC
Duration: 2 h 8 min
Bit rate: 2 499 kb/s
Width: 1 024 pixels
Height: 432 pixels
Display aspect ratio: 2.40
Frame rate mode: Constant
Frame rate: 23.976 (24000/1001) FPS
Color space: YUV
Chroma subsampling: 4
Bit depth: 8 bits
Scan type: Progressive
Bits/(Pixel*Frame): 0.236
Stream size: 2.24 GiB (94%)
Language: English
Default: Yes
Forced: No
Audio
ID: 2
Format: AAC
Format/Info: Advanced Audio Codec
Format profile: LC
Codec ID: A_AAC
Duration: 2 h 8 min
Bit rate: 160 kb/s
Channel(s): 2 channels
Channel positions: FrontL R
Sampling rate: 48.0 kHz
Frame rate: 46.875 FPS (1024 spf)
Compression mode: Lossy
Stream size: 147 MiB (6%)
Language: Russian
Default: Yes
Forced: No