Как получить видео / аудио информацию, такую ​​как продолжительность и с и высота? - PullRequest
0 голосов
/ 23 июня 2019

Мне нужно получить информацию о видео / аудио файлах, такую ​​как длительность, ширина и высота после загрузки из RestController.

1 Ответ

0 голосов
/ 25 июня 2019

Это будет зависеть от конкретного видео контейнера (например, mp4), а также, возможно, используемой вами инфраструктуры, но вы можете использовать ffprobe, часть ffmpeg, для получения информации.

Существует несколько оболочек ffmpegдля Java - на момент написания статьи это было популярно: https://github.com/bramp/ffmpeg-cli-wrapper

Получение информации о мультимедийном файле с помощью этого, из примера по ссылке выше, выглядит следующим образом:

FFprobe ffprobe = new FFprobe("/path/to/ffprobe");
FFmpegProbeResult probeResult = ffprobe.probe("input.mp4");

FFmpegFormat format = probeResult.getFormat();
System.out.format("%nFile: '%s' ; Format: '%s' ; Duration: %.3fs", 
    format.filename, 
    format.format_long_name,
    format.duration
);

FFmpegStream stream = probeResult.getStreams().get(0);
System.out.format("%nCodec: '%s' ; Width: %dpx ; Height: %dpx",
    stream.codec_long_name,
    stream.width,
    stream.height
);
...