| View previous topic :: View next topic |
| Author |
Message |
Destiny
Joined: 15 Dec 2015 Posts: 311
|
(Separately) Posted: Tue Dec 30, 2025 12:14 Post subject: |
|
|
| Orion9 wrote: | | AkulaBig wrote: | | Тут интерес в недокументированных полях. Сведений о которых нет нигде в документации MediaInfo. |
Как нет? А если у Ы.Ы. спросить?
|
Да и спрашивать не обязательно - исходники почитал и всё понял.
НО! вопрос тут не в том - чтобы изучать новое, раскрывать грани мироздания, а в том, чтобы убедиться в том, что САМА
библиотека предоставляет ВСЮ полноту данных о том, ЧТО именно она само по себе в состоянии узнать/собрать/рассчитать
при анализе входного потока. И вроде как для этого в рамках доступного места есть 1 путь, вышеописанный, где в строгом формате
CSV файлов и как бы перечислены все поля, которыми может оперировать библиотека во время операции анализа...
Ну, так думалось ранее. А оказалось - что там есть пропуски данных. ИЛИ же мы не совсем верно интерпретируем факт наличия
некоторой новой функциональности кода библиотеки. Возможно разрабы считают, что данные новые поля НЕ должны являться
стандартными и общедоступными полями, а потому, если даже пользователь их и увидит, то он не должен обращать внимания,
разбираться в их значениях - короче он должен их пропускать. Ну а мы вот зацепились глазками... Дотошные попались)))
НО, просто потому, что исторически все данные выводятся в одной таблице как бы - то эти новые поля вынуждено оказываются
среди всех других полей, чётко задокументированных и просто понятных. Т.е. да - мы их можем увидеть - но использовать типа
их нам не стоит вероятно, углубляться в смысл их значений - не стоит. И т.д.....
P.S.
Ещё я нашел упоминание этих полей в файле "master branch":\Source\Resource\Text\Language\DefaultLanguage.csv |
|
| Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 977
|
(Separately) Posted: Tue Dec 30, 2025 12:26 Post subject: |
|
|
Destiny
AkulaBig
Может я просто невнимательно читал топик на руборде, но не совсем понял, к чему эта тема с полями вообще возникла в контексте данной задачи.
Что же касается самих полей, так известно же, что MediaInfo плохо документирована, Loopback об этом тоже писал, т.ч. неудивительно.
Тем не менее, ИИ откуда-то черпает информацию, а значит она где-то всплывала, возможно в менее официальных источниках, форумах, обсуждениях и прочих.
В целом, считаю ИИ довольно полезным современным инструментом. В последнее время часто им пользуюсь. |
|
| Back to top |
|
 |
Destiny
Joined: 15 Dec 2015 Posts: 311
|
(Separately) Posted: Tue Dec 30, 2025 14:09 Post subject: |
|
|
| Orion9 wrote: | | В целом, считаю ИИ довольно полезным современным инструментом |
Он бы еще не делился на платный/бесплатный. И доступ был без всяких квн'ов.
Ибо разница всё же есть и весьма ощутимая даже при обычном поисково-постанализируемом запросе... А уж молчу про попытки сделать обработку кода. |
|
| Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 977
|
(Separately) Posted: Tue Dec 30, 2025 17:18 Post subject: |
|
|
Destiny
Да полно вам, какой платный... Обычный Google ИИ Заметил правда нюанс: вопросы лучше на английском задавать — шансов будет больше на адекватный ответ )
 How good is MediaInfo documented? Documentation for MediaInfo in 2025 is widely considered
adequate for general use but lacking in depth for advanced developers.
For General Users (GUI & CLI)
Availability: Good. Official guides, FAQs, and a clear list of supported metadata fields (Container, Video, Audio, Text, Chapters) are readily available.
Ease of Use: The tool provides human-readable reports (Text, HTML) and structured data (XML, JSON) that are well-understood by the community.
Third-Party Resources: There is extensive community documentation, including video tutorials and Mastery Guides (e.g., CLI Mastery, Output Formats Guide) published as recently as mid-2025.
For Developers (SDK & API)
Core Issues: The official API and SDK documentation is often cited by the developers themselves as "seriously lacking". Specifically, there is a lack of detailed descriptions for the thousands of internal metadata fields and their differences.
Status of Improvement: A long-standing feature request for better usage documentation exists, but as of late 2025, official progress on this front remains limited (estimated at 2% completion for certain documentation goals).
Bindings: Modern language bindings like mediainfo.js have their own dedicated API documentation, which is often clearer than the core library documentation. |
|
| Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 466
|
(Separately) Posted: Tue Dec 30, 2025 17:19 Post subject: |
|
|
| Orion9 wrote: | | Может я просто невнимательно читал топик на руборде, но не совсем понял, к чему эта тема с полями вообще возникла в контексте данной задачи. |
Скорей вы не до конца прочитали тему. Не зря у вас ссылка на первую страницу обсуждения, а я далее выложил свои скрины и исследования.
А поиск меня вообще не интересует. Так что все-же возможно, вы действительно недопоняли, что я хочу.
Я хочу получить список ВСЕХ поддерживаемых библиотекой MediaInfo полей. Поэтому и обращаюсь к Loopback. У него в ридми к плагину есть ссылка на скрипт для получения списка всех полей из библиотеки. И хотелось узнать, актуальный он или нет.
Destiny объяснил, что этот скрипт берет данные не из библиотеки, а из файлов csv. То-есть верить ему нельзя.
Вообще конечная моя цель узнать, для каких расширений работают эти поля и сделать пользовательские колонки. Но похоже это бесполезно.
Destiny
Если вы посмотрите мои скрины на руборде, увидите, что для полей Conformance* даже перевод есть в языковом файле. Почему их нет в доках, загадка. А вот название поля IsTrunced почему-то отображается не буквами, а цифрами. |
|
| Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 977
|
(Separately) Posted: Tue Dec 30, 2025 17:44 Post subject: |
|
|
AkulaBig
Дочитать то я дочитал, но я не понял с чего вдруг взялся переход на эти поля в контексте указанной задачи.
Пока у меня открыта вкладка чата c ИИ:
 MediaInfo how to get all the supported fields and their descriptions? | Code: | To get all supported fields and their technical descriptions in 2025, you can use several methods depending on whether you prefer the command line, official web resources, or looking at the source code.
1. Command Line (Most Precise)
The most direct way to see every parameter available for your specific version is through the MediaInfo CLI. Use the following command:
bash
mediainfo --Info-Parameters
What it provides: A massive list of every valid parameter name (e.g., BitDepth, ChromaSubsampling, FrameRate_Mode).
Format: The output is grouped by stream type (General, Video, Audio, Text, Other, Image, Menu) and includes the field name followed by a short technical description or its meaning.
2. Official Web Resources
If you prefer a searchable table format, the MediaArea website maintains a list of common fields:
Supported Fields Table: You can view the MediaInfo Fields page for a categorization of tags and technical metadata.
API Documentation: For developers, the mediainfo.js API reference provides structured lists of parameters for modern web implementations.
3. Key Field Categories (Summary)
MediaInfo organizes its thousands of fields into seven "Stream Kinds":
General: Basics like FileSize, Duration, Format, and container-level tags (Title, Director).
Video: Deep technicals like Width, Height, ColorSpace, TransferCharacteristics, and BitDepth.
Audio: Codec details such as SamplingRate, Channel(s), Compression_Mode, and Language.
Text: Subtitle-specific metadata like Format, Language, and CodecID.
4. Advanced Field Discovery
If you want to see exactly which fields are actually populated in a specific file, use the "Full" view:
bash
mediainfo --Full input.mp4
This will skip the theoretical list and show you every single piece of metadata that MediaInfo was able to extract from your actual media file. |
И Loopback не нужен Шутка) |
|
| Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 466
|
(Separately) Posted: Tue Dec 30, 2025 21:04 Post subject: |
|
|
Orion9
Еще раз. Мне нужен список всех полей MediaInfo. Описываемые поля не входят ни в один вывод.
Как еще это объяснить?
Понял. Приведите мне список полей, в котором будут присутствовать эти поля. Не из файла, в котором они появятся, если присутствуют. А информационный список ВСЕХ полей.
А если вы приведете описание, какие расширения поддерживают эти поля, это будет главная цель. |
|
| Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 977
|
(Separately) Posted: Wed Dec 31, 2025 00:02 Post subject: |
|
|
AjulaBig
Последний пост был просто шуткой, ну что вы в самом деле )
Если уж ИИ не знает, что ответить, то я то чем могу помочь? Еще одна шутка )
Будем ждать Loopback. В конце концов это его тема, его скрипт. Наверняка ему как автору есть, что сказать. |
|
| Back to top |
|
 |
Destiny
Joined: 15 Dec 2015 Posts: 311
|
(Separately) Posted: Wed Dec 31, 2025 00:25 Post subject: |
|
|
| AkulaBig wrote: | | для полей Conformance* даже перевод есть в языковом файле. Почему их нет в доках, загадка |
потому что мы не знаем workflow команды разработчиков. Я же выше показал список слов для перевода:
"master branch":\Source\Resource\Text\Language\DefaultLanguage.csv
и там само сочетание букв)) так скажем - присутствует. А переводы зависят от другой? команды разработчиков?
Потому как итогово перевод есть лишь по пути: MediaInfo_GUI_25.10_Windows.exe\Plugin\Language\ru.csv
Равно как и перевод для других языков. НО в исходниках кодов библиотеки языков/переводов нет вообще!
Они как-то сторонним образом приплетаются на этапе сборки итогового *.ехе релиза.
| AkulaBig wrote: | | моя цель узнать, для каких расширений работают эти поля |
В кодах библиотеки вызовы наполнения массивов Conformance к примеру прописаны для AAC, USAC(xHE-AAC), MPEG4, HEVC типов.
| AkulaBig wrote: | | А вот название поля IsTrunced почему-то отображается не буквами, а цифрами. |
IsTruncated для начала
И для него есть интересная фигня:
| Code: | if (strcmp(StreamKind, "General") == 0) {
ToAdd = "IsTruncated;;; Y YIY;;; Indicate if the file is detected as truncated\n";
} |
Т.е. на моменте исполнения помимо данных из файла General.csv в памяти будет ДОбавлена строка с пояснением этого поля.
Т.е. вот изначально его в кодах библиотеки нет - а вот у пользователя - при первой попытке вызова/инициализации библиотеки -
вдруг и появится на моменте работы. Во внутренних структурах! В файл это так и не будет перезаписано!
Собственно это же и поясняет ваш вопрос - попытка перевести строковый объект ломается - по причине нахождения его лишь
в памяти - и этот адрес в памяти процесса и подставляется как результат "перевода". |
|
| Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 466
|
(Separately) Posted: Wed Dec 31, 2025 04:08 Post subject: |
|
|
| Destiny wrote: | к примеру прописаны для AAC, USAC(xHE-AAC), MPEG4, HEVC типов.
|
С руборды:
| Code: | Поиск по исходникам с MEDIAINFO_CONFORMANCE намекает на AAC, AC3, DTS, PCM, контейнеры MPEG4 и что-то ещё из того, что пройдёт через Source/MediaInfo/File__Analyze.cpp. Вроде бы ещё что-то было с AVC, HEVC и FFV1, но мог неверно понять. |
А я при тестировании получил MP3, MOV, 669. Это из имеющихся у меня.
То-есть речь идет о ценности этих полей. Поддержка ими формата MP3 конечно ценна. А вот ради MOV, 669 никакого смысла пихать эти поля в сборку ТС нет. Говорю только про себя.
| Destiny wrote: | | этот адрес в памяти процесса и подставляется как результат "перевода". |
Теперь понятно. Очень интересно.
Добавлено спустя 3 минуты:
| Orion9 wrote: | | Будем ждать Loopback. В конце концов это его тема, его скрипт. |
Вроде уже и без него выяснили, что его скрипт данные не из библиотеки берет. Но конечно дождемся оф. подтверждений. |
|
| Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 977
|
(Separately) Posted: Wed Dec 31, 2025 13:08 Post subject: |
|
|
| AkulaBig wrote: | | Но конечно дождемся оф. подтверждений. |
Да.
Когда я говорил, что "это тема" Loopback, я не имел в виду только тему на форуме. Он уже 16 лет занимается всей темой MediaInfo и скорее всего не раз заглядывал в исходники, даже с автором, насколько я помню, переписывался.
Обращаться к исходникам на С++ лично для меня сложно. Хорошо, что есть такие пользователи, как Destiny, которые могут это сделать и найти корни проблемы. По-другому и нельзя, даже ИИ это выше световал:
| Quote: | | you can use several methods depending on whether you prefer the command line, official web resources, or looking at the source code |
Вообще услуги ИИ довольно прикольная вещь. Сейчас ради интереса спросил, как найти в Everything все фото с датой съемки равной дате файла (задача поставленная coolpunk), и мне ответили! ))
 everything exif search In 2025, searching for EXIF metadata depends on whether you are looking for local files on your computer or images on the web.
1. Using "Everything" Search (voidtools)
The Everything 1.5 desktop application can index and search detailed EXIF and XMP metadata.
To Add Columns: Right-click the result list header → Add columns... → select the desired EXIF property (e.g., Date Taken, ISO, Camera Model).
To Index for Fast Search: Go to Tools → Options → Properties → Add... → Select the EXIF tags you want Everything to remember.
Search Examples:
date-taken:2025 (finds photos taken this year).
focallength:50mm (finds photos with specific lens settings).
 can date-taken field compare to filedate in everything Yes, you can compare the
Date Taken field to file system dates like Date Modified or Date Created in Everything 1.5 (Alpha/Beta).
Comparison Syntax
In Everything 1.5, you can use comparison operators between two property names:
Match exactly: date-taken:==dm: (finds files where the EXIF "Date Taken" is identical to the file's "Date Modified").
Greater than: date-taken:>dm: (finds files where the EXIF date is newer than the last file modification).
Less than: date-taken:<dm: (finds files where the EXIF date is older than the last file modification).
Critical Setup
For these searches to be instant, you must index the Date Taken property:
Go to Tools → Options.
Select Properties on the left.
Click Add..., search for "Date Taken," and select it.
Ensure Fast Sort is checked for this property to enable high-speed comparisons.
Important Notes for 2025
Precision Issues: Everything compares these values as FILETIME (down to 100-nanoseconds). Because EXIF "Date Taken" often only records down to the second, a direct == match might fail if there are sub-second differences in the file system date.
Resolution Tip: If a direct match returns no results, you can use the search preprocessor or custom columns to format the dates to the same resolution (e.g., matching only year, month, and day).
Field Aliases: In the search bar, dm: refers to Date Modified and dc: refers to Date Created.
 only date without time Everything 1.5, comparing only the date (ignoring the specific time) requires using eval: with specific formatting functions. A direct comparison like date-taken:==dm: often fails because it compares values down to the 100-nanosecond level.
To compare only the Year, Month, and Day, use the following syntax in the search bar:
The "Date Only" Comparison String
text
eval:formatfiletime($date-taken:,"YYYYMMDD")==formatfiletime($dm:,"YYYYMMDD")
Используйте код с осторожностью.
Breakdown of the Query:
eval:: Tells Everything to evaluate a complex expression for every file.
formatfiletime(..., "YYYYMMDD"): This function extracts only the date portion into a sortable text string (e.g., "20251231").
$date-taken: and $dm:: The dollar sign prefix tells Everything to use the property value of the current file being scanned.
==: Performs the comparison between the two formatted strings.
Performance Tip
For this search to be fast in 2025, you must index the properties beforehand:
Go to Tools → Options → Properties.
Add Date Taken and ensure Date Modified (dm) is indexed.
Check Fast Sort for both to ensure the eval: function can pull the data instantly from the database rather than reading each file from the disk.
Alternative: Custom Columns
If you prefer a visual check, right-click your result headers and select Add Column.... Set the "Formula" for a custom column to formatfiletime($date-taken:,"YYYY-MM-DD") to see the clean date side-by-side with your file dates.
Проверил — все работает. Правда Everything пришлось обновить до 1.5, а так всё норм.
Как говорится: просите и вам ответят  |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|