Страница 1 из 2

Как пакетно изменить теги в видеофайле

Добавлено: Пт сен 20, 2019 11:15
timson
Есть множество фотографий и видео, которые обрабатываются следующим способом. Автоматически, в теме выше , через изменение атрибутов в теги фотографий с расширением jpg подставляется имя вида 2019-09-20. Задача стоит что бы пакетно в видео файлы с расширением mp4 подставить теги такого же вида из времени модификации.

Добавлено: Пт сен 20, 2019 12:40
Flasher
timson писал(а):в теме выше
См. инструмент 2-я темами ниже.

Добавлено: Пт сен 20, 2019 13:13
timson
А более конкретно напишите, что за инструмент? exiftool чтоли?

Добавлено: Пт сен 20, 2019 13:47
Flasher

Добавлено: Пт сен 20, 2019 13:59
timson
спасибо. попробую разобраться.

Добавлено: Ср окт 02, 2019 15:11
Flasher
На всякий случай приведу другие утилиты: tg, AtomicParsley, mp4tags в составе mpeg4iptools (старая без dll, крайняя), ffmpeg.

Добавлено: Ср окт 02, 2019 20:44
timson
Спасибо. Буду изучать.

Добавлено: Чт окт 03, 2019 00:28
Flasher
На всякий — не значит, что это меняет суть дела.
Для общей колонки в них нет особого смысла. Даже если бы исходная дата модификации не была испорчена (а судя по всему нет), то создать колонку можно и из указанных частей имени: [=tc.Имя:7-10].[=tc.Имя:4-5].[=tc.Имя:1-2], что я приводил в прежних темах про диалог атрибутов. В крайнем случае можно в нём прописать обычный ТС-шный descript.ion-комментарий без нужны трогать сами файлы.

AtomicParsley хоть и правит в отличии от остальных Keyword/Category для quicktime, но не майкрософский из системных свойств. В остальном любой из утилит имело бы смысл писать в Comment или Title, чтобы выводить одну колонку тем же shelldetails, к примеру. Но для задачи банальной сортировки по дате это выглядит излишним.

Добавлено: Чт окт 03, 2019 13:33
timson
Да , когда я прописывал теги в jpg файле, использовав plug in jpgcomment , я как раз использовал указанные части имени [=tc.Имя:7-10].[=tc.Имя:4-5].[=tc.Имя:1-2], но как то же самое сделать в *.mp4 я не понял. Сейчас поссмотрю через плугин tc. Спасибо.

Добавлено: Чт окт 03, 2019 14:21
Flasher
timson писал(а):как то же самое сделать в *.mp4 я не понял.
И не надо понимать. Прочтите внимательно, что я пишу.

Добавлено: Ср дек 04, 2019 22:32
timson
Здравствуйте друзья. Ткните, где совершенна ошибка.
Задача прежняя, фотографии (*.jpg) и видео файлы (*.mp4) отсортировать по общему полю. (Keyword/Category/xpcomment). Что бы можно было выводить при группировке по полю и фото и видео в одну дату.
Фотографии у меня получилось разместить с помощью plug in jpgcomment.
с видео сложнее, как писал Flasher выше, это получилось с помощью ffmpeg , через команды из под консоль , но то, что прописывает метаданные ffmpeg не видит не проводник винды, не тотал командер. В итоге опытным путем выяснилось, что существует общее поле и для jpg и для mp4 это комментарии.
Написан следующий скрипт, но он обрабатывает только видео, jpg пишет не корректно. И обрабатывает только один файл , из которого из имени файла берет 10 знаков и подставляет в поле -комментарий. Но подставляет только первое значение во все файлы.

Код: Выделить всё

mkdir newfiles
for %%a in ("*.mp4") do (
 set rrr=%%~na%
 set comment=%rrr:~0,10%
 ffmpeg -i "%%a" -c copy -metadata "Comment=%comment%" "newfiles\%%~na.mp4" -y
)

for %%a in ("*.jpg") do (
 set rrr=%%~na
 set comment=%rrr:~0,10%
 exiftool -XPComment="%comment%" "%%a" -o "newfiles\%%~na.jpg"
)
pause


Подскажите , можно ли этим батником работать в tc?
Спасибо заранее.

Добавлено: Пт дек 06, 2019 23:13
timson
На компьютерном форуме подсказали:
цитата:

if "%VAR%" == "after" @echo Тело внутреннего оператора сравнения
)

Данное сообщение не будет выводиться, т.к. %VAR% в ОБОИХ выражениях IF
подставляется в момент первого использования

Если включена поддержка
связывания времени выполнения, то для достижения ожидаемых результатов
приведенные выше фрагменты должны быть изменены следующим образом:

set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo Тело внутреннего оператора сравнения
)

Добавлено: Сб дек 07, 2019 13:08
timson
Ура все решилось! Подсказали правда.
Вдруг кому то пригодится: берет из имени файла знаки и подставляет в поле, в данном случае в комментарии.

Код: Выделить всё

setlocal enabledelayedexpansion

mkdir newfiles
for %%a in ("*.mp4") do (
set rrr=%%~na%
set comment=!rrr:~0,10!
ffmpeg -i "%%a" -c copy -metadata "Comment=!comment!" "newfiles\%%~na.mp4" -y
)

for %%a in ("*.jpg") do (
set rrr=%%~na
set comment=!rrr:~0,10!
exiftool -XPComment="!comment!" "%%a" -o "newfiles\%%~na.jpg"
)
pause

Добавлено: Чт дек 12, 2019 20:14
Flasher
timson писал(а): В итоге опытным путем выяснилось, что существует общее поле и для jpg и для mp4 это комментарии.
Самый опытный путь тут — это читать мои советы. В частности:
Flasher писал(а):В остальном любой из утилит имело бы смысл писать в Comment или Title, чтобы выводить одну колонку тем же shelldetails, к примеру.
Но так как до сих пор (уже в который раз) не объяснено, почему колонка формируется не из имён по сути одного формата, то своё участие я здесь посчитал опять же беспочвенным, тем более, как мы видим, всё свелось к решению мимо форума...

Добавлено: Чт дек 12, 2019 22:29
timson
А Вы прочитайте, что написали. Я вот Ваше предложение не понимаю, от слова совсем. "что бы выводить одну колонку, тем же shelldetais".
Вы считаете, что другие люди должны думать и знать как Вы. Ну так вот, Вы заблуждаетесь!