[wlx/wdx] TCMediaInfo

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Bartholomeo
Сообщения: 37
Зарегистрирован: Вс ноя 05, 2006 01:22
Откуда: СПб

Сообщение Bartholomeo »

Loopback,
Loopback писал(а):в тексте колоночного узла должно быть не имя поля MediaInfo, а имя источника. Вот так:
<column name="Video Stream Size">VideoStreamSize</column>
Спасибо, помогло. Буду пробовать и другие поля.
------
Кажется, ошибку нашел. Не показывался Битрейт аудио в кбпс. В строке 151 (если в оригинале) заменил expr="script" на type="script", стало отображать
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Bartholomeo писал(а):Кажется, ошибку нашел. Не показывался Битрейт аудио в кбпс. В строке 151 (если в оригинале) заменил expr="script" на type="script", стало отображать
Спасибо, точно.
Bartholomeo
Сообщения: 37
Зарегистрирован: Вс ноя 05, 2006 01:22
Откуда: СПб

Сообщение Bartholomeo »

Loopback,
Все (для моих целей) работает надежно на разных форматах.
Loopback, затеял округлить видео кбпс и аудио кб/с до целых, и не получается. Что нужно сделать? Я так понимаю, нужен round в строках 130 и 151 или как? Пробовал создать новый unit с expr=Round(var/1024,-2) - отражает, но все равно не округляет. При этом библиотека и в GUI и в wlx отражает округленно до целых (и, кстати, делит не на 1024, а на 1000, хотя использует киби- и мебибайты).
-----
Ух. Нашел. Нужно вместо

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

begin Output:=Format('%f', [Double(VideoBr)/1000])
прописать

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

begin Output:=Format('%d', [Trunc(Double(VideoBr)/1000)])
То же и для аудио.
Последний раз редактировалось Bartholomeo Пн авг 23, 2010 17:03, всего редактировалось 1 раз.
Аватара пользователя
Ramiro
Сообщения: 97
Зарегистрирован: Ср авг 05, 2009 20:00
Откуда: у тотала столько поклонников?

Сообщение Ramiro »

Loopback
Спасибо за плагин, пользуюсь им постоянно), подскажите как можно сделать чтоб в (Всё аудио строкой) давало более подробную информацию по каналам в mp3 (Joint Stereo), конечно в ини можно подставить [=media.channel mode], но тогда строки дублируются...
Изображение
У меня только один командир... Total.
Bartholomeo
Сообщения: 37
Зарегистрирован: Вс ноя 05, 2006 01:22
Откуда: СПб

Сообщение Bartholomeo »

Ramiro, извини, влезу, заинтересовало. "Всё аудио строкой", появилось, по-моему, только в TCMediaInfo 0.6, но там нет инишника, а xml. Я не нашел ни в allprops.txt, ни в ini, ни в xml (в старом и новом плагине) выражение media.channel mode.

Я так понимаю, что нужно прописать любой возможный параметр в скрипте строки 151 (<column name="All audio as string" type="script">), взяв выражение в allprops.txt
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Bartholomeo
Да, можно и так, кстати. Или можно задать точность 0 для формата f:

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

Output:=Format('%.0f', [Double(VideoBr)/1024])
Ramiro, Bartholomeo
Вот и я сразу не нашел, где этот режим каналов. Пришлось срочно писать утилиту для вывода всех пар поле-значение :) В результате, нашел, какой нужно добавить источник:

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

<source name="AudioFormatSettingsMode" field="Format_Settings_Mode" context="Audio"/>
И изменить скрипт для колонки "Всё одной строкой":

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

begin
  Output:='';
  if (AudioBrMode <> '') then Output:=AudioBrMode;
  if (AudioBr <> '') then Output:=Output+'@'+Format('%d', [Trunc(Double(AudioBr)/1000)]);
  if (AudioSamplingRate <> '') then Output:=Output+', '+AudioSamplingRate+'Hz';
  if (AudioResolution <> '') then Output:=Output+', '+AudioResolution+'bit';
  if (AudioFormatSettingsMode <> '') then
	Output:=Output+', '+AudioFormatSettingsMode
  else
	  if (AudioChannels <> '') then
	  case AudioChannels of
		1: Output:=Output+', Mono';
		2: Output:=Output+', Stereo';
	  end;
end.
Аватара пользователя
Ramiro
Сообщения: 97
Зарегистрирован: Ср авг 05, 2009 20:00
Откуда: у тотала столько поклонников?

Сообщение Ramiro »

Loopback
Cпасибо всё здорово отображается! Изображение Изображение
Bartholomeo
Я имел в виду wincmd.ini, а выражение media.channel mode от Media-плагина.
У меня только один командир... Total.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

В связи с грядущим отъездом в отпуск, в котором программированием заниматься точно не буду :), выкладываю немного исправленную версию, в которой вроде удалось решить проблему общего доступа. Также была добавлена возможность использования сессионной базы (в памяти, без создания файла).

Скачать (0.61 beta)
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

Loopback
а можно WLX версию?
TC 9.51 | Win10 1903
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Mr.Merak
Страницей ранее была. Примитивная, но пока то что есть.
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

Loopback
о! норм.
Заголовки (General, Video, Audio) только желательно сделать жирными. Ну и русский язык желательно бы
TC 9.51 | Win10 1903
StarS
Сообщения: 33
Зарегистрирован: Вс окт 22, 2006 19:38

TcMediInfo показывает время кодирования на 4 часа больше

Сообщение StarS »

Добрый день!
При переименовании файла *.MOV с помощью плагина tcmediainfo используя шаблон [=tcmediainfo.Дата кодирования.Y-M-D h-m-s] дата/время имени результирующего файла получается на 4 часа больше, чем реальное время кодирования файла.
Как добиться правильного времени?
Чувствую, что это связано с часовым поясом (UTC: +3) и настройкой Total Commandeк "Коррекция времени NTFS->Игнорировать разницу в 1час" ( 3+ 1 = 4), но как грамотно решить проблему - не знаю.
MediaInfo.exe показвает дату кодирования файла правильно :"Encoded date : UTC 2010-09-21 23:13:45".
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

StarS писал(а):Чувствую, что это связано с часовым поясом (UTC: +3) и настройкой Total Commandeк "Коррекция времени NTFS->Игнорировать разницу в 1час" ( 3+ 1 = 4)
Небольшое уточнение: не столько коррекция времени NTFS, сколько учёт зимнего-летнего времени. Сейчас действует летнее время, прибавляющее час к тем трём часам, вот и получается 4. Видимо, плагин возвращает локальное время, а Тотал ожидает UTC.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

StarS
Да, дело в часовом поясе. Сейчас плагин передает тоталу время на Гринвичском меридиане - как этого требует спецификация плагина. Тотал сам прибавляет к этому времени нужное количество часов, с учетом пояса и летнего времени.

Но со скриптингом это довольно легко обойти. Просто преобразуем исходную строку UTC-даты как надо, не используя тоталовские функции.

Добавь такую колонку в конфигурацию и используй ее:

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

<column name="Encoded Date (GMT, Y-M-D h-m-s)" type="script">
    <![CDATA[
    var
      YMD,h,m,s: string; 
    begin
      if Copy(EncDate, 1, 3) = 'UTC' then
      begin
        YMD:=Copy(EncDate, 5, 10);
        h:=Copy(EncDate, 16, 2);
        m:=Copy(EncDate, 19, 2);
        s:=Copy(EncDate, 22, 2);
        Output:=Format('%s %s-%s-%s', [YMD,h,m,s]);
      end
      else
        Output:=EncDate;
    end.
    ]]>
</column>

Аватара пользователя
Ramiro
Сообщения: 97
Зарегистрирован: Ср авг 05, 2009 20:00
Откуда: у тотала столько поклонников?

Сообщение Ramiro »

Loopback писал(а): Ramiro, Bartholomeo
Вот и я сразу не нашел, где этот режим каналов. Пришлось срочно писать утилиту для вывода всех пар поле-значение :)
Спасибо за утилиту, вот только горизонтального скролла не хватает, некоторая инфа уходит за края и не посмотреть)))
У меня только один командир... Total.
Ответить