Как я могу извлечь изображение с определенного времени видео в Xubuntu 16.04?

Вы сможете установить его в обычном режиме. Единственное различие между purge и регулярным remove заключается в том, что purge уничтожает ваши настройки. Поэтому, если вы переустановите, ваши предыдущие настройки будут потеряны.

8
задан 19 January 2018 в 06:14

6 ответов

Вы можете использовать mplayer (из пакета mplayer, не установленного по умолчанию):

mplayer -vo jpeg -ss 00:00:26 -frames 1 sample-video.mp4

Это создаст файл 00000001.jpg, поэтому вы должны его переименовать. Насколько мне известно, нет способа указать имя файла.

-vo jpeg означает, что вы хотите, чтобы выход JPEG, -ss 00:00:26 ищет заданную позицию, -frames 1 означает обработку одного кадра, а затем выход из него.

8
ответ дан 22 May 2018 в 15:27
  • 1
    В чем преимущество получения более 1 кадра? Будут ли они копиями или каждый кадр будет отличаться на секунду? – Sonevol 18 January 2018 в 15:56
  • 2
    Изображения, созданные из большего количества кадров, будут отличаться на доли секунды. Точное значение зависит от видео. – Florian Diesch 18 January 2018 в 16:31
  • 3
    @Sonevol Кадр точно в 0:00:26 может не быть точно , что вы хотите. Вы можете взять 50 кадров между 0:00:25 и 0:00:27 (или даже всего 3-4 кадра вокруг отметки 0:00:26), а затем просмотреть их, чтобы выбрать лучший. – xDaizu 18 January 2018 в 19:45
  • 4
    @FlorianDiesch Возможно также вывести на png что-то вроде: -vo png:z=9 с параметром -z, определяющим уровень сжатия. Для jpeg вы также можете добавить настройку качества: -vo jpeg:quality=100. Но ваш ответ велик, поскольку он уже есть :) – andrew.46 19 January 2018 в 12:40

Вы можете использовать mplayer (из пакета mplayer, не установленного по умолчанию):

mplayer -vo jpeg -ss 00:00:26 -frames 1 sample-video.mp4

Это создаст файл 00000001.jpg, поэтому вы должны его переименовать. Насколько мне известно, нет способа указать имя файла.

-vo jpeg означает, что вы хотите, чтобы выход JPEG, -ss 00:00:26 ищет заданную позицию, -frames 1 означает обработку одного кадра, а затем выход из него.

8
ответ дан 17 July 2018 в 22:44

Вы можете использовать mplayer (из пакета mplayer, не установленного по умолчанию):

mplayer -vo jpeg -ss 00:00:26 -frames 1 sample-video.mp4

Это создаст файл 00000001.jpg, поэтому вы должны его переименовать. Насколько мне известно, нет способа указать имя файла.

-vo jpeg означает, что вы хотите, чтобы выход JPEG, -ss 00:00:26 ищет заданную позицию, -frames 1 означает обработку одного кадра, а затем выход из него.

8
ответ дан 24 July 2018 в 13:20

Вы можете использовать ffmpeg

ffmpeg -loglevel quiet -ss 26 -i sample-video.mp4  -t 1 -f image2 anyfilename.jpeg
-loglevel, чтобы отключить logoutput, потому что ffmpeg очень chatty -ss ищет (в секундах, то есть, где вы хотите сделать снимок) -i входное видео file -t таймфрейма моментального снимка (в секундах) -f filetype

Вы также можете играть с параметрами, такими как качество управления выходным сигналом jpeg -q:v <linear integer 1-10> или разрешением -s 480x300.

Еще несколько идей здесь

ffmpeg

cvlc sample-video.mp4 --start-time=26 --run-time=1 --rate=1 --video-filter=scene --vout=dummy --aout=dummy  --scene-ratio=24 --scene-prefix=sample-image --scene-replace vlc://quit
-loglevel установил logoutput в тихий, потому что ffmpeg очень chatty --start-time = 26 - точная позиция моментального снимка в секундах -ss - поиск (в секундах, т. е. где вы хотите сделать снимок) -ss , когда нужно сделать снимок экрана. Это в основном означает «каждую секунду» и полезно, если у вас есть более длинные файлы, делать снимок экрана каждые 60 секунд или каждые 5 минут -i входной видеофайл -i no вывод для видео на X11, нам это не нужно -t таймфрейма моментального снимка (в секундах) -t мы говорим VLC, что около 24 кадров в секунду -f filetype -f заменить любые файлы, которые вызывают как ваш скриншот sample-image.png, с вашим текущим снимком экрана. Если вы опустите это, VLC начнет нумерацию скриншотов vlc: // quit quit vlc, как только мы закончим

Полная документация здесь

13
ответ дан 22 May 2018 в 15:27
  • 1
    Что вы подразумеваете под болтливым? И я хочу моментальный снимок на 26-й секунде. Итак, зачем указать таймфрейм на -t. Я беру изображение, а не видео. – Sonevol 18 January 2018 в 16:40
  • 2
    & Quot; Чатти & Quot; потому что ffmpeg печатает более 40 строк журнала с этой командой, такой как текущая версия, тип установки и информация о входном видеофайле, что неинтересно для вас. Для вашей цели вы, вероятно, можете опустить «-t 1». Кажется, что по умолчанию используется одна секунда или ее часть, что отлично подходит для скриншота. Хорошая разница заключается в возможности определять имя выходного файла и улучшать качество / разрешение и т. Д. – Robert Riedl 18 January 2018 в 16:48

Вы можете использовать ffmpeg

ffmpeg -loglevel quiet -ss 26 -i sample-video.mp4 -t 1 -f image2 anyfilename.jpeg -loglevel, чтобы отключить logoutput, потому что ffmpeg очень chatty -ss ищет (в секундах, то есть, где вы хотите сделать снимок) -i входное видео file -t таймфрейма моментального снимка (в секундах) -f filetype

Вы также можете играть с параметрами, такими как качество управления выходным сигналом jpeg -q:v <linear integer 1-10> или разрешением -s 480x300.

Еще несколько идей здесь

ffmpeg

cvlc sample-video.mp4 --start-time=26 --run-time=1 --rate=1 --video-filter=scene --vout=dummy --aout=dummy --scene-ratio=24 --scene-prefix=sample-image --scene-replace vlc://quit -loglevel установил logoutput в тихий, потому что ffmpeg очень chatty --start-time = 26 - точная позиция моментального снимка в секундах -ss - поиск (в секундах, т. е. где вы хотите сделать снимок) -ss , когда нужно сделать снимок экрана. Это в основном означает «каждую секунду» и полезно, если у вас есть более длинные файлы, делать снимок экрана каждые 60 секунд или каждые 5 минут -i входной видеофайл -i no вывод для видео на X11, нам это не нужно -t таймфрейма моментального снимка (в секундах) -t мы говорим VLC, что около 24 кадров в секунду -f filetype -f заменить любые файлы, которые вызывают как ваш скриншот sample-image.png, с вашим текущим снимком экрана. Если вы опустите это, VLC начнет нумерацию скриншотов vlc: // quit quit vlc, как только мы закончим

Полная документация здесь

13
ответ дан 17 July 2018 в 22:44

Вы можете использовать ffmpeg

ffmpeg -loglevel quiet -ss 26 -i sample-video.mp4 -t 1 -f image2 anyfilename.jpeg -loglevel, чтобы отключить logoutput, потому что ffmpeg очень chatty -ss ищет (в секундах, то есть, где вы хотите сделать снимок) -i входное видео file -t таймфрейма моментального снимка (в секундах) -f filetype

Вы также можете играть с параметрами, такими как качество управления выходным сигналом jpeg -q:v <linear integer 1-10> или разрешением -s 480x300.

Еще несколько идей здесь

ffmpeg

cvlc sample-video.mp4 --start-time=26 --run-time=1 --rate=1 --video-filter=scene --vout=dummy --aout=dummy --scene-ratio=24 --scene-prefix=sample-image --scene-replace vlc://quit -loglevel установил logoutput в тихий, потому что ffmpeg очень chatty --start-time = 26 - точная позиция моментального снимка в секундах -ss - поиск (в секундах, т. е. где вы хотите сделать снимок) -ss , когда нужно сделать снимок экрана. Это в основном означает «каждую секунду» и полезно, если у вас есть более длинные файлы, делать снимок экрана каждые 60 секунд или каждые 5 минут -i входной видеофайл -i no вывод для видео на X11, нам это не нужно -t таймфрейма моментального снимка (в секундах) -t мы говорим VLC, что около 24 кадров в секунду -f filetype -f заменить любые файлы, которые вызывают как ваш скриншот sample-image.png, с вашим текущим снимком экрана. Если вы опустите это, VLC начнет нумерацию скриншотов vlc: // quit quit vlc, как только мы закончим

Полная документация здесь

13
ответ дан 24 July 2018 в 13:20
  • 1
    Что вы подразумеваете под болтливым? И я хочу моментальный снимок на 26-й секунде. Итак, зачем указать таймфрейм на -t. Я беру изображение, а не видео. – Sonevol 18 January 2018 в 16:40
  • 2
    & Quot; Чатти & Quot; потому что ffmpeg печатает более 40 строк журнала с этой командой, такой как текущая версия, тип установки и информация о входном видеофайле, что неинтересно для вас. Для вашей цели вы, вероятно, можете опустить «-t 1». Кажется, что по умолчанию используется одна секунда или ее часть, что отлично подходит для скриншота. Хорошая разница заключается в возможности определять имя выходного файла и улучшать качество / разрешение и т. Д. – Robert Riedl 18 January 2018 в 16:48

Другие вопросы по тегам:

Похожие вопросы: