@redcircle

Как в bash скрипте определить является ли файл видео и получить его разрешение?

В bash скрипте нужно определить является ли определённый файл видео и получить его разрешение в 2 bash переменные.
При этом кодек файла и расширение файла могут быть любыми.
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
как часть ffmpeg проекта, есть ffprobe, им и пользуйтесь.

ffmpeg.org/ffprobe.html

Получить можно в разном формате. И обычный текст(ini) или csv,xml,json

Примеры:
$ ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of default=nw=1 "My video file.mpg" 
width=704
height=576


$ ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 "another vide file.mkv"
1280,720


$ ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of json "one_more video.mkv"
{
    "programs": [

    ],
    "streams": [
        {
            "width": 1152,
            "height": 480
        }
    ]
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Voland69
ffprobe из пакета ffmpeg
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of default=nw=1:nk=1 input.mp4

Подсмотрено тут
Ответ написан
Комментировать
@AVKor
#!/usr/bin/env bash

w=$(mediainfo --Inform="Video;%Width%" FileName)
h=$(mediainfo --Inform="Video;%Height%" FileName)
Ответ написан
Комментировать
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Ну, натравите на файл какой-нибудь ffmpeg в режиме отображения метаданных, распарсите нужные поля.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы