1

У меня есть видео файл, и я пытаюсь создать из него скриншоты.
Когда я использую эту команду
ffmpeg -ss 500 -i video_file.mp4 -frames:v 1 -y -s 263*196 output_screenshot.jpg
скриншот генерируется просто отлично.

Когда я пытаюсь с
ffmpeg -ss 900 -i video_file.mp4 -frames:v 1 -y -s 263*196 output_screenshot.jpg
(поэтому 900 вместо 500) я получаю эту ошибку
ffmpeg -ss 900 -i video_file.mp4 -frames:v 1 -y -s 263*196 output_screenshot.jpg ffmpeg version git-2014-03-11-61f96be Copyright (c) 2000-2014 the FFmpeg developers built on Mar 11 2014 14:16:57 with gcc 4.7 (Debian 4.7.2-5) configuration: --enable-gpl --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libfreetype libavutil 52. 66.101 / 52. 66.101 libavcodec 55. 52.102 / 55. 52.102 libavformat 55. 34.100 / 55. 34.100 libavdevice 55. 11.100 / 55. 11.100 libavfilter 4. 3.100 / 4. 3.100 libswscale 2. 5.101 / 2. 5.101 libswresample 0. 18.100 / 0. 18.100 libpostproc 52. 3.100 / 52. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video_file.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: mp41 creation_time : 2014-04-19 13:56:05 title : My Movie artist :
media_type : 9 season_number : 1 episode_sort : 1 hd_video : 0 Duration: 00:25:45.34, start: 0.000000, bitrate: 1242 kb/s Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x480 [SAR 1:1 DAR 3:2], 2586 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 58 tbc (default) Metadata: creation_time : 2014-04-19 13:56:05 handler_name : VideoHandler Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default) Metadata: creation_time : 2014-04-19 13:56:05 handler_name : SoundHandler [swscaler @ 0x332d880] deprecated pixel format used, make sure you did set range correctly Output #0, image2, to 'output_screenshot.jpg': Metadata: major_brand : isom minor_version : 512 compatible_brands: mp41 hd_video : 0 title : My Movie artist :
media_type : 9 season_number : 1 episode_sort : 1 encoder : Lavf55.34.100 Stream #0:0(eng): Video: mjpeg, yuvj420p, 263x196 [SAR 294:263 DAR 3:2], q=2-31, 200 kb/s, 90k tbn, 29.97 tbc (default) Metadata: creation_time : 2014-04-19 13:56:05 handler_name : VideoHandler Stream mapping: Stream #0:0 -> #0:0 (h264 -> mjpeg) Press [q] to stop, [?] for help frame= 0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A
video:0kB audio:0kB subtitle:0 data:0 global headers:0kB muxing overhead 0.000000% Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)

и скриншот не создается. Я упоминаю, что файл длится 25 минут (около 1500 секунд), поэтому 900 должно быть вполне приемлемым значением.
Есть идеи, что может быть не так?

1 ответ1

1

Когда вы не получаете выходной файл, ffmpeg, вероятно, не может искать эту позицию, или в этой позиции нет видеоинформации.

Это означает, что файл может быть поврежден или просто неправильно указана продолжительность из контейнера.

Попробуйте воспроизвести файл и посмотрите, действительно ли он работает, до 900 секунд.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .