Два разных видео доставляют мне неприятности, когда я придумываю код для их обрезки в определенный момент времени, потому что один и тот же код не обрезает видео одинаковым образом при обработке одной и той же ffmpegкомандой
В первом видео, если я укажу -to10, оно будет вырезано на один кадр раньше.
Со вторым видео, если я укажу -to10, оно будет вырезано в этом кадре.
Прочитав комментарий здесь, один человек говорит «познакомится не всегда выполняются на DTS, это на самом деле зависит от контейнера Если контейнер временных меток являются очками, искание в PTS, если контейнер метка время является д.т.н., искание в формате DTS.»
Что я могу сделать, чтобы определить, как мои разрезы будут работать заранее?
В идеале я хотел бы иметь возможность найти информацию в выводе ffprobeкоманды, а затем соответствующим образом настроить свою логику
Я знаю, как `-ss` работает с ключевыми кадрами, но моя проблема с командой` -to`. Как знание PTS и DTS каждого пакета поможет мне определить, как будет вести себя команда `to`?
Houseman 6 лет назад
0
Потому что опция `-to` будет аналогично искать метку времени каждого кадра при принятии решения о том, когда прекратить кодирование. Вам нужно взглянуть на два примера и понять, почему выбрана временная метка PTS или DTS.
slhck 6 лет назад
0
Извините, если мне неясно, но я пытался спросить: что определяет, выбран ли PTS или DTS? Что я должен искать?
Houseman 6 лет назад
0
Ах, ваш первоначальный вопрос был о том, как проверить видео. Я думал, что вы могли бы найти какой-то образец там. Я полагаю, что это будет зависеть от демультиплексора пакетов с десятками (если не больше) возможностей того, как этот демультиплексор выберет метку времени кадра. Я не тот человек, чтобы спрашивать, хотя; разработчик FFmpeg, который знает внутренности, может знать больше.
slhck 6 лет назад
0