Pull to refresh

Comments 8

Не измерял, но подозреваю, что ffmpeg с фильтром tile будет производительнее

Измерил, не производительнее :( Видимо потому что ffmpeg по природе своей декодирует все кадры, а не только нужные

Зависит от кодака и опорного фрейма.(GOP)

Не зависит, потому что ffmpeg по умолчанию в любом случае декодирует все имеющиеся кадры (о чём я подзабыл, когда писал первый комментарий)


Можно использовать "-discard nokey" чтобы выбросить все кадры кроме опорных, но это уже немного другая история с менее предсказуемым результатом

Какой у вас результат для ffmpeg по времени?
У меня для файла 7,9 Гб — 0:00:23.434035 (23сек).
я таки извеняюся, но вот это
if s<10:
    s='0'+str(s)
else:
    s=str(s)

нимнога дичь, патамушта существует форматирование до n-знаков любого числа
s = f'{s:02d}'
>>07

ну или через .format
прям всю строку можно сформировать одной ф-строкой
str_m = f'{h}h:{m:02d}m:{s%60:02d}s'
>>2h:05m:06s


str_m = f'{h}h:{m:02d}m:{s%60:02d}s'
>>2h:05m:06s

Разве это .format?
Не такой синтаксис должен быть: «I have {0:f} dollars on me».format(100.113)?

Да, f-строки (как и .format) работают немного быстрее (по моим замерам очень немного быстрее), тем не менее, это более современный синтаксис.
Если пойти дальше, то можно ifы в lambdы упаковать и т.д.
Спасибо, за коммент!
Разве это .format?

Нет, это не формат, в данном случае это ф-строка
Вообще, имелось в виду что в форматировании строки можно дополнить вывод переменной до необходимого количества символов
Например здесь мы дополняем до трех знаков десятичное число 1 (используется формат):
s = 1
"{:3}".format(s)
>>'  1'

Здесь перед единицей — два пробела

А в этом случае мы дополняем до пяти знаков, используя в виде заполнителя цифру ноль (f-строка):
f"{s:05}"
>>'00001'


ну т.е. не городить свой велосипед с ифами а сразу использовать встроенные возможности языка
За статью спасибо!
Sign up to leave a comment.

Articles