Я всего лишь скромный PHP-разработчик, которому поручено получить некоторую основную информацию о сотнях тысяч видеофайлов. У меня было немного удачи , используя FFmpeg экстрагирования video bitrate
, video width
, video height
, duration
, и aspect ratio
от них, но с коэффициентом ошибок около 5%, это все еще оставляет меня с огромным количеством файлов , которые я не знаю , как бороться с. Видео действительно воспроизводится, но огромное количество данных, которые возвращает ffmpeg, сбивает меня с толку относительно того, как анализировать возвращаемый XML, чтобы найти то, что мне нужно, при всех условиях, с которыми я, похоже, сталкиваюсь. (Файлы представляют собой коллекцию за последние 15 лет или около того, некоторые были недавно закодированы, другие преобразованы несколько лет назад)
Во всяком случае, я нашел следующее использование ffprobe
для получения продолжительности и надеялся, что кто-то здесь, кто понимает сложности использования ffmpeg & ffprobe, будет достаточно любезен, чтобы помочь мне найти другие нужные мне значения более простым способом, чем сумасшедший код, который я создаю, чтобы пролистать полные результаты ffmpeg.
ffprobe -i "video.mp4" -show_entries format=duration -v quiet -of csv="p=0"
Большое спасибо заранее.
ПОЯСНЕНИЯ:
Я должен добавить, что с помощью нижеприведенного cmd я могу «видеть» то, что мне нужно, но я не понимаю, как извлечь то, что мне нужно, например, получить битрейт VIDEO и подавить / игнорировать битрейт AUDIO или определить, какой из 2 различные длительности использования (длительность аудио / видео?)
C:\>ffprobe -v error -show_entries stream=width,height,bit_rate,duration -of default=noprint_wrappers=1 input.mp4
duration=1712.000000
bit_rate=64000
width=320
height=240
duration=1711.946113
bit_rate=359827
duration=1712.000000
bit_rate=N/A
duration=1712.000000
bit_rate=N/A
С https://trac.ffmpeg.org/wiki/FFprobeTips
Если вы хотите получить битовую скорость 1-го видео потока, вы можете использовать:
Где
-select_steams v:0
выбирает 1-й поток видео и:nokey=1
дает значение без ключа. Вы также можете извлечь информацию, отправив ее в grep, но я не уверен, доступна ли она в вашей системе.Надеюсь это поможет!
источник