Consultando um arquivo de áudio / vídeo para obter informações

Eu quero uma função PHP que recebe o caminho para um arquivo e retorna uma matriz de informações sobre ele. O arquivo PHP pode chamar FFmpeg.

Os dados retornados devem ser algo como

Array(
    [mime]          => video/ogg
    [container]     => Ogg
    [video]         => Theora
    [audio]         => Vorbis
    [duration]      => 20.3 // in seconds
)

Array(
    [mime]          => audio/ogg
    [container]     => Ogg
    [video]         =>
    [audio]         => FLAC
    [duration]      => 3
)

Array(
    [mime]          => image/gif
    [container]     => GIF
    [video]         => Animated GIF
    [audio]         =>
    [duration]      => 2
)

Array(
    [mime]          => video/webm
    [container]     => WebM
    [video]         => VP8
    [audio]         => Vorbis
    [duration]      => 900.7
)

false // not a media file

Eu nunca trabalhei com FFmpeg ou com PHPshell_exec() função, mas parece que o FFmpeg fornecerá informações sobre vídeos (ou arquivos de áudio) em um formato bastante difícil de analisar. Presumo que algo assim seja possível, no entanto.

questionAnswers(4)

yourAnswerToTheQuestion