Страница 19 из 20

Добавлено: Вт ноя 19, 2024 13:44
Mrak_Tlen
Жаль только, что при выводе wcx нельзя задавать свои колонки

Я вообще не в теме, но мелькнула мысль, что в теории можно было бы через автостили что-то настроить. Типа провалился в файл, адрес *\.mp3\*.* (или как там) и настроить режим представления, да команды...

Заранее извините, если мысль глупая.

Добавлено: Вт ноя 19, 2024 19:23
Orion9
Mrak_Tlen
Идея понятна. :) Но проблема в том, что средствами MultiArc можно вывести только в колонки "Имя", "Тип", "Размер и "Дата". Есть еще какой-то непонятный ключ "c - File description", но, похоже, он ничего не делает.

Вывести можно так. Зарегистрировать в плагинах wcx расширение mp3:

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

mp3=260,%COMMANDER_PATH%\Plugins\wcx\MultiArc\multiarc.wcx
Добавить к настройкам плагина Multiarc.ini

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

[MediaInfo]
Archiver=%COMMANDER_PATH%\Plugins\arc\MediaInfo\wcx.bat
Description=MediaInfo
Extension=mp3 
Start="---------------"
Format0=n++
List="%PQA %AQA %O"
ExtractWithPath=
Debug=0
BatchUnpack=0
Сам wcx.bat файл должен быть в одном каталоге с консольной утилитой MediaInfo.exe с таким содержимым:

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

SetLocal EnableExtensions
cls

@echo off
@echo ---------------

"%~dp0MediaInfo.exe" -f %1
Ну и все - файл открывается как архив с полным содержимым MediaInfo, только вывод косячный и нет поддержки юникодных имён.

Второй вариант - использовать листерный плагин AnyCmd, который тоже читает стандартный вывод stdout. В кофигурации плагина указываем путь к консольной утилиите и расширение.

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

Command=cmd.exe /c ""%COMMANDER_PATH%\Plugins\arc\MediaInfo\wcx.bat" "%s""
DetectString=EXT=MP3
Плагин старый и не поддерживает больше одного расширения, что делает его практически бесполезным, хотя в окне листера и можно его вручную выбирать для других типов файлов.

Эти два плагина похожи на WinScript Advanced тем, что тоже дают некоторую гибкость при работе с консолью и выводом из нее данных в окно ТС. Вот жаль, что wfx такого нет - он мог бы здесь помочь! А пока можно просто кнопкой обходиться, если нужен такой подробный вывод.

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

TOTALCMD#BAR#DATA
%COMSPEC% /k
""%%COMMANDER_PATH%%\Plugins\arc\MediaInfo\MediaInfo.exe" -F %P%N"
%COMSPEC%



-1
Вывод окна:
Показать

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

General
Count                                    : 349
Count of stream of this kind             : 1
Kind of stream                           : General
Kind of stream                           : General
Stream identifier                        : 0
Count of video streams                   : 1
Count of audio streams                   : 1
Video_Format_List                        : AVC
Video_Format_WithHint_List               : AVC
Codecs Video                             : AVC
Audio_Format_List                        : AAC LC
Audio_Format_WithHint_List               : AAC LC
Audio codecs                             : AAC LC
Audio_Language_List                      : English
Audio_Channels_Total                     : 2
Complete name                            : d:\Музыка\Клипы\Michel Teló - Ai Se Eu Te Pego.mp4
Folder name                              : d:\Музыка\Клипы
File name extension                      : Michel Teló - Ai Se Eu Te Pego.mp4
File name                                : Michel Teló - Ai Se Eu Te Pego
File extension                           : mp4
Format                                   : MPEG-4
Format                                   : MPEG-4
Format/Extensions usually used           : braw mov mp4 m4v m4a m4b m4p m4r 3ga 3gpa 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma ismt f4a f4b f4v
Commercial name                          : MPEG-4
Format profile                           : Base Media
Internet media type                      : video/mp4
Codec ID                                 : isom
Codec ID                                 : isom (isom/iso2/avc1/mp41)
Codec ID/Url                             : http://www.apple.com/quicktime/download/standalone.html
CodecID_Compatible                       : isom/iso2/avc1/mp41
File size                                : 84524058
File size                                : 80.6 MiB
File size                                : 81 MiB
File size                                : 81 MiB
File size                                : 80.6 MiB
File size                                : 80.61 MiB
Duration                                 : 165257
Duration                                 : 2 min 45 s
Duration                                 : 2 min 45 s 257 ms
Duration                                 : 2 min 45 s
Duration                                 : 00:02:45.257
Duration                                 : 00:02:45:01
Duration                                 : 00:02:45.257 (00:02:45:01)
Overall bit rate                         : 4091763
Overall bit rate                         : 4 092 kb/s
Frame rate                               : 23.976
Frame rate                               : 23.976 FPS
Frame count                              : 3961
Stream size                              : 124476
Stream size                              : 122 KiB (0%)
Stream size                              : 122 KiB
Stream size                              : 122 KiB
Stream size                              : 122 KiB
Stream size                              : 121.6 KiB
Stream size                              : 122 KiB (0%)
Proportion of this stream                : 0.00147
HeaderSize                               : 124468
DataSize                                 : 84399590
FooterSize                               : 0
IsStreamable                             : Yes
File creation date                       : 2023-01-31 19:44:07.558 UTC
File creation date (local)               : 2023-01-31 22:44:07.558
File last modification date              : 2022-11-24 04:17:45.000 UTC
File last modification date (local)      : 2022-11-24 07:17:45.000
Writing application                      : Lavf59.27.100
Writing application                      : Lavf59.27.100

Video
Count                                    : 391
Count of stream of this kind             : 1
Kind of stream                           : Video
Kind of stream                           : Video
Stream identifier                        : 0
StreamOrder                              : 0
ID                                       : 1
ID                                       : 1
Format                                   : AVC
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format/Url                               : http://developers.videolan.org/x264.html
Commercial name                          : AVC
Format profile                           : High@L4
Format settings                          : CABAC / 3 Ref Frames
Format settings, CABAC                   : Yes
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 3
Format settings, Reference frames        : 3 frames
Internet media type                      : video/H264
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 165207
Duration                                 : 2 min 45 s
Duration                                 : 2 min 45 s 207 ms
Duration                                 : 2 min 45 s
Duration                                 : 00:02:45.207
Duration                                 : 00:02:45:01
Duration                                 : 00:02:45.207 (00:02:45:01)
Bit rate                                 : 3958942
Bit rate                                 : 3 959 kb/s
Width                                    : 1920
Width                                    : 1 920 pixels
Height                                   : 1080
Height                                   : 1 080 pixels
Stored_Height                            : 1088
Sampled_Width                            : 1920
Sampled_Height                           : 1080
Pixel aspect ratio                       : 1.000
Display aspect ratio                     : 1.778
Display aspect ratio                     : 16:9
Rotation                                 : 0.000
Frame rate mode                          : CFR
Frame rate mode                          : Constant
FrameRate_Mode_Original                  : VFR
Frame rate                               : 23.976
Frame rate                               : 23.976 (24000/1001) FPS
FrameRate_Num                            : 24000
FrameRate_Den                            : 1001
Frame count                              : 3961
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Chroma subsampling                       : 4:2:0
Bit depth                                : 8
Bit depth                                : 8 bits
Scan type                                : Progressive
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.080
Stream size                              : 81755480
Stream size                              : 78.0 MiB (97%)
Stream size                              : 78 MiB
Stream size                              : 78 MiB
Stream size                              : 78.0 MiB
Stream size                              : 77.97 MiB
Stream size                              : 78.0 MiB (97%)
Proportion of this stream                : 0.96725
Title                                    : ISO Media file produced by Google Inc.
Writing library                          : x264 - core 155 r2901 7d0ff22
Writing library                          : x264 core 155 r2901 7d0ff22
Encoded_Library_Name                     : x264
Encoded_Library_Version                  : core 155 r2901 7d0ff22
colour_description_present               : Yes
colour_description_present_Source        : Container / Stream
Color range                              : Limited
colour_range_Source                      : Container / Stream
Color primaries                          : BT.709
colour_primaries_Source                  : Container / Stream
Transfer characteristics                 : BT.709
transfer_characteristics_Source          : Container / Stream
Matrix coefficients                      : BT.709
matrix_coefficients_Source               : Container / Stream
Codec configuration box                  : avcC

Audio
Count                                    : 285
Count of stream of this kind             : 1
Kind of stream                           : Audio
Kind of stream                           : Audio
Stream identifier                        : 0
StreamOrder                              : 1
ID                                       : 2
ID                                       : 2
Format                                   : AAC
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Commercial name                          : AAC
Format_AdditionalFeatures                : LC
Codec ID                                 : mp4a-40-2
Duration                                 : 165257
Duration                                 : 2 min 45 s
Duration                                 : 2 min 45 s 257 ms
Duration                                 : 2 min 45 s
Duration                                 : 00:02:45.257
Duration                                 : 00:02:45.257
Bit rate mode                            : CBR
Bit rate mode                            : Constant
Bit rate                                 : 127999
Bit rate                                 : 128 kb/s
Channel(s)                               : 2
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Channel positions                        : 2/0/0
Channel layout                           : L R
Samples per frame                        : 1024
Sampling rate                            : 44100
Sampling rate                            : 44.1 kHz
Samples count                            : 7287834
Frame rate                               : 43.066
Frame rate                               : 43.066 FPS (1024 SPF)
Frame count                              : 7117
Compression mode                         : Lossy
Compression mode                         : Lossy
Stream size                              : 2644102
Stream size                              : 2.52 MiB (3%)
Stream size                              : 3 MiB
Stream size                              : 2.5 MiB
Stream size                              : 2.52 MiB
Stream size                              : 2.522 MiB
Stream size                              : 2.52 MiB (3%)
Proportion of this stream                : 0.03128
Title                                    : ISO Media file produced by Google Inc.
Language                                 : en
Language                                 : English
Language                                 : English
Language                                 : en
Language                                 : eng
Language                                 : en
Default                                  : Yes
Default                                  : Yes
Alternate group                          : 1
Alternate group                          : 1

Добавлено: Вт ноя 19, 2024 20:54
AkulaBig
Orion9 писал(а): Плагин старый и не поддерживает больше одного расширения
Но ведь в описании написано, что для нового расширения достаточно скопировать плагин в новую папку. И это работает, я пробовал в свое время.
Orion9 писал(а): А пока можно просто кнопкой обходиться, если нужен такой подробный вывод.
Вот такая кнопочка намного интересней будет:

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

TOTALCMD#BAR#DATA
%COMSPEC% /k %COMMANDER_PATH%\Utilities\MediaInfo\MediaInfo.exe  --Language=file://ru.csv --Complete
%P%N
%COMSPEC%



-1
Только в папку с MediaInfo.exe не забыть добавить русский язык ru.csv из комплекта поставки MediaInfo.exe. Ну и посмотрите, насколько вывод по --Complete красивей, чем по -f (--Full). Кстати, вот из этого я сейчас пытаюсь что-то слепить.

Добавлено: Ср ноя 20, 2024 00:13
Orion9
AkulaBig писал(а):Но ведь в описании написано, что для нового расширения достаточно скопировать плагин в новую папку.
Это то, что у меня отложилось в памяти (что автор предлагал копировать/множить плагин, чем мне напомнил script.wdx - предшественник WinScriptAdv), но я был не точен, говоря, что AnyCmd работает только с одним расширением. На самом деле речь идет об одной детект-строке:
Improtant note: You may install several instances of the plugin in different (sub)directories. This permits to define several detection string filters and associate corresponding commands.
Я переделал строчку в:

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

DetectString=MULTIMEDIA & (EXT="MP3" | EXT="MP4")
Теперь нормально работает с двумя расширениями. Но все-равно этот плуг нельзя рассматривать всерьёз для таких задач, имхо. Начиная с того, что в нём нельзя поменять ни фон, ни шрифт толком, заканчивая тем, что при выводе большого количества информации в нескольких страниц, пользоваться в быстром просмотре им будет не удобно, а если открывать каждый файл по одиночке, то проще уж сразу в MediaInfo.exe открыть: хоть GUI, хоть CLI.
AkulaBig писал(а):Вот такая кнопочка намного интересней будет:
Спасибо, словил ""C:\Portable\T" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом." :lol: Попытки что-либо исправить приводили еще и к "Option not known")

Да, шучу я :) В свое время специально сделал установку ТС в каталог с пробелами в пути, чтобы отлавливать такие ошибки. Рабочий код кнопки для таких случаев я оставлял выше, но учитывая, что у вас еще есть завязка на файл локализации в том же каталоге с .exe, то нужно еще дополнить каталогом запуска:

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

TOTALCMD#BAR#DATA
%COMSPEC% /k
""%%COMMANDER_PATH%%\Plugins\arc\MediaInfo\MediaInfo.exe" --Language=file://ru.csv --Complete %P%N"
%COMSPEC%
--Language=file://ru.csv --Complete
%COMMANDER_PATH%\Plugins\arc\MediaInfo\
Ох и намучился же я в свое время с этим делом :lol:
AkulaBig писал(а):Ну и посмотрите, насколько вывод по --Complete красивей, чем по -f (--Full).
А чем красивее? Я правда разницы не увидел, если не считать, что имена полей стали на русском.
AkulaBig писал(а):Кстати, вот из этого я сейчас пытаюсь что-то слепить.
И все-равно я не пойму, что именно вы хотите вывести в колонки через wdx, используя этот плагин. Ведь информации очень много - куда ее размещать? А если вас что-то конкретное интересует, то эти источники можно указать в TCMediaInfo.

Нет, похоже, все-таки придеся просить Loopback сделать wfx-поддержку :lol:

Добавлено: Ср ноя 20, 2024 04:43
AkulaBig
Orion9 писал(а): Ох и намучился же я в свое время с этим делом
Я в курсе. Для постоянных кнопок конечно я обрамляю кавычками. В данном случае в этом не было интереса, так как на это надо немного времени затратить. У ТС несколько вариантов, как надо расставлять кавычки. А с comspec под рукой не было. Главное суть.
Orion9 писал(а): А чем красивее? Я правда разницы не увидел, если не считать, что имена полей стали на русском.
Потому что я не совсем то написал. Пропишите --Complete=0 Тогда не будут выводиться ненужные поля. А --Complete=1 (по умолчанию) эквивалентно --Full, либо -f.
Orion9 писал(а): Ведь информации очень много - куда ее размещать?
Это второй вопрос. Я об этом выше писал и надо подумать, что можно с этим сделать. Главное, что выводятся все заполненные поля. Это ценно. Но пока я не могу решить с крякозябрами. Для результата у меня алгоритм есть. А вот весь вывод конвертировать пока не знаю как.
Orion9 писал(а): Нет, похоже, все-таки придеся просить Loopback сделать wfx-поддержку :lol:
Я вас умоляю, обсуждайте это в соответствующей теме. Ну совсем неинтересно здесь об этом читать.

Добавлено: Ср ноя 20, 2024 09:29
AkulaBig
Вот правильная кнопочка:

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

TOTALCMD#BAR#DATA
%COMSPEC% /k ""%COMMANDER_PATH%\Utilities\MediaInfo\MediaInfo.exe" "--Language=file://ru.csv" "--Complete=0""
%P%N
%COMSPEC%

%COMMANDER_PATH%\Utilities\MediaInfo\

-1
Признаюсь честно, потратил на нее более двух часов и инет курил во всю. Вы знаете причину.

Добавлено: Ср ноя 20, 2024 13:18
Orion9
Признаюсь честно, потратил на нее более двух часов и инет курил во всю. Вы знаете причину.
Охотно верю и причину, конечно же, знаю - потому что сам потратил на это еще больше часов :lol:

Суровые реалии кнопок: вы сбросили код, у кого-то он не запустится, этот кто-то к вам же и придёт за ответом.) Всегда нужно иметь это в виду, хотя понятно, что не хочется :lol:
Потому что я не совсем то написал. Пропишите --Complete=0 Тогда не будут выводиться ненужные поля. А --Complete=1 (по умолчанию) эквивалентно --Full, либо -f.
А чем вывод --Complete=0 отличается от простого запуска MediaInfo.exe без параметров? Разницы я не заметил. Что-то вы меня совсем запутали. Так вам сокращенный вид нужен или полный? )
Это второй вопрос. Я об этом выше писал и надо подумать, что можно с этим сделать.
Там столько данных, что полей wdx не хватит. Да и что с ними делать в таком количестве? Имхо, вытягивать нужно только конкретные поля под конкретную задачу. Я понимаю, что вам не нравится, что TCMediaInfo делает все то же самое, но... именно это она и делает! :lol: Если вы хотите вытягивать данные из какой-то другой библиотеки, то и вытягивайте сразу из нее! Но что касается MediaInfo.dll, Loopback за нас уже давно все придумал ))
Я вас умоляю, обсуждайте это в соответствующей теме. Ну совсем неинтересно здесь об этом читать.
Почему не интересно? Мне, например, это очень интересно. Есть wlx, wfx, wcx плагины, которые работают с stdout отдавая данные панелям ТС, а вот wfx плагина такого нет, вопрос - почему?

Кстати о wcx, таки удалось через MultiArc вытянуть что-то приемлимое из MI. Просто поправил в шаблоне, чтобы вторая часть таблицы вывода шла в поле расширения:

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

Format0=nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  e++
Но имя файла сортируется, поэтому сортировку нужно отключать. В общем, почти нормально, но все-равно не сильно полезно.

Добавлено: Ср ноя 20, 2024 14:48
AkulaBig
Orion9 писал(а): А чем вывод --Complete=0 отличается от простого запуска MediaInfo.exe без параметров?
Тем, что это позволяет настроить форму вывода. И я ведь это делаю скриптом с dll. Кнопка просто для примера.
Orion9 писал(а): Так вам сокращенный вид нужен или полный?
Смотрите, настроили вы колонки на вывод определенных данных. А их в вашем файле нет. И у вас все колонки пустые. Но есть другие данные, которые вам не видны, но представляют интерес. Вот их-бы желательно вывести. То-есть задача вывести не пустые данные.
А насчет кодировки есть какие-нибудь идеи?

Добавлено: Чт ноя 21, 2024 17:34
Orion9
AkulaBig
Но ведь вы столкнетесь с той же самой проблемой: данные с полей wdx нужно где-то разместить (наборы колонок, поля посказки и т.д.), но поскольку вы не можете заранее знать, что именно вам вернет MediaInfo, у вас так же остануться пустые поля в колонках или подсказках. А брать все данные в одну строку вообще смысла нет: ну попадется вам файл с 7-ю аудиодорожками, 20-ти титрами, главами и прочим - что вы будете со всем эти делать? Там бывает одна строка Encoding settings по 1,5-2 кб, зачем она вообще нужна (если только она действительно вам не нужна)? Но если вы попытаетесь ее как-то скрыть или отфильтровать, то снова попадете все в те же рамки xml-файлов и выбора/не выбора источников.

А на счет смены кодовой страницы в AutoIt сказать ничего не могу. Как уже говорил, я с ним не знаком.

Добавлено: Чт ноя 21, 2024 20:14
AkulaBig
Orion9 писал(а): А на счет смены кодовой страницы в AutoIt сказать ничего не могу. Как уже говорил, я с ним не знаком.
Не в au кодовую страницу надо менять, а в MediaInfo.

Добавлено: Чт ноя 21, 2024 23:38
Orion9
AkulaBig
Никто на AutoIt не делал класса или функций для работы с MI? Наверняка делали. Ради интереса проверил для Autohotkey. Уверен, и для au3 уже тоже давно все есть.

Добавлено: Пт ноя 22, 2024 13:02
Orion9
AkulaBig
Я подключил указанный выше модуль к Autohotkey - проблем с выводом никаких нет. Нормально отдает строку. Может, у вас au3-файл не сохранен в UTF8? Других идей у меня нет. В любом случае, низкоуровневые операции с DLL не входят в круг моих компетенций (даже не знаю, улыбнуться по этому поводу или взгрустнуть, наверное, сделаю и то и другое) :) :(
Показать
:lol:

Добавлено: Пт ноя 22, 2024 13:37
Loopback
Orion9 писал(а):Никто на AutoIt не делал класса или функций для работы с MI?
Конкретно про готовые библиотеки не помню, но там всего несколько вызовов, вот вполне нормальный пример использования с комментариями.

Добавлено: Пт ноя 22, 2024 20:00
AkulaBig
Orion9 писал(а):AkulaBig
Я подключил указанный выше модуль к Autohotkey - проблем с выводом никаких нет.
Потому что у вас тэгов с крякозябрами нет, вот и проблем нет.
Loopback писал(а):там всего несколько вызовов
Речь про вывод крякозябров, а не про вызов библиотеки. Это типа вашей функции fix_cp. Причем для отдельных полей я научился это делать. То-есть, например, поле Исполнитель или Альбом с крякозябрами вывести в правильной кодировки я умею. А вот взять и все данные по опции Complete переконвертировать пока не знаю как.

Добавлено: Сб ноя 23, 2024 00:11
Orion9
Потому что у вас тэгов с крякозябрами нет, вот и проблем нет.
А зачем вам тэги с кракозябрами? Избавьтесь от них :mrgreen:

Ну, а если серьёзно, то как я понял, вы в курсе проблемы, которая хорошо описана в справке к TCMediaInfo, которую я, кстати, наконец-то дочитал )
Показать
FixCodepage

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

Проблема, для исправления которой предназначена функция, возникает на файлах с ID3-тегом, в котором строки сохранены в ANSI-кодировке, отличной от ISO 8859-1. Официальная спецификация тега позволяет использовать только кодировку ISO 8859-1 или Юникод, однако раньше многие программы игнорировали требования спецификации и сохраняли теги в локальных ANSI-кодировках. Библиотека MediaInfo строго следует спецификациям тега и перекодирует ANSI-строки с принудительным применением кодовой страницы ISO 8859-1, что, однако, на неправильно сохраненных тегах приводит к отображению искаженного текста.

К сожалению, автор MediaInfo отказался делать какие-либо опции для настройки перекодирования тегов. Примененный в плагине метод определения того, в каком виде библиотека будет возвращать данные тегов, не самый красивый и быстрый. Поэтому неразумно применять механизм исправления ко всем полям. Перечисляйте в этой функции только те поля, где может возвращаться искаженная кодировка (обычно это название, автор и т.д.). Функция должна вызываться до любого использования этих полей. Действие функции сохраняется до конца скрипта.

Текст, который функция определит как некорректный, будет декодирован с вашей локальной системной ANSI-кодировкой. Разумеется, если текст был сохранен в кодировке, отличной от вашей системной, текст может быть по-прежнему нечитаем.
И что с этим можно поделать? Как вариант - даже хорошо, что вы видите кракозябры. Можно выявить такие файлы и исправить тэги, например той же Mp3Tag:
https://docs.mp3tag.de/actions/convert-codepage/