Как читать следующую инструкцию ffmpeg?

Я новичок в обработке видео.

Я хотел бы понять, как читать следующую инструкцию ffmpeg ниже import subprocess L=subprocess.call('ffmpeg -i %s -r 1 -s qvga -t 1 -f image2 %s' % (videoName,frameName), shell=True) . С помощью этой инструкции, как можно ее адаптировать, чтобы получить все кадры данное видео?

Спасибо

0
задан 25 October 2017 в 23:59

6 ответов

Я хотел бы понять, как читать следующую инструкцию ffmpeg

Ваша команда ffmpeg полуобфузирована сценарием, поэтому фактическая команда неизвестна, но вот объяснение каждой опции: [ ! d2] -i указывает на вход. -r 1 устанавливает выходную частоту кадров в 1. Это не требуется, если вы хотите вывести одно изображение или хотите вывести все изображения. В этом примере он используется для вывода одного кадра в секунду, который пропускает много кадров. -s qvga устанавливает ширину вывода x height в «qvga», которая является псевдонимом для 320x240. -t 1 устанавливает длительность выхода в 1 секунду. Это не требуется, если вы хотите вывести одно изображение или хотите вывести все изображения. Он часто добавляется пользователями новичков, пытающимися вывести одно изображение, но вместо этого следует использовать -frames:v 1. -f image2 Часто избыточная опция, используемая для установки формата вывода или мультиплексора. Он используется, если ваше имя вывода неоднозначно (возможно, из-за сценариев). В противном случае ffmpeg автоматически выберет правильный мультиплексор для выходов изображения.

Я хотел бы понять, как читать следующую инструкцию ffmpeg

Простейшая, неписанная команда для получения всех кадров:

ffmpeg -i input %04d.png

Это выведет 0001.png, 0002.png, 0003.png и т. д. Если вы хотите больше, чем числовую последовательность, вы можете использовать что-то вроде output_%05d.png, что приведет к output_00001.png. [!d12 ]

Для получения дополнительной информации см. документацию FFmpeg: Image Muxer.

1
ответ дан 22 May 2018 в 17:08
  • 1
    Большое спасибо @LordNeckbeard. Что относительно alea 224x224? – Joseph 25 October 2017 в 20:20
  • 2
    @Joseph Существует несколько способов: ffmpeg -i input -s 224x224 %04d.png или сохранить аспект ffmpeg -i input -vf scale=224:-1 %04d.png или для предотвращения его масштабирования см. . Как установить максимальную ширину видео в ffmpeg? или поместить его в поле 244x244, см. Изменение размера видео с помощью ffmpeg для вставки в статический размер игрока . – LordNeckbeard 25 October 2017 в 21:22
  • 3
    СПАСИБО. Так как мы извлекаем все кадры видео. Предполагается ли, по умолчанию, 24 кадра в секунду (кадр в секунду)? или это зависит от ffmpeg, чтобы адаптировать масштаб в зависимости от скорости видео, он может быть больше / меньше 24 кадров в секунду? – Joseph 26 October 2017 в 11:59
  • 4
    @Joseph Входная частота кадров не имеет значения. В качестве грубого упрощения, если в видеоролике будет 500 кадров, он будет выводить ~ 500 кадров. – LordNeckbeard 26 October 2017 в 19:42
Я хотел бы понять, как читать следующую инструкцию ffmpeg

Ваша команда ffmpeg полуобфузирована сценарием, поэтому фактическая команда неизвестна, но вот объяснение каждой опции: [ ! d2] -i указывает на вход. -r 1 устанавливает выходную частоту кадров в 1. Это не требуется, если вы хотите вывести одно изображение или хотите вывести все изображения. В этом примере он используется для вывода одного кадра в секунду, который пропускает много кадров. -s qvga устанавливает ширину вывода x height в «qvga», которая является псевдонимом для 320x240. -t 1 устанавливает длительность выхода в 1 секунду. Это не требуется, если вы хотите вывести одно изображение или хотите вывести все изображения. Он часто добавляется пользователями новичков, пытающимися вывести одно изображение, но вместо этого следует использовать -frames:v 1. -f image2 Часто избыточная опция, используемая для установки формата вывода или мультиплексора. Он используется, если ваше имя вывода неоднозначно (возможно, из-за сценариев). В противном случае ffmpeg автоматически выберет правильный мультиплексор для выходов изображения.

Я хотел бы понять, как читать следующую инструкцию ffmpeg

Простейшая, неписанная команда для получения всех кадров:

ffmpeg -i input %04d.png

Это выведет 0001.png, 0002.png, 0003.png и т. д. Если вы хотите больше, чем числовую последовательность, вы можете использовать что-то вроде output_%05d.png, что приведет к output_00001.png.

Для получения дополнительной информации см. документацию FFmpeg: Image Muxer.

1
ответ дан 18 July 2018 в 04:34
Я хотел бы понять, как читать следующую инструкцию ffmpeg

Ваша команда ffmpeg полуобфузирована сценарием, поэтому фактическая команда неизвестна, но вот объяснение каждой опции: [ ! d2] -i указывает на вход. -r 1 устанавливает выходную частоту кадров в 1. Это не требуется, если вы хотите вывести одно изображение или хотите вывести все изображения. В этом примере он используется для вывода одного кадра в секунду, который пропускает много кадров. -s qvga устанавливает ширину вывода x height в «qvga», которая является псевдонимом для 320x240. -t 1 устанавливает длительность выхода в 1 секунду. Это не требуется, если вы хотите вывести одно изображение или хотите вывести все изображения. Он часто добавляется пользователями новичков, пытающимися вывести одно изображение, но вместо этого следует использовать -frames:v 1. -f image2 Часто избыточная опция, используемая для установки формата вывода или мультиплексора. Он используется, если ваше имя вывода неоднозначно (возможно, из-за сценариев). В противном случае ffmpeg автоматически выберет правильный мультиплексор для выходов изображения.

Я хотел бы понять, как читать следующую инструкцию ffmpeg

Простейшая, неписанная команда для получения всех кадров:

ffmpeg -i input %04d.png

Это выведет 0001.png, 0002.png, 0003.png и т. д. Если вы хотите больше, чем числовую последовательность, вы можете использовать что-то вроде output_%05d.png, что приведет к output_00001.png.

Для получения дополнительной информации см. документацию FFmpeg: Image Muxer.

1
ответ дан 24 July 2018 в 18:06
import subprocess
L=subprocess.call('ffmpeg -i %s -r 1 -s qvga -t 1 -f image2 %s' % (videoName,frameName), shell=True)

Информация:

import subprocess: модуль подпроцесса позволяет запускать новые приложения из вашей программы Python. L=subprocess.call(...): Назначить выход метода call() переменной L. ffmpeg -i %s -r 1 -s qvga -t 1 -f image2 %s' % (videoName,frameName), shell=True: команда для запуска здесь ffmpeg -i %s: имя входного файла, полученное из переменной videoName -> input file url -r 1: частота кадров. -s qvga: размер рамки. -f image2: Форматировать формат входного или выходного файла -t 1: при использовании в качестве опции вывода (перед выходным URL) прекратите запись вывода после того, как его продолжительность продолжится. % (videoName,frameName): форматирование строки Python, которое заменит последовательности %s в предыдущей строке элементами в кортеже. shell=True: Используйте определенные функции оболочки, такие как разбиение слов или расширение параметра

Использование:

#!/usr/bin/env python

import subprocess 
L=subprocess.call('ffmpeg -r 5 -i out.ogv fmprg_%04d.png', shell=True)
L()
Сделать исполняемым: chmod u+x filename.sh, выполнить с: ./filename.sh

Информация:

fmprg_%04d.png: создает изображения с 0000, 0001, 0002, 0004, ... между fmprg_ и .png.

Чтение:

[ f25]

https://pythonspot.com/ru/tag/subprocess/

1
ответ дан 22 May 2018 в 17:08
import subprocess L=subprocess.call('ffmpeg -i %s -r 1 -s qvga -t 1 -f image2 %s' % (videoName,frameName), shell=True)

Информация:

import subprocess: модуль подпроцесса позволяет запускать новые приложения из вашей программы Python. L=subprocess.call(...): Назначить выход метода call() переменной L. ffmpeg -i %s -r 1 -s qvga -t 1 -f image2 %s' % (videoName,frameName), shell=True: команда для запуска здесь ffmpeg -i %s: имя входного файла, полученное из переменной videoName -> input file url -r 1: частота кадров. -s qvga: размер рамки. -f image2: Форматировать формат входного или выходного файла -t 1: при использовании в качестве опции вывода (перед выходным URL) прекратите запись вывода после того, как его продолжительность продолжится. % (videoName,frameName): форматирование строки Python, которое заменит последовательности %s в предыдущей строке элементами в кортеже. shell=True: Используйте определенные функции оболочки, такие как разбиение слов или расширение параметра

Использование:

#!/usr/bin/env python import subprocess L=subprocess.call('ffmpeg -r 5 -i out.ogv fmprg_%04d.png', shell=True) L() Сделать исполняемым: chmod u+x filename.sh, выполнить с: ./filename.sh

Информация:

fmprg_%04d.png: создает изображения с 0000, 0001, 0002, 0004, ... между fmprg_ и .png.

Чтение:

man ffmpeg

https://pythonspot.com/ru/tag/subprocess/

1
ответ дан 18 July 2018 в 04:34
import subprocess L=subprocess.call('ffmpeg -i %s -r 1 -s qvga -t 1 -f image2 %s' % (videoName,frameName), shell=True)

Информация:

import subprocess: модуль подпроцесса позволяет запускать новые приложения из вашей программы Python. L=subprocess.call(...): Назначить выход метода call() переменной L. ffmpeg -i %s -r 1 -s qvga -t 1 -f image2 %s' % (videoName,frameName), shell=True: команда для запуска здесь ffmpeg -i %s: имя входного файла, полученное из переменной videoName -> input file url -r 1: частота кадров. -s qvga: размер рамки. -f image2: Форматировать формат входного или выходного файла -t 1: при использовании в качестве опции вывода (перед выходным URL) прекратите запись вывода после того, как его продолжительность продолжится. % (videoName,frameName): форматирование строки Python, которое заменит последовательности %s в предыдущей строке элементами в кортеже. shell=True: Используйте определенные функции оболочки, такие как разбиение слов или расширение параметра

Использование:

#!/usr/bin/env python import subprocess L=subprocess.call('ffmpeg -r 5 -i out.ogv fmprg_%04d.png', shell=True) L() Сделать исполняемым: chmod u+x filename.sh, выполнить с: ./filename.sh

Информация:

fmprg_%04d.png: создает изображения с 0000, 0001, 0002, 0004, ... между fmprg_ и .png.

Чтение:

man ffmpeg

https://pythonspot.com/ru/tag/subprocess/

1
ответ дан 24 July 2018 в 18:06

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

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