Как я могу редактировать метаданные видеофайлов для mp4?

У меня есть несколько файлов mp4, которые должны содержать те же метаданные, например. художник & amp;

Как я могу редактировать метаданные, а не выполнять их по одному?

4
задан 4 April 2017 в 10:25

11 ответов

Прежде чем продолжить, сделайте резервную копию видео, которое вы хотите обработать. Приведенная ниже команда заменяет существующие файлы.

find /home/user/videos-to-process/ -type f -iname '*.mp4' -exec ffmpeg -i "{}" -codec copy -metadata artist="John Smith" -metadata album="Foo Bar" "{}.new.mp4" \; -exec mv "{}.new.mp4" "{}" \;

Вот такая же команда, отформатированная для ясности:

find /home/user/videos-to-process/ -type f -iname '*.mp4' \
  -exec ffmpeg \
    -i "{}" \
    -codec copy \
    -metadata artist="John Smith" \
    -metadata album="Foo Bar" \
    "{}.new.mp4" \; \
  -exec mv \
    "{}.new.mp4" "{}" \;

Что это делает?

Рекурсивно находит все файлы .mp4 (сравнение с расширением без учета регистра) в / home / user / videos-to-process. Создает новый видеофайл, копируя существующие потоки, с нужными метаданными. Заменяет исходный видеофайл новым видеофайлом.

Шаг 2 копирует существующие потоки; мы не перекодируем (это хорошо). Вы просто меняете метаданные. Я провел это через каталог с шестью файлами, каждый около 1 ГБ. Общее время обработки составляло около 30 секунд.

3
ответ дан 23 May 2018 в 00:03
  • 1
    Вместо ffmpeg вы можете использовать exiftool для изменения метаданных на месте. – ridgy 2 April 2017 в 18:19
  • 2
    @ridgy документация exiftool показывает, что большинство полей недоступны для записи. Единственными доступными для записи полями являются PreviewDate, MediaCreateDate, MediaModifyDate, TrackCreateDate, TrackModifyDate, CreateDate и ModifyDate. Могли ли вы использовать exiftool для добавления или изменения альбома или исполнителя? – TooManyPets 2 April 2017 в 22:25
  • 3
    Я не пытался, и из документации видно, что вы правы. Поскольку я обычно создаю аудиоданные из необработанных данных с помощью audacity, я определяю там метаданные и использую только exiftool для сортировки данных. Извините за ввод в заблуждение. – ridgy 3 April 2017 в 13:39
  • 4
    @ridgy Нет проблем! За последние пару недель я был глубоко в шезлонге exiftool, пытаясь очистить массивный фотоархив. Это отличный инструмент. Хотел бы я использовать его с MP4. – TooManyPets 3 April 2017 в 16:06
  • 5
    @TooManyPets это, похоже, работает, спасибо. Я попытался найти google для полей метаданных, используемых в mp4, но ничего не нашел. Вы случайно не знаете сайт, на котором это документировано? – t3rminal 14 April 2017 в 00:14

Прежде чем продолжить, сделайте резервную копию видео, которое вы хотите обработать. Приведенная ниже команда заменяет существующие файлы.

find /home/user/videos-to-process/ -type f -iname '*.mp4' -exec ffmpeg -i "{}" -codec copy -metadata artist="John Smith" -metadata album="Foo Bar" "{}.new.mp4" \; -exec mv "{}.new.mp4" "{}" \;

Вот такая же команда, отформатированная для ясности:

find /home/user/videos-to-process/ -type f -iname '*.mp4' \ -exec ffmpeg \ -i "{}" \ -codec copy \ -metadata artist="John Smith" \ -metadata album="Foo Bar" \ "{}.new.mp4" \; \ -exec mv \ "{}.new.mp4" "{}" \;

Что это делает?

Рекурсивно находит все файлы .mp4 (сравнение с расширением без учета регистра) в / home / user / videos-to-process. Создает новый видеофайл, копируя существующие потоки, с нужными метаданными. Заменяет исходный видеофайл новым видеофайлом.

Шаг 2 копирует существующие потоки; мы не перекодируем (это хорошо). Вы просто меняете метаданные. Я провел это через каталог с шестью файлами, каждый около 1 ГБ. Общее время обработки составляло около 30 секунд.

3
ответ дан 18 July 2018 в 15:40

Прежде чем продолжить, сделайте резервную копию видео, которое вы хотите обработать. Приведенная ниже команда заменяет существующие файлы.

find /home/user/videos-to-process/ -type f -iname '*.mp4' -exec ffmpeg -i "{}" -codec copy -metadata artist="John Smith" -metadata album="Foo Bar" "{}.new.mp4" \; -exec mv "{}.new.mp4" "{}" \;

Вот такая же команда, отформатированная для ясности:

find /home/user/videos-to-process/ -type f -iname '*.mp4' \ -exec ffmpeg \ -i "{}" \ -codec copy \ -metadata artist="John Smith" \ -metadata album="Foo Bar" \ "{}.new.mp4" \; \ -exec mv \ "{}.new.mp4" "{}" \;

Что это делает?

Рекурсивно находит все файлы .mp4 (сравнение с расширением без учета регистра) в / home / user / videos-to-process. Создает новый видеофайл, копируя существующие потоки, с нужными метаданными. Заменяет исходный видеофайл новым видеофайлом.

Шаг 2 копирует существующие потоки; мы не перекодируем (это хорошо). Вы просто меняете метаданные. Я провел это через каталог с шестью файлами, каждый около 1 ГБ. Общее время обработки составляло около 30 секунд.

3
ответ дан 24 July 2018 в 20:41

Прежде чем продолжить, сделайте резервную копию видео, которое вы хотите обработать. Приведенная ниже команда заменяет существующие файлы.

find /home/user/videos-to-process/ -type f -iname '*.mp4' -exec ffmpeg -i "{}" -codec copy -metadata artist="John Smith" -metadata album="Foo Bar" "{}.new.mp4" \; -exec mv "{}.new.mp4" "{}" \;

Вот такая же команда, отформатированная для ясности:

find /home/user/videos-to-process/ -type f -iname '*.mp4' \ -exec ffmpeg \ -i "{}" \ -codec copy \ -metadata artist="John Smith" \ -metadata album="Foo Bar" \ "{}.new.mp4" \; \ -exec mv \ "{}.new.mp4" "{}" \;

Что это делает?

Рекурсивно находит все файлы .mp4 (сравнение с расширением без учета регистра) в / home / user / videos-to-process. Создает новый видеофайл, копируя существующие потоки, с нужными метаданными. Заменяет исходный видеофайл новым видеофайлом.

Шаг 2 копирует существующие потоки; мы не перекодируем (это хорошо). Вы просто меняете метаданные. Я провел это через каталог с шестью файлами, каждый около 1 ГБ. Общее время обработки составляло около 30 секунд.

3
ответ дан 31 July 2018 в 13:22

Прежде чем продолжить, сделайте резервную копию видео, которое вы хотите обработать. Приведенная ниже команда заменяет существующие файлы.

find /home/user/videos-to-process/ -type f -iname '*.mp4' -exec ffmpeg -i "{}" -codec copy -metadata artist="John Smith" -metadata album="Foo Bar" "{}.new.mp4" \; -exec mv "{}.new.mp4" "{}" \;

Вот такая же команда, отформатированная для ясности:

find /home/user/videos-to-process/ -type f -iname '*.mp4' \ -exec ffmpeg \ -i "{}" \ -codec copy \ -metadata artist="John Smith" \ -metadata album="Foo Bar" \ "{}.new.mp4" \; \ -exec mv \ "{}.new.mp4" "{}" \;

Что это делает?

Рекурсивно находит все файлы .mp4 (сравнение с расширением без учета регистра) в / home / user / videos-to-process. Создает новый видеофайл, копируя существующие потоки, с нужными метаданными. Заменяет исходный видеофайл новым видеофайлом.

Шаг 2 копирует существующие потоки; мы не перекодируем (это хорошо). Вы просто меняете метаданные. Я провел это через каталог с шестью файлами, каждый около 1 ГБ. Общее время обработки составляло около 30 секунд.

3
ответ дан 31 July 2018 в 23:43

Прежде чем продолжить, сделайте резервную копию видео, которое вы хотите обработать. Команда ниже заменяет существующие файлы.

find /home/user/videos-to-process/ -type f -iname '*.mp4' -exec ffmpeg -i "{}" -codec copy -metadata artist="John Smith" -metadata album="Foo Bar" "{}.new.mp4" \; -exec mv "{}.new.mp4" "{}" \;

Вот та же самая команда, отформатированная для ясности:

find /home/user/videos-to-process/ -type f -iname '*.mp4' \
  -exec ffmpeg \
    -i "{}" \
    -codec copy \
    -metadata artist="John Smith" \
    -metadata album="Foo Bar" \
    "{}.new.mp4" \; \
  -exec mv \
    "{}.new.mp4" "{}" \;

Что это делает?

  1. Рекурсивно находит все файлы .mp4 (сравнение с расширением без учета регистра) в /home/user/videos-to-process.
  2. Создает новый видеофайл, копируя существующие потоки, с необходимыми метаданными.
  3. Заменяет исходный видеофайл новым видеофайлом.

Шаг 2 копирует существующие потоки; мы не перекодируем (это хорошо). Вы просто меняете метаданные. Я провел это через каталог с шестью файлами, каждый около 1 ГБ. Общее время обработки составляло около 30 секунд.

3
ответ дан 14 August 2018 в 21:30

Для этой цели вы можете использовать утилиту AtomicParsley. Установите это из окна терминала следующим образом:

sudo apt-get install atomicparsley

Если у вас есть файлы mp4 в одном каталоге, вы можете просто открыть окно терминала в этом месте и запустить следующее:

[ f2]

(Это включает недокументированный, но полностью функциональный тег --overWrite.)

Очевидно, вы должны изменить значения Foo и Bar, чтобы представить фактические значения, которые вы хотите использовать в своем файлы ...

1
ответ дан 23 May 2018 в 00:03

Вы можете использовать утилиту AtomicParsley для этой цели. Установить это из окна терминала следующим образом:

sudo apt-get install atomicparsley

если у вас есть свои MP4 файлы в одном каталоге, то вы можете просто открыть окно терминала в этом месте и выполните следующую команду:

for i in *.mp4 do AtomicParsley "$i" --album "Foo" --artist "Bar" --overWrite done

(в том числе незарегистрированные, но полностью функциональный --overWrite тег.)

очевидно что вы должны изменить значения [клавишу F5] и [F6], чтобы представить фактические значения, которые вы хотите использовать в своем архиве...

1
ответ дан 18 July 2018 в 15:40

Для этой цели вы можете использовать утилиту AtomicParsley. Установите это из окна терминала следующим образом:

sudo apt-get install atomicparsley

Если у вас есть файлы mp4 в одном каталоге, вы можете просто открыть окно терминала в этом месте и запустить следующее:

for i in *.mp4 do AtomicParsley "$i" --album "Foo" --artist "Bar" --overWrite done

(Это включает недокументированный, но полностью функциональный тег --overWrite.)

Очевидно, вы должны изменить значения Foo и Bar, чтобы представить фактические значения, которые вы хотите использовать в своем файлы ...

1
ответ дан 24 July 2018 в 20:41

Для этой цели вы можете использовать утилиту AtomicParsley. Установите это из окна терминала следующим образом:

sudo apt-get install atomicparsley

Если у вас есть файлы mp4 в одном каталоге, вы можете просто открыть окно терминала в этом месте и запустить следующее:

for i in *.mp4 do AtomicParsley "$i" --album "Foo" --artist "Bar" --overWrite done

(Это включает недокументированный, но полностью функциональный тег --overWrite.)

Очевидно, вы должны изменить значения Foo и Bar, чтобы представить фактические значения, которые вы хотите использовать в своем файлы ...

1
ответ дан 31 July 2018 в 13:22

Для этой цели вы можете использовать утилиту AtomicParsley. Установите это из окна терминала следующим образом:

sudo apt-get install atomicparsley

Если у вас есть файлы mp4 в одном каталоге, вы можете просто открыть окно терминала в этом месте и запустить следующее:

for i in *.mp4 do AtomicParsley "$i" --album "Foo" --artist "Bar" --overWrite done

(Это включает недокументированный, но полностью функциональный тег --overWrite.)

Очевидно, вы должны изменить значения Foo и Bar, чтобы представить фактические значения, которые вы хотите использовать в своем файлы ...

1
ответ дан 31 July 2018 в 23:43

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

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