Получение и Сохранение метаданных медиа с помощью FFmpeg

Я хочу считать метаданные в медиа-файлах и затем сохранить те метаданные в тексте/XML-файле, так, чтобы я мог позже вставить те данные в свою базу данных. Я предпочел бы использовать ffmpeg.

Также действительно ли то же самое возможно с MediaInfo?? Я знаю, что могу получить метаданные для отдельного использования дорожек MediaInfo, но я хотел бы автоматизировать его; как в том, каждый раз, когда новый медиа-файл найден, считайте его метаданные и затем сохраните его в txt/xml файле.

Или, есть ли какой-либо другой инструмент/утилита/API, который я могу использовать для этого?

62
задан 10 June 2015 в 07:30

2 ответа

Можно установить метаданные по видео, ниже album_artist

ffmpeg -i source.mp4 -metadata album_artist='stack developer' -y -r 1 -acodec copy -vcodec copy destination.mp4

набора упоминания И получить метатег как:

ffmpeg -i destination.mp4

Использование это на командной строке.

0
ответ дан 31 October 2019 в 13:54

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

ffprobe -show_streams -show_format DV06xx.avi 

и для получения информации о каждом единственном кадре в использовании видеофайла

ffprobe -show_frames DV06xx.avi 

Однако ffprobe не получает столько же информации, сколько мой любимый инструмент, Mediainfo, делает, например, 'ffprobe' не отображает временной код первого кадра видео (хотя страница справочника требует иначе), или дата записи.

, Если Вы работаете mediainfo на командной строке, можно даже запросить вывод в формате XML:

mediainfo --OUTPUT=XML DV06xx.avi 

В моем примере вывод:

<?xml version="1.0" encoding="UTF-8"?>
<Mediainfo version="0.7.63">
<File>
<track type="General">
<Complete_name>DV06xx.avi</Complete_name>
<Format>AVI</Format>
<Format_Info>Audio Video Interleave</Format_Info>
<Commercial_name>DVCPRO</Commercial_name>
<Format_profile>OpenDML</Format_profile>
<File_size>13.3 GiB</File_size>
<Duration>1h 2mn</Duration>
<Overall_bit_rate_mode>Constant</Overall_bit_rate_mode>
<Overall_bit_rate>30.5 Mbps</Overall_bit_rate>
<Recorded_date>2004-03-28 15:42:35.000</Recorded_date>
</track>

<track type="Video">
<ID>0</ID>
<Format>DV</Format>
<Commercial_name>DVCPRO</Commercial_name>
<Codec_ID>dvsd</Codec_ID>
<Codec_ID_Hint>Sony</Codec_ID_Hint>
<Duration>1h 2mn</Duration>
<Bit_rate_mode>Constant</Bit_rate_mode>
<Bit_rate>24.4 Mbps</Bit_rate>
<Encoded_bit_rate>28.8 Mbps</Encoded_bit_rate>
<Width>720 pixels</Width>
<Height>576 pixels</Height>
<Display_aspect_ratio>4:3</Display_aspect_ratio>
<Frame_rate_mode>Constant</Frame_rate_mode>
<Frame_rate>25.000 fps</Frame_rate>
<Standard>PAL</Standard>
<Color_space>YUV</Color_space>
<Chroma_subsampling>4:2:0</Chroma_subsampling>
<Bit_depth>8 bits</Bit_depth>
<Scan_type>Interlaced</Scan_type>
<Scan_order>Bottom Field First</Scan_order>
<Compression_mode>Lossy</Compression_mode>
<Bits__Pixel_Frame_>2.357</Bits__Pixel_Frame_>
<Time_code_of_first_frame>00:00:01:10</Time_code_of_first_frame>
<Time_code_source>Subcode time code</Time_code_source>
<Stream_size>12.6 GiB (94%)</Stream_size>
<Encoding_settings>ae mode=full automatic / wb mode=automatic / white balance= / fcm=manual focus</Encoding_settings>
</track>

<track type="Audio">
<ID>1</ID>
<Format>PCM</Format>
<Format_settings__Endianness>Little</Format_settings__Endianness>
<Format_settings__Sign>Signed</Format_settings__Sign>
<Codec_ID>1</Codec_ID>
<Duration>1h 2mn</Duration>
<Bit_rate_mode>Constant</Bit_rate_mode>
<Bit_rate>1 536 Kbps</Bit_rate>
<Channel_s_>2 channels</Channel_s_>
<Sampling_rate>48.0 KHz</Sampling_rate>
<Bit_depth>16 bits</Bit_depth>
<Stream_size>688 MiB (5%)</Stream_size>
<Alignment>Aligned on interleaves</Alignment>
<Interleave__duration>40 ms (1.00 video frame)</Interleave__duration>
<Interleave__preload_duration>40 ms</Interleave__preload_duration>
</track>

</File>
</Mediainfo>

Добавление дополнительного параметра -f произведет даже более подробную информацию.

10
ответ дан 31 October 2019 в 13:54

Другие вопросы по тегам:

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