Как определить, являются ли два потока видео повторяющимися или они представляют собой два отдельных потока? Изначально я отбрасывал повторы в метаданных из-за того, что иногда потоки дублировались в разделе программ, но теперь у меня есть файл с более чем двумя потоками видео и возникает непонимание. Как выяснить, являются ли эти потоки повторами или это действительно два разных потока? Раньше я решал эту проблему прямым подходом, но теперь не могу понять, как быть в этой ситуации.
Для определения повторяющихся значений при использовании команды ffprobe show_entries, можно использовать фильтры и сравнение значений. Например, вы можете использовать следующую команду для вывода всех повторяющихся значений в разделе потоков видео: ``` ffprobe -v error -show_entries stream=codec_name -of default=nokey=1:noprint_wrappers=1 input.mp4 | sort | uniq -d ``` Эта команда сначала выбирает только кодеки из раздела потоков видео, затем сортирует их и выводит только повторяющиеся значения с помощью команды uniq. Однако, чтобы определить, являются ли два потока видео повторяющимися или отдельными, вам нужно будет анализировать метаданные других полей, таких как разрешение, битрейт, соотношение сторон и т. д. Для этого вы можете использовать соответствующие фильтры и сравнивать значения этих полей для каждого потока видео. Например, вы можете использовать следующую команду для вывода разрешений и битрейтов всех потоков видео в формате JSON: ``` ffprobe -v error -show_entries stream=width,height,bit_rate -of json input.mp4 ``` Затем вы можете проанализировать результат и сравнить значения разрешений и битрейтов для каждого потока видео. Если значения различаются, то это два отдельных потока. Если значения совпадают, то это повторяющиеся потоки.
Вроде как обходится через разницу между тегами: v -все все видео, V - видео уже без вложений. Очередность имеет значение, а потому копируется всё и только видео, как указанное исключение, кодируется:
Где взять индекс $idx? Посмотреть что не является картинкой и выбрать, если там более 1 потока. Очень древние видосы этим грешат. Иначе - выбирать наивысшее разрешение или забить и обработать руками.
Вот только вылез косяк:
"attached_pic": 0 - просто портится метадата выходного файла при копировании потока. Причем mkvToolNix его прекрасно читает и проблем нет. И сам ffmpeg опирается на этот флаг. И сам же его портит. Т.е. повторно загнать файл в ту же обработку не выйдет. И винда в проводнике превью тоже теряет. Бред какой-то.
Как обходной маневр рекомендуют следующее:
Пока забил болт.