Информация об изменениях

Сообщение Re[7]: Попинайте меня ещё раз с фрилансерами от 16.10.2023 7:44

Изменено 16.10.2023 7:45 so5team

Re[7]: Попинайте меня ещё раз с фрилансерами
Здравствуйте, cppguard, Вы писали:

DP>>1. В ТЗ:

DP>>

DP>>- В ffmpeg есть встроенные средства, чтобы верезать видео по заданным временным меткам, но только для одного отрезка. Данная работа предполагает, что программа будет за одни проход по исходному видео вырезать все отрезки.


DP>>У вас FFmpeg запускается отдельно для каждого отрезка. Такого по условию быть не должно. И выше в треде вы с упорством доказывали, что FFmpeg не подходит и такое не умеет, когда вам предлагали абсолютно такое же решение.

C>Вероятно, произошла путаница между ffmpeg и libffmpeg. От последнего я не отказывался. А бинарник умеет только по-тупому вытягивать отрезок видео.

Тем не менее, выбранная вами для работы moviepy делает именно это -- запускает бинарник ffmpeg и читает бинарные данные с его стандартного вывода (формирование командной строки, запуск, чтение).

Т.е. это напрямую то, что вам предлагали делать (но на Ruby, а не на Python), но вы категорически этого не хотели:

Вот уже один предложил написать скрипт на Ruby (почему не Bash, Карл?) и дёргать ffmpeg. Видимо, я недостаточно внятно написал, что ffmpeg не умеет нужную функцию из коробки.


DP>>3. Еще одно требование звучало совсем иначе в ТЗ, и, ИМХО, не выполнено:

DP>>

DP>>- Временной отрезок может включать конец одного исходного видео и начало другого. Программа должна корректно это обрабатывать.

DP>>Ну тут мы просто проверяем не выход за границы. По условию это выглядело скорее, что пересечение попадет и в первый, и во второй выходные клипы.

C>Ну вот, теперь ещё нужно разжёвывать, как код работает Извините, я на такое не подписывался. Опубликованная программа делает ровно то, что я описал, в том числе и правильное вырезание клипа, если временной отрезок охватывает больше одного исходного видео.


Из вашего описания у меня лично (а может и не у меня одного?) сложилось впечатление, что если в csv файле задано что-то вроде:
60, 180,
0, 30
90, 180

Т.е. сперва фрагмент (00:01:00-00:04:00), затем фрагмент (00:00:00-00:00:30), затем фрагмент (00:01:30-00:04:30).

И на выходе должно получиться два файла: один с фрагментом (00:00:00-00:00:30), второй с фрагментом (00:01:00-00:04:30).

Причем делать это нужно было за один проход по файлу, т.е. сперва нужно было сделать файл с фрагментом (00:00:00-00:00:30), затем уже файл с фрагментом (00:01:00-00:04:30).

/Круглые скобки вверху были использованы только для того, чтобы не колупаться тегами разметки, которые на RSDN записываются в квадратных скобках).

Я совсем плохо знаю Python и поэтому не вижу как это делается в вашем цикле чтения строк из csv-файла... Но, есть ощущение, что там этого нет вообще.

Или же что исходное условие было сформулировано так, что трактуется неоднозначно.
Re[7]: Попинайте меня ещё раз с фрилансерами
Здравствуйте, cppguard, Вы писали:

DP>>1. В ТЗ:

DP>>

DP>>- В ffmpeg есть встроенные средства, чтобы верезать видео по заданным временным меткам, но только для одного отрезка. Данная работа предполагает, что программа будет за одни проход по исходному видео вырезать все отрезки.


DP>>У вас FFmpeg запускается отдельно для каждого отрезка. Такого по условию быть не должно. И выше в треде вы с упорством доказывали, что FFmpeg не подходит и такое не умеет, когда вам предлагали абсолютно такое же решение.

C>Вероятно, произошла путаница между ffmpeg и libffmpeg. От последнего я не отказывался. А бинарник умеет только по-тупому вытягивать отрезок видео.

Тем не менее, выбранная вами для работы moviepy делает именно это -- запускает бинарник ffmpeg и читает бинарные данные с его стандартного вывода (формирование командной строки, запуск, чтение).

Т.е. это напрямую то, что вам предлагали делать (но на Ruby, а не на Python), но вы категорически этого не хотели:

Вот уже один предложил написать скрипт на Ruby (почему не Bash, Карл?) и дёргать ffmpeg. Видимо, я недостаточно внятно написал, что ffmpeg не умеет нужную функцию из коробки.


DP>>3. Еще одно требование звучало совсем иначе в ТЗ, и, ИМХО, не выполнено:

DP>>

DP>>- Временной отрезок может включать конец одного исходного видео и начало другого. Программа должна корректно это обрабатывать.

DP>>Ну тут мы просто проверяем не выход за границы. По условию это выглядело скорее, что пересечение попадет и в первый, и во второй выходные клипы.

C>Ну вот, теперь ещё нужно разжёвывать, как код работает Извините, я на такое не подписывался. Опубликованная программа делает ровно то, что я описал, в том числе и правильное вырезание клипа, если временной отрезок охватывает больше одного исходного видео.


Из вашего описания у меня лично (а может и не у меня одного?) сложилось впечатление, что если в csv файле задано что-то вроде:
60, 180,
0, 30
90, 180

Т.е. сперва фрагмент (00:01:00-00:04:00), затем фрагмент (00:00:00-00:00:30), затем фрагмент (00:01:30-00:04:30).

И на выходе должно получиться два файла: один с фрагментом (00:00:00-00:00:30), второй с фрагментом (00:01:00-00:04:30).

Причем делать это нужно было за один проход по файлу, т.е. сперва нужно было сделать файл с фрагментом (00:00:00-00:00:30), затем уже файл с фрагментом (00:01:00-00:04:30).

/Круглые скобки вверху были использованы только для того, чтобы не колупаться тегами разметки, которые на RSDN записываются в квадратных скобках/

Я совсем плохо знаю Python и поэтому не вижу как это делается в вашем цикле чтения строк из csv-файла... Но, есть ощущение, что там этого нет вообще.

Или же что исходное условие было сформулировано так, что трактуется неоднозначно.