У меня есть видеофайл. Он содержит видеопоток, а также несколько аудиопотоков и субтитров.
Я хочу получить размер каждого из этих потоков.
Я уже посмотрел на ffprobe
/ avprobe
и mediainfo
, безрезультатно. Есть ли способ получить это из командной строки, котораяне требуетвыполнять «реальную работу» с файлом (т. е. без перекодирования, без извлечения потока и т. д.)?
решение1
Используйте эту команду
ffprobe -v error -show_entries stream=duration -select_streams a:n -of default=noprint_wrappers=1 -sexagesimal <input file>
Замените n на номер потока. Он сообщает длину n-го аудиопотока. Используйте его без ":", как здесь, ... -select_streams a -of ...
и он сообщит длину всего аудиопотока. Замените a на v
и, s
чтобы получить длину видео и субтитров. Используйте none, и он сообщит длину каждого потока.
Источники:
Редактировать:
Не заметил, это уже решено в Видео SE, впервый принятый ответ по ссылке