Что теперь не так? Бюджет — любой, просто назовите сумму. Всего 3 пункта в ТЗ. Из 13 откликов — 3 более-менее адекватных, но только один чётко ответил по стоимости, сроками и зависимостям. Если есть свободное время, то милости прошу меня убедить в том, что я снова ставлю невыполнимую задачу. Моё мнение остаётся неизменным — адекватных исполнителей не осталось. Хотите организовать стартап, не ввалив миллионы ещё на этапе протитипирования? — Учитесь программировать. По прошествии трёх дней попробую нанять парочку исполнителей и отпишусь о результате.
P.S. Вот уже один предложил написать скрипт на Ruby (почему не Bash, Карл?) и дёргать ffmpeg. Видимо, я недостаточно внятно написал, что ffmpeg не умеет нужную функцию из коробки.
Здравствуйте, prakop, Вы писали:
P>Первая же ссылка в гугле на SO говорит об обратном. Очевидно, что с таким заказчиком-экспертом себе же дороже работать выйдет.
Ох, началось Ну так напиши обёртку на bash, которая вызывает ffmpeg для моей задачи, я тебе 50 000 заплачу. А если окажется, что я прав — ты мне 25 000, идёт?
C>Ох, началось Ну так напиши обёртку на bash, которая вызывает ffmpeg для моей задачи, я тебе 50 000 заплачу. А если окажется, что я прав — ты мне 25 000, идёт?
Не виляй. Твои слова: "В ffmpeg есть встроенные средства, чтобы верезать видео по заданным временным меткам, но только для одного отрезка.". ffmpeg позволяет вырезать несколько отрезков. На карту переведёшь или по номеру?
C>Что теперь не так?
Для тех, кто не имел дела с видео, выглядит сложно, и непонятно сколько времени займет.
Напиши проще, что нужно залезть в исходники ffmpeg и допилить под твои требования.
Дописать новую функцию с параметрами: xxx, yyy, zzz
Здравствуйте, namespace, Вы писали:
N>Напиши проще, что нужно залезть в исходники ffmpeg и допилить под твои требования.
Там не надо лазать даже, задача простая, пишется примерно за вечер на С++ или Питоне. На баше может не получиться попасть в точное время для потокового кодека и редкими ключевыми кадрами.
Здравствуйте, cppguard, Вы писали:
C>P.S. Вот уже один предложил написать скрипт на Ruby (почему не Bash, Карл?) и дёргать ffmpeg. Видимо, я недостаточно внятно написал, что ffmpeg не умеет нужную функцию из коробки.
Недели две, Go + libffmpeg, сделаю автодетект входных форматов (и не буду парить моск, если там окажутся файлы в разных форматах), но выходной формат должен как-то задаваться. Дам пожизненную гарантию на исправление своих ошибок. 500К руб. Через хабр отвечать лень, ты все равно не захочешь столько платить.
P.S. А что делать, если во входных файлах нет заказанного интервала? Ругаццо матерно или гнать "настроечную таблицу"? А если он есть, но не совсем?
P.P.S. Формат UNIX timestamp следует уточнить. RFC-3339? Но это уже мелочи и детали, впрочем.
Здравствуйте, cppguard, Вы писали:
C>Что теперь не так?
Да всё так. Опять те же мутные формулировки. Нарисовал бы картинку что ли. Зачем-то приплёл "Сортировка файлов по имени совпадает с сортировкой файлов в хронологическом порядке". Зачем это нужно? Для кого? Мне не очевидно, что подаётся на вход программы кроме директории куда надо сохранить отрезки и что собственно резать, граничные условия и т.п. Задачу в общем случае не решить без транскодинга и тут открывается портал вопросов... Предположим, я знаю ffmpeg и работаю по ставке ну пусть будет 40$ в час. Задачку оценю часов на 20-40 включая все твои хотелки которые нифига не понятны из описания, а значит ты будешь совокуплять мне мозг. C>- В ffmpeg есть встроенные средства, чтобы верезать видео по заданным временным меткам
Не надо писать что есть, а чего нет. Пиши что тебе надо и всё, люди сами знают и скажут тебе как проще сделать, а ты можешь сказать что это тебе не подходит. Хуже всего, это заказчики которые что-то там посмотрели и УЖ ТОЧНО знают как оно на самом деле работает. Если знаешь — делай сам, только мы вот видели как ты сделал по своей же формулировке.
Здравствуйте, Kernan, Вы писали:
K>Здравствуйте, vsb, Вы писали:
vsb>>А чем плохо вызывать ffmpeg N раз, по разу для каждого отрезка? K>В условиях задачи сказано — за один проход.
на кой делать проход всего файла, если можно сделать пару seek. выглядит, что чувак не адекватен, соответственно и исполнители держаться подальше.
Здравствуйте, Kernan, Вы писали:
vsb>>А чем плохо вызывать ffmpeg N раз, по разу для каждого отрезка? K>В условиях задачи сказано — за один проход.
Я понял, мне просто для общего развития интересно понять, чем обусловлено это требование. Вроде ffmpeg позиционируется на ближайший стоп-кадр за условно O(1), а дальше уже пролистывает кадры. Если не ставить это требование, то задача решается скриптом на баше за несколько часов, который, наверное, топикстартер и сам смог бы написать, раз разбирается в этом немного. А если ставить, то превращается в дни, а то и недели работы со сложно поддерживаемым результатом в виде кода на C или подобном. Видимо я что-то упускаю, вот и интересно понять — что.
Здравствуйте, Gt_, Вы писали:
Gt_>на кой делать проход всего файла, если можно сделать пару seek. выглядит, что чувак не адекватен, соответственно и исполнители держаться подальше.
В общем виде seek — это O(N) + декодирование M кадров, где M — это расстояние между соседними ключевыми кадрами.
Здравствуйте, vsb, Вы писали:
vsb>Я понял, мне просто для общего развития интересно понять, чем обусловлено это требование. Вроде ffmpeg позиционируется на ближайший стоп-кадр за условно O(1), а дальше уже пролистывает кадры.
Вроде как всё не так просто. Посмотри, как оно делается: вот
Здравствуйте, Nuzhny, Вы писали:
N>В общем виде seek — это O(N) + декодирование M кадров, где M — это расстояние между соседними ключевыми кадрами.
И это если он не единственный в стриме как частенько бывает.
Здравствуйте, prakop, Вы писали:
P>Не виляй. Твои слова: "В ffmpeg есть встроенные средства, чтобы верезать видео по заданным временным меткам, но только для одного отрезка.". ffmpeg позволяет вырезать несколько отрезков. На карту переведёшь или по номеру?
Где ж я виляю? Примы условия игры сперва, что сообщество видело, и можешь сразу публиковать номер карты. Только вот ниже человек с опытом уже написал, что на bash не получится, поэтому ты уже как бы обосрался, но пока только в будущем. Но если не примешь условия игры, то получается, что и не обосрался. Но тогда в другом месте обосрался. Короче, тут и кот шрёдингера, и дилемма вагонетки...
Здравствуйте, vsb, Вы писали:
vsb>А чем плохо вызывать ffmpeg N раз, по разу для каждого отрезка?
Много видео, мало ресурсов. Кроме того, чтобы точно попасть в кадр, нужно найти ближайший ключевой кадр и от него начать декодирование. Если ключевых кадров мало, а временные метки стоят плотно, то получается совсем не оптимально.