2

Я хотел получить список файлов mp4 и его соответствующую продолжительность из всех папок, соответствующих шаблону ниже

например: LO1/LO1.MP4, LO3/LO3.MP4

Я попытался следовать, но я получаю несколько записей, а также я не могу понять имя файла:


$ mediainfo /var/www/videos/L*/L*.mp4 | grep Duration
Duration                                 : 25mn 54s
Duration                                 : 25mn 54s
Material_Duration                        : 1554665
Duration                                 : 25mn 54s
Material_Duration                        : 1554688
Duration                                 : 37mn 21s
Duration                                 : 37mn 21s
Material_Duration                        : 2241664
Duration                                 : 37mn 21s
Material_Duration                        : 2241696
Duration                                 : 26mn 6s
Duration                                 : 26mn 6s
Duration                                 : 26mn 6s
Duration                                 : 30mn 41s
Duration                                 : 30mn 41s
Duration                                 : 30mn 41s
Duration                                 : 39mn 41s
Duration                                 : 39mn 41s
Duration                                 : 39mn 41s
Duration_LastFrame                       : -7ms
Duration                                 : 37mn 2s
Duration                                 : 37mn 2s
Duration                                 : 37mn 2s
Duration_LastFrame                       : -12ms
Duration                                 : 34mn 24s
Duration                                 : 34mn 24s
Duration                                 : 34mn 24s
Duration                                 : 31mn 7s
Duration                                 : 31mn 7s
Duration                                 : 31mn 7s
Duration                                 : 31mn 57s
Duration                                 : 31mn 57s
Duration                                 : 31mn 57s
Duration                                 : 29mn 30s
Duration                                 : 29mn 30s
Duration                                 : 29mn 30s
Duration                                 : 36mn 28s
Duration                                 : 36mn 28s
Duration                                 : 36mn 27s
Material_Duration                        : 2187988

Итак, как я могу получить список имен файлов (.mp4) и его соответствующую продолжительность?

1 ответ1

5

Я не знаю выходных данных из mediainfo, но так я делаю это, используя ffrobe (или ffmpeg -i), чтобы получить продолжительность

ffprobe $fn 2>&1|grep Duration|sed -e 's/^[ \t]*//'|cut -d" " -f2|cut -d. -f1

используя find, вы получите имена файлов для вас

find /var/www/videos/L* -type f -name L\*.mp4

так что вы можете собрать все вместе в небольшой цикл for, чтобы получить свой список

for fn in `find /var/www/videos/L* -type f -name L\*.mp4`;
do
    dur=`ffprobe $fn 2>&1|grep Duration|sed -e 's/^[ \t]*//'|cut -d" " -f2|cut -d. -f1`
    echo "$fn $dur"
done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .