Вопрос или проблема
Как добавить временную метку даты и времени из метаданных в видео и фотографии с форматом даты и времени – EEEE, dd MMMM yyyy, hh:mm a
, сохранив при этом имя файлов без изменений и без ошибок на ПК с Windows.
Вы можете использовать drawtext с функцией %{metadata}. Например, чтобы получить дату входного файла:
drawtext=text=”%{metadata\:DateTime}
В качестве примера:
ffmpeg -i "input" -vf "drawtext=fontsize=150:fontcolor=white:bordercolor=black:borderw=10:font="calibri":x=50:y=50:text="Дата\: %{metadata\:datetime}",drawtext=fontsize=150:fontcolor=white:bordercolor=black:borderw=10:font="calibri":x=50:y=200:text="Модель камеры\: %{metadata\:model}",drawtext=fontsize=150:fontcolor=white:bordercolor=black:borderw=10:font="calibri":x=50:y=350:text="Бренд\: %{metadata\:make}",drawtext=fontsize=150:fontcolor=white:bordercolor=black:borderw=10:font="calibri":x=50:y=500:text="Размеры\: %{metadata\:PixelXDimension} X %{metadata\:PixelYDimension}",scale=800:-1'" -y output.jpg
Чтобы получить список метаданных, которые вы можете использовать, вы можете воспользоваться ffprobe:
ffprobe -show_frames “input.jpg”
Ответ или решение
Чтобы добавить водяной знак с временной меткой на видео и фотографию, используя метаданные файла, вам потребуется программа FFmpeg. Этот инструмент позволяет работать с мультимедийными файлами и обрабатывать их с помощью командной строки. Ниже представлены пошаговые инструкции, как это сделать на Windows PC.
Шаг 1: Установка FFmpeg
- Скачайте FFmpeg с официального сайта FFmpeg.
- Разархивируйте загруженный файл в удобную папку.
- Добавьте путь к папке
bin
(например,C:\ffmpeg\bin
) в переменную средыPATH
, чтобы можно было запускать FFmpeg из командной строки.
Шаг 2: Получение метаданных
Для того чтобы знать, какие метаданные доступны для использования, вы можете воспользоваться ffprobe
. Выполните следующую команду в командной строке, чтобы получить список метаданных:
ffprobe -show_frames "input.jpg"
Шаг 3: Добавление водяного знака с временной меткой
Теперь, когда вы знаете, какие метаданные можно использовать, можно добавлять водяной знак. Например, чтобы добавить дату и время с форматом EEEE, dd MMMM yyyy, hh:mm a
, вы можете использовать следующую команду:
Для видео:
ffmpeg -i "input_video.mp4" -vf "drawtext=text='%{metadata\:DateTime}':fontsize=150:fontcolor=white:bordercolor=black:borderw=10:font='calibri':x=50:y=50" -y output_video.mp4
Для фотографии:
ffmpeg -i "input_photo.jpg" -vf "drawtext=text='%{metadata\:DateTime}':fontsize=150:fontcolor=white:bordercolor=black:borderw=10:font='calibri':x=50:y=50" -y output_photo.jpg
Примечания:
-
В команде
drawtext
:text='%{metadata\:DateTime}'
— это место, где происходит вставка даты и времени из метаданных.fontsize
,fontcolor
,bordercolor
иborderw
задают стиль текста.x
иy
определяют положение текста на изображении или в видео.
-
Убедитесь, что вы используете правильные названия файлов, а также форматы и пути к файлам.
-
Если вам нужно добавить дополнительные метаданные, такие как модель камеры или разрешение изображения, их можно добавить аналогичным образом, используя больше
drawtext
фильтров в одной команде.
Заключение
Следуя вышеуказанным шагам, вы сможете успешно добавить водяной знак с временной меткой из метаданных на видео и фотографии, сохранив оригинальные файлы без изменений. Убедитесь, что ваша команда корректно настроена, чтобы избежать ошибок в процессе выполнения.